我想创build到另一个networking的VPN连接,但是我们必须将我们的地址(172.16.0.0/22)映射到一个新的IP,因为目标networking也使用我们的IP。 所以我们试图用NETMAP目标设置这个连接。 我们希望在目的地的3个networking中访问服务:1.1.0.0/17,3.3.0.0/16,5.5.0.0/16(仅举例!)也不可能映射我们的networking1:1,但是我们有只有一个目标networking(192.168.72.1)接受的IP地址。 我configuration了以下nat规则:
Chain eth0_in (1 references) target prot opt source destination NETMAP all -- 1.1.0.0/16 192.168.72.1 172.16.0.0/22 NETMAP all -- 3.3.0.0/16 192.168.72.1 172.16.0.0/22 NETMAP all -- 5.5.0.0/16 192.168.72.1 172.16.0.0/22 Chain eth0_masq (1 references) target prot opt source destination MASQUERADE all -- 172.16.0.0/16 anywhere policy match dir out pol none SNAT all -- 172.16.0.0/16 anywhere policy match dir out pol none to:192.168.72.1 Chain eth0_out (1 references) target prot opt source destination NETMAP all -- 172.16.0.0/22 1.1.0.0/16 192.168.72.1/32 NETMAP all -- 172.16.0.0/22 3.3.0.0/16 192.168.72.1/32 NETMAP all -- 172.16.0.0/22 5.5.0.0/16 192.168.72.1/32
这部分工作。 在iptables重载之后访问的第一个地址工作,但所有其他地址不起作用。 例如
telnet 1.1.0.1 works telnet 3.3.0.1 fails
– 重新加载所有的iptables
telnet 3.3.0.1 works telnet 1.1.0.1 fails
哪里不对? 是否可以将networking映射到多个目的地的一个IP?
与系统上也configuration了一个ipsec隧道有一些不必要的交互。 禁用之后,netmap按照预期完美工作。 经过一番检查,我们发现在政策层面的错误,这是设置为需要而不是唯一的。 再次用“unique”来启用ipsec隧道解决了这个问题。