0

我有以下情况。两台主机使用 Strongswan IpSec 通过 Internet 连接两个子网

  • 主机 1 子网 10.13.0.0/24 的路由器
  • 主机 2 是租用的专用 Ubuntu 服务器,没有子网(ifconfig 说子掩码是 Mask:255.255.255.255)
  • 主机 2 还使用 OpenVpn 托管另一个子网。该子网是 192.168.23.0/24
  • 主机 2 在该子网上有 192.168.23.1 作为 Ip。

当做 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

这是可能的,有一些额外的配置。不幸的是,我不控制另一边的配置,所以它对我不起作用。

4

2 回答 2

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
于 2013-01-26T22:44:52.973 回答
0

mighq 解决了这个问题,但在寻求解决方案时走错了方向(或者也许 3 年前,正确的方向太难达到了)。

问题:您已经将防火墙配置为允许出站数据包发送到默认网关,但是您没有在网络列表中包含作为最终接口的端点。

解决方案:通过 /32 或 /128 掩码网络将上行链路 IP(路由器用于与默认网关通信的地址)添加到左/右网络列表。

于 2016-09-23T03:38:28.620 回答