VPN iptables转发:networking到networking

我试图去看看这个网站的其他地方,但我找不到任何匹配这个问题的东西。 现在我的本地networking和远程networking之间有一条ipsec隧道。

目前,运行Openswan ipsec并打开隧道的本地盒可以ping远程ipsec盒和远程networking中的任何其他计算机。 login到远程计算机时,我可以ping任何本地networking中的盒子。 这是什么工作,这是什么不:

我不能通过不是ipsec框的本地机器ping任何远程计算机。

以下是我们的networking图:

[local ipsec box] ----------\ \ [arbitrary local computer] --[local gateway/router] -- [internet] -- [remote ipsec box] -- [arbitrary remote computer] 

本地ipsec盒和任意本地计算机没有直接联系,而是通过网关/路由器进行通信。 路由器已经被设置为将来自本地计算机的远程子网的请求转发到ipsec框。 这工作。

问题是ipsec盒不转发任何东西。

每当任意一台本地计算机在远程子网上ping一些东西时,就是这样的回应:

 [user@localhost ~]# ping 172.16.53.12 PING 172.16.53.12 (172.16.53.12) 56(84) bytes of data. From 10.31.14.16 icmp_seq=1 Destination Host Prohibited From 10.31.14.16 icmp_seq=2 Destination Host Prohibited From 10.31.14.16 icmp_seq=3 Destination Host Prohibited 

这里是traceroute:

 [root@localhost ~]# traceroute 172.16.53.12 traceroute to 172.16.53.12 (172.16.53.12), 30 hops max, 60 byte packets 1 router.address.net (10.31.14.1) 0.374 ms 0.566 ms 0.651 ms 2 10.31.14.16 (10.31.14.16) 2.068 ms 2.081 ms 2.100 ms 3 10.31.14.16 (10.31.14.16) 2.132 ms !X 2.272 ms !X 2.312 ms !X 

这是我们的ipsec盒到达的IP,但是没有被转发。

在IPSec框中,我​​在/etc/sysctl.conf中启用了IP转发net.ipv4.ip_forward = 1

我试图设置IPTables来转发:

 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [759:71213] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 500 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 4500 -j ACCEPT -A INPUT -m policy --dir in --pol ipsec -j ACCEPT -A INPUT -p esp -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -s 10.31.14.0/24 -d 172.16.53.0/24 -j ACCEPT -A FORWARD -m policy --dir in --pol ipsec -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT 

我在IPTables中缺less规则吗? 有什么我忘了吗?

注意:所有机器都在运行CentOS 6.x编辑:注2:eth1是本地ipsec盒上唯一的networking接口。

在环顾四周后,我决定重新考虑一下我的方法,注意到一个非常痛苦的错误。 172.16.53.0/24应该是172.16.53.0/28 。 像现在的魅力一样。 故事的道德:确保你有你的子网地址,伙计们!