セキュアネットワークアドレス変換(SNAT)
SNAT(Secure Network Address Translation)とは
SNAT(Secure Network Address Translation)は、F5が提供するロードバランサーであるF5 BIG-IP Local Traffic Management(LTM)に実装されている機能です。SNATは受信パケットの送信元IPアドレスを変更し、別のIPアドレスに変換します。BIG-IP LTMには、プライベートIPアドレスとグローバルIPアドレスを1対1でマッピングできるNAT機能も含まれています。SNATはNATとよく似ていますが、複数の変換元アドレスを単一の変換後アドレスにマッピングできるように機能が拡張されています。
SNATでは、アドレス変換に3つの方式を使用できます。
- 1つ以上の変換元アドレスを、特定の変換後アドレスに直接マッピングする方法。
- アドレス変換用に、BIG-IP自体のIPアドレスから1つを自動的に選択する(SNAT Automap)。
- iRulesで明示的に定義されたルールを使用する(Intelligent SNAT)。
SNATの一般的なユースケースは、内部ネットワークのサーバーから送信されるリクエストの送信元プライベートIPアドレスをグローバルIPアドレスに変換することです。ただし、その主な機能は、外部クライアントから受信するリクエストのアドレス変換を処理することにあります。
通常、BIG-IP LTMは外部クライアントからパケットを受信し、事前設定されたルールに従って宛先のグローバルIPアドレスを内部のプライベートIPアドレスに変換してから、サーバーに転送します。サーバーからの応答も通常はBIG-IP LTMを経由し、サーバーの送信元プライベートIPアドレスがグローバルIPアドレスに変換された後、クライアントに送信されます。
ただし、特定のネットワーク構成では、この経路が機能しない場合があります。たとえば、次のような場合です。
- クライアント、BIG-IP、サーバーが同じネットワーク上にあるワンアーム構成では、サーバーからの応答はBIG-IPを経由せず、クライアントに直接送信されます。その結果、サーバーの送信元IPアドレスがクライアントの当初の要求先IPアドレスと一致しないため、クライアントは応答を拒否します。
- BIG-IPがクライアントセグメントとサーバーセグメントを分離する、より複雑な構成でも、BIG-IPではなく中間ルーターがデフォルトゲートウェイとして機能すると、同様のルーティング問題が発生する可能性があります。
SNATは、サーバーからの応答が必ずBIG-IPを経由するようにすることで、これらの問題を解決します。具体的には、受信パケットをサーバーに転送する前に、その送信元アドレスをBIG-IP自身のIPアドレスに変換し、応答がBIG-IP経由で返されるようにします。
