VPN - Ubuntu 无法 ping 服务器,但 Windows 可以

VPN - Ubuntu 无法 ping 服务器,但 Windows 可以

作为客户端,我在 Ubuntu 上使用 VPN 连接时遇到问题。在 Windows 上运行良好。Ubuntu 未收到路由表...

设想:

服务器:带有 Strongswan (Ipsec、IKEv2) 的 Centos 7

静态 IP 设置为 10.0.77.1

/etc/sysconfig/网络脚本/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
[email protected]
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

答案1

我意识到,当我停止 iptables 时,它就起作用了。

经过几个小时的尝试,我找到了一条可以解决问题的 iptables 规则:

iptables -I INPUT -m policy --pol ipsec --dir in -j ACCEPT

现在我可以从 Ubuntu ping 主机并在服务器上打开 TCP 连接。

相关内容