
ゲートウェイ マシン (192.168.0.1) に次の iptables ルールがあります。ポート 192.168.0.1:80 を 192.168.0.2:8080 に転送したいのですが、元のサーバーがクライアント IP を取得できるように、元のソース IP を維持する必要があります。次のルールがありますが、これによりクライアントのソース IP が変更されます。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8080
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 --dport 8080 -j SNAT --to-source 192.168.0.1
このシナリオで使用する他のルールはありますか?
答え1
SNAT ルールを含む 2 行目を削除してみてください。そのルールは必要ありません。
また、ネットワーク カードはいくつありますか? 2 台のマシン 192.168.0.2 と 192.168.0.1 は同じネットワーク上にありますか? その場合、マシン 192.168.0.2 は、TCP ポート 8080 で受信したパケットを転送するためにどのルートを使用しますか? このパケットはどのようにルーティングされますか?