2012-04-05 9 views
0

誰もがより良い場合は、この2コンピュータが前方とNAT rulsをiptablesの

の中央にあるコンピュータは、私が一緒にLinuxのPCに接続したいのですが、この2 PCが見ることができないならば、我々は2コンピュータとの間でたっを作ることができる方法を知っていますお互いが だから私は別の2PCを見ることができる1つの他のLinuxのPCを持っているソリューションがあります!これが、前方のパケットのための任意のiptablesのルールは、PC1がPC2およびPC2に接続することができ、私はポート5050 上のPC 3にPC1から接続する場合は、このPC

で可能であるリプレイステップ で、ポート5050上でPC3に接続することができますPCのOSのすべてが、私はiptablesのは、それを行うことができると思いCentOSに5.7

ある

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

:PC3はPC2がより良い理解を参照してください

をPC1に受信したパケットを転送しなければならないPC2する再生する必要があります、しかし、私は参照や助けを見つけることができませんでしたグーグルでは、 だから誰も私を助けることができますか?

答えて

1

あなたは一つのポートが必要な場合:2で

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

:すべての

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

のiptables -j ESTABLISHED -A FORWARD -i eth1の-o eth0の-m状態--state 関連し、MASQUERADE

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