任何人都知道如果在这台计算机的中心有一台计算机,我们如何在2台计算机之间进行连接
在更好的情况下我想连接到linux pc,但这2个电脑不能看到对方 所以有一个解决方案我有一个其他的Linux电脑,这可以看到另外2个电脑!因此,使用此pc可能有任何iptables规则用于转发数据包
我希望在端口5050上从PC 1连接到PC 3 然后pc1可以连接到pc2,pc2可以连接到端口5050上的pc3然后重放步骤 pc3必须重播到pc2,pc2必须将收到的数据包转发到pc1
为了更好地理解,请参阅:
1 --> 2 --> 3
1 <-- 2 <-- 3
所有的PC OS都是Centos 5.7
我认为iptables可以做到这一点,但我在谷歌找不到任何参考或帮助, 所以任何人都可以帮助我?
答案 0 :(得分:1)
如果您需要一个端口:
1 (addr 1.1.1.1)
2 (addr 1.1.1.2,3.3.3.2)
3 (addr 3.3.3.3)
on 2:
iptables -t nat -A PREROUTING -s 1.1.1.1 -p tcp --dport 5050 -j DNAT --to-destination 3.3.3.3
iptables -t nat -A PREROUTING -s 3.3.3.3 -p tcp --dport 5050 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A POSTROUTING -d 3.3.3.3 -p tcp --dport 5050 -j SNAT --to 3.3.3.2
iptables -t nat -A POSTROUTING -d 1.1.1.1 -p tcp --dport 5050 -j SNAT --to 1.1.1.2
答案 1 :(得分:0)
首先启用IP转发。然后输入以下命令:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state --state 相关,已建立-j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT