Linux

IPSEC/LT2P 有哪些埠?

  • April 23, 2021

我有一個防火牆/路由器(不做 NAT)。

我用Google搜尋並看到了相互矛盾的答案。似乎UDP 500是常見的。但是其他的很混亂。1701、4500。

有人說我還需要允許 gre 50、47 或 50 和 51。

好的,哪些埠是 IPSec/L2TP 在沒有 NAT 的路由環境中工作的正確埠?即,我想使用內置的 Windows 客戶端連接到此路由器/防火牆後面的 VPN。

也許這裡一個好的答案是指定針對不同情況打開哪些埠。我認為這對很多人都有用。

以下是埠和協議:

  • 協議:UDP,埠 500(用於 IKE,用於管理加密密鑰)
  • 協議:UDP,埠 4500(用於 IPSEC NAT-Traversal 模式)
  • 協議:ESP,值 50(用於 IPSEC)
  • 協議:AH,值 51(用於 IPSEC)

此外,L2TP 伺服器使用埠 1701,但不應允許從外部入站連接。有一個特殊的防火牆規則,僅允許 IPSEC 安全流量在此埠上入站。

如果使用 IPTABLES,並且您的 L2TP 伺服器直接位於 Internet 上,那麼您需要的規則是:

iptables -A INPUT -i $EXT_NIC -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 50 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 51 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT

$EXT_NIC您的外部網路介面卡名稱在哪裡,例如 ppp0。

引用自:https://serverfault.com/questions/451381