我有以下情况。两台主机使用Strongswan IpSec
通过Internet连接两个子网什么时候ping -I 192.168.23.1 10.23.23.23我可以到达其他服务器。当我做ping 10.23.23.23它不起作用。在192.168.0./24网络中的所有其他客户端上,ping确实有效。
我必须添加哪个路由条目才能使其正常工作?因为现在主机本身无法到达另一方的客户端。
更多信息: host2有两个接口:eth0和tun0(对于openvpn)
host2上的ipconfig如下所示:
charonstart=yes
plutostart=yes
left=host2externalIp
leftsubnet=192.168.23.0/24
leftnexthop=host2router
right=remoteIp
rightsubnet=10.13.0.0/24
在这里找到答案:http://www.freeswan.org/freeswan_trees/freeswan-1.99/doc/adv_config.html#multitunnel
有可能,有一些额外的配置。不幸的是,我不能控制另一方的配置,所以它对我没用。
答案 0 :(得分:1)
它没有ping,因为从host2 ping时,ping使用你的公共IP地址(来自eth0)作为源。
IPSec的内核规则说,只有来自192.168.23.0/24 =>的流量10.13.0.0/24正在通过该隧道。
您需要添加NAT才能使其正常工作,例如:
iptables -t nat -A POSTROUTING ! -s 192.168.23.0/24 -d 10.13.0.0/24 -j SNAT --to-source 192.168.23.1
答案 1 :(得分:0)
mighq确定了问题,但是朝着错误的方向寻求解决方案(或者3年前,正确的方向难以实现)。
问题:您已经将防火墙配置为允许出站数据包输出到默认网关,但是您没有包含作为网络列表中最终接口的端点。
解决方案:通过/ 32或/ 128屏蔽网络将上行链路IP(路由器用于与默认网关通信的地址)添加到左/右网络列表。