2012-04-05 31 views
0

的人都知道,我們怎麼能在這個2的計算機iptables的前進和NAT ruls

較好的情況下,我想連接到Linux的PC一起

中心讓與2臺電腦,如果一臺計算機之間的連接如,但這2 PC無法看到彼此 所以有一個解決方案,我有一個其他的Linux PC這可以看到另外2臺電腦!所以有可能的任何iptables規則爲前向分組與此PC

我想從PC 1連接到PC 3端口5050 然後PC1可以連接到PC2和PC2可以連接到端口5050 PC3然後在重放步驟 PC3必須重播到PC2的PC2必須轉發接收到的數據包到PC1

爲了更好的理解,請參閱:

1 --> 2 --> 3 
1 <-- 2 <-- 3 

所有的PC操作系統是Centos的5.7

我想的iptables可以做到這一點,但我找不到任何參考或幫助在谷歌這樣做, 所以任何人都可以幫助我?

回答

1

,如果你需要一個端口:

1 (addr 1.1.1.1) 
2 (addr 1.1.1.2,3.3.3.2) 
3 (addr 3.3.3.3) 

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 
0

首先啓用IP轉發。然後輸入以下命令:

的iptables -t NAT -A POSTROUTING -o eth1的-j MASQUERADE

是iptables -A FORWARD -i eth1的-o eth0的-m狀態--state 相關,ESTABLISHED -j接受

的iptables -A FORWARD -i eth0的-o eth1的-j ACCEPT