SNATとマスカレードの違い


38

SNATとマスカレードの実際の違いは何ですか?

ローカルネットワークでインターネット接続を共有する場合、SNATとMasqueradeのどちらを選択する必要がありますか?

回答:


41

SNATターゲットはそれをすべての発信パケットに適用するIPアドレスを与える必要があります。MASQUERADEターゲットは、あなたがそれにインタフェースを与えることができますし、どんなアドレスそのインターフェイス上にあるすべての発信パケットに適用されているアドレスです。さらに、を使用するSNATと、カーネルの接続追跡は、インターフェイスが停止して再起動したときにすべての接続を追跡します。同じことはMASQUERADEターゲットにも当てはまりません。

良いドキュメントには、NetfilterサイトiptablesmanページHOWTOが含まれています


2
SNATの利点を理解できません。インターフェイスがダウンしたときにカーネルが接続を追跡するかどうかが重要なのはなぜですか?MASQUERADEに関して、netfilterのドキュメントは「しかし、もっと重要なことは、リンクがダウンした場合、接続(とにかく失われている)は忘れられていることを意味します。理にかなっているようですが(グリッチとは何ですか?)SNATを見ると、失われた接続を追跡する利点は何ですか?毎回MASQUERADEを使用してみませんか?
カールG

1
@ CarlG、LANノードからの新しい発信接続が同じLANノードからの切断された発信接続と同じ発信元ポート番号を使用する場合、永続的に追跡される-j SNAT(グーグルでのリサイクル追跡とは対照的に)グリッチが発生すると思い-j MASQUERADEます。その場合、古い発信接続からの着信パケットがノードに送信され、そのTCPスタックが混乱することを想像できます。-j SNATの利点については、NATボックスが同じ外部IPアドレスで構成され、カーネルがRSTで応答する代わりに古い接続からパケットを転送し続けるとどうなりますか?
ウナギghEEz

SNATは、たとえば、発信インターフェイスに複数のIPアドレスが割り当てられていて、NATソースをこれらの特定のものにしたい場合に便利です。
pgoetz

19

基本的に、POSTROUTINGチェーン内のnatテーブルで同じソースNAT SNATMASQUERADE実行します。

違い

  • MASQUERADE--to-source動的に割り当てられたIPで動作するように作成されているため、必要ありません

  • SNAT 静的IPでのみ動作するため、 --to-source

  • MASQUERADE余分なオーバーヘッドがあり、ターゲットがパケットにヒットするSNATたびにMASQUERADE、使用するIPアドレスをチェックする必要があるため、速度が遅くなります。

:典型的な使用例MASQUERADE:VPCのAWS EC2インスタンス、VPC CIDR(10.10.1.0/24など)内にプライベートIPがあります-たとえば10.10.1.100、通信するためにパブリックIPもありますインターネット(パブリックサブネットにあると想定)からプライベートIP 1:1 NAT。インスタンスの再起動後にパブリックIPが変更される場合があります(EIPでないMASQUERADE場合)。この使用例では、より良いオプションです。

重要:MASQUERADE静的IPでターゲットを使用することは可能ですが、余分なオーバーヘッドに注意してください。

参照資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.