【问题标题】:Ping to subnet on IPsec Host only works with -I parameterPing 到 IPsec 主机上的子网仅适用于 -I 参数
【发布时间】:2011-05-30 15:55:29
【问题描述】:

我有以下情况。两台主机使用 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

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

【问题讨论】:

  • serverfault.com 的好人可能会更好地帮助你:) SO 主要用于编程

标签: routing routes openvpn ipsec


【解决方案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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 2015-03-17
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2018-11-16
      • 2017-02-25
      • 2023-04-05
      相关资源
      最近更新 更多