4

私が達成しようとしていること:

(1) iptables の使用 (2) イーサネット インターフェイス (3) ループバック インターフェイス (1 台のマシンのみを使用) によるすべての NAT シナリオ (フル コーン、ポート制限など) のテスト/構成

次の構成をセットアップします。

Linux BOX で 1 つの VM を実行しており、次の構成を実行しています。

Linux ボックスの IP は次のとおりです。192.168.0.4

Linux ボックス仮想ボックスゲートウェイ IP は次のとおりです。192.168.56.1

Linux ボックス192.168.56.1の (プライマリ) および(セカンダリ) でStun Server Binded を実行する192.168.0.4

の VM で Stun Client を実行し (上記の Linux サーバーで実行)、127.0.0.1:2000iptables ルールを構成して、ループバック インターフェイス トラフィックをイーサネット インターフェイス ( 192.168.56.102) に、またはその逆に転送します。

期待される結果

ホスト上で実行されている STUN サーバーと VM 上で実行されている Stun クライアントの iptables/ethernet/loopback インターフェイスを介して、各 NAT シミュレーションを構成できるはずであり、NAT のタイプを通知する必要があります。

実結果

iptablesは、ループバック インターフェイス ソケットに出入りするパケットを処理せずに、次のエラーで失敗します: "エラー 22 無効な引数" ソケットがバインドされて127.0.0.1:2000おり、宛先アドレスが次のとおりであるため192.168.56.1

要するに以下を参照してください

[Loopback-Interface(127.0.0.1 :2000 / *Running STUN Client*/ VM) -->[*IPTABLES RULES TO/FROM*] <-- Ethernet-Interface(VM -- 192.168.56.102:2000) ==>|| ==> HOST(Gateway - 192.168.56.1:3478 - *Running STUN Server*)] :: 

例 ルー​​ル ::

sudo iptables -t nat -A POSTROUTING -o eth0 -p udp --source 127.0.0.1 --sport 2000 -j SNAT --to-source 192.168.56.102 

sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp --source 127.0.0.1 --sport 2001 -j SNAT --to-source 192.168.56.102 
sudo iptables -t nat -A PREROUTING -i eth0 -p udp --destination 192.168.56.102 --dport 2000 -j DNAT --to-destination 127.0.0.1 

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --destination 192.168.56.102 --dport 2000 -j DNAT --to-destination 127.0.0.1 

iptables がループバック インターフェイスからパケットを選択しないようです

参考文献 : http://www.linuxquestions.org/questions/linux-networking-3/iptables-redirect-127-0-0-1-to-192-168-1-113-a-818817/

これについて助けてくれる機関があれば教えてください。

4

0 に答える 0