我是iptables和NAT的新手。 但是我正在通过网上和书籍上的各种材料进行研究。 我对使用iptables的NAT实现有疑问。
让我们假设我的networking情况如下所示。
linuxbox2 (10.0.0.3) | | linuxbox1-------- Switch ----- INTERNET (10.0.0.2) (194.160.1.1)
我的Linux机箱1和2通过交换机连接到互联网,我只有一个公共IP地址(194.160.1.1)。 但是沟通有点奇怪 box2不通过开关直接连接到外界。 但它是在box1的vlan中。 因此,从box2的交易到box1,然后向下移动以切换到外部世界。 我们在box1上玩
既然我们试图伪装成相同的公有IP地址,那么iptable中的规则应该是什么。
我的问题可能是奇怪的,但我无法解释它clealry …
在更多的细节和输出开始一个新的线程
iptables和SNAT
如果我能很好地理解你的问题,那么方框2在方框1的VLAN中,而方框1在另一个可以访问因特网的VLAN中。
假设第一个VLAN是例如VLAN 100,第二个VLAN是VLAN 200,我假设您在Box 1上正确configuration了VLAN,因此您有两个VLAN(通常为eth0.100和eth0.200)的networking接口。
在这种情况下,解决scheme很简单,方框1:
iptables -t nat -A POSTROUTING -o eth0.200 -j MASQUERADE
使用此命令,Box 1将在VLAN 200上将数据包伪装成互联网。因此,当Box 2将数据包发送到VLAN 100上的Box 1时,Box 1将将数据包转发到VLAN 200。
确保在Box 1上启用IP转发( sysctl -w net.ipv4.ip_forward=1 )。