私のローカルトラフィックはNAT処理されていますか?

私のローカルトラフィックはNAT処理されていますか?

次の2つのiptablesルールがあります。

# vmbr0 - WAN bridge, vmbr1 - LAN bridge
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to-destination 10.5.0.250
iptables -t nat -A POSTROUTING -o vmbr1 -p tcp --dport 3306 -d 10.5.0.250 -j SNAT --to-source 10.5.0.1

同じネットワーク上のあるコンピュータ(例:10.5.0.10)が別のコンピュータ(例:10.5.0.11)に接続されると、これらの規則に従ってアドレスは10.5.0.1に変換されます。これは本当ですか?

これを防ぎ、ローカルトラフィックをそのまま維持するにはどうすればよいですか?


仮想化(Proxmox)を使用しています。仮想化ホストには、vmbr0 ブリッジに接続された物理ネットワーク eth0 があります。仮想マシンとコンテナは vmbr1 にのみ接続されます。単一のパブリックIP(ブリッジvmbr0)があるため、「LAN」からパブリックネットワークにサービスを公開するには、vmbr0とvmbr1の間にNATを作成する必要があります。

答え1

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to-destination 10.5.0.250

TCPポート3306に送信されるすべての着信トラフィックの宛先vmbr0アドレスは10.5.0.250に変更されます。

iptables -t nat -A POSTROUTING -o vmbr1 -p tcp --dport 3306 -d 10.5.0.250 -j SNAT --to-source 10.5.0.1

宛先IPが10.5.0.250で、宛先TCPポートが3306のすべての発信トラフィックの送信元vmbr1IPアドレスは10.5.0.1に変更されます。

あなたの「地域交通」はどの橋につながりますか?

いずれにしても、これらの規則に基づいて、宛先ポートが3306 / TCPのトラフィックのみがNAT処理され、他の宛先ポートは変更されません。

vmbr110.5.0.* ネットワークが構成どおりにブリッジに接続されている場合、これらの規則は次のようになります。まったく効果なし10.5.0.10と10.5.0.11の間のすべてのトラフィック。

関連情報