web-dev-qa-db-ja.com

NAT OUTPUTチェーンとNAT POSTROUTINGチェーンの違いは何ですか?

IF Nating is done in OUTPUT chain of the NAT table, then what is the function of SNAT in POSTR

NATテーブルのOUTPUTチェーンでネイティングが行われる場合、POSTROUTINGのSNATの機能は何ですか

3
ArjunCh

diagram をご覧ください。緑のボックスはiptables用、青のボックスはebtables用です(無視してください)。

つまり、OUTPUTチェーンはローカルアプリケーションによって生成されたパケットに対してのみトラバースされ、POSTROUTINGチェーンは他の場所からルーティングされたパケットを含むすべてのパケットによってトラバースされます。

ネットワークアドレス変換(NAT)には2つのサブケースがあります:[〜#〜] s [〜#〜]NATはsourceパケットのアドレス、[〜#〜] d [〜#〜]NAT変換パケットのdestinationアドレス。

nat/PREROUTINGおよびnat/OUTPUTはDNATを実行できますが、nat/POSTROUTINGおよびnat/INPUT(これがまだ機能するかどうかは不明)がSNATを実行できます。 。

6
dirkt

@ x-yuri出力についても混乱しましたNATしかし、最終的には答えがわかりました。プレルーティングとポストルーティングNATは、両方とも外部NATいくつかのパケットがあなたのインターフェースに来るか、それから出て、あなたがしたいときNATアドレス。しかしOUTPUT NATはあなたのローカルネットワーク用ですNAT、つまり、パケットがアプリケーションから始まっているときを意味します。これは、それをよりよく理解するための良い例だと思います。トラフィックのポートとIPアドレスをNginxで行うような透過プロキシとして変更したい場合。次のようなものを使用できます。

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10:8080

ポート80のトラフィックを、ポート8080でリッスンしているネットワーク192.168.100.10の他のホストに送信します。

それが本当のことだと私が望んでいるポイントであり、あなたが求めていたものだと思います

0
Vhaid Khorasani