Ubuntu
VPN - Ubuntu 無法 ping 伺服器,但 Windows 可以
作為客戶端,我在 Ubuntu 上使用 VPN 連接時遇到問題。在 Windows 上執行良好。Ubuntu 沒有收到路由表…
設想:
伺服器:Centos 7 with Strongswan (Ipsec, IKEv2)
靜態 IP 設置為 10.0.77.1
/etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0 BOOTPROTO=static IPADDR=10.0.77.1 NETMASK=255.255.255.0
VPN 配置 - ipsec.conf(僅主要部分):
auto=add compress=yes type=tunnel keyexchange=ikev2 ike=... esp=... fragmentation=yes forceencaps=yes dpdaction=clear dpddelay=300s rekey=no left=%any leftid=@myserver.com leftcert=fullchain.pem leftsendcert=always leftsubnet=10.0.77.0/24 leftsourceip=10.0.77.1/32 right=%any rightid=%any rightauth=eap-mschapv2 rightsourceip=10.0.77.2-10.0.77.9 rightdns=10.0.77.1 rightsendcert=never eap_identity=%identity
因此,伺服器是 10.0.77.1,客戶端將收到 10.0.77.2 和 10.0.77.9(同一子網)之間的 IP。
客戶端:Windows 10
本機客戶端,連接並 ping 10.0.77.1 正常。
路由表:
10.0.0.0 255.0.0.0 10.0.77.17 26 10.0.77.17 255.255.255.255 10.0.77.17 281 10.255.255.255 255.255.255.255 10.0.77.17 281
客戶端:安裝了 Strongswan 的 Ubuntu 20.04
可以正常連接,但是不能ping 10.0.77.1,並且沒有到10的路由條目*
有任何想法嗎?非常感謝。
更新
與路由表無關。感謝@ecdsa:
ip route list table 220
解決方案
我意識到問題與伺服器防火牆有關。一條 iptables 規則解決了這個問題:
iptables -I INPUT -m policy --pol ipsec --dir in -j ACCEPT
我意識到,當我停止 iptables 時,它會起作用。
經過幾個小時的嘗試,我找到了一個解決問題的 iptables 規則:
iptables -I INPUT -m policy --pol ipsec --dir in -j ACCEPT
現在我可以從 Ubuntu ping 主機並在伺服器上打開 TCP 連接。