次のページ 前のページ 目次へ

9. 送信元 NAT とルーティング

SNAT を行う場合、SNAT されたパケットの宛先になるどのマシンも、 そのリプライを NAT ボックスにちゃんと送り返すようにしたいはずです。 例えば、特定の送信パケットに対して、送信元アドレスを 1.2.3.4 にマッピングする設定を行う場合は、NAT ボックスの外側にあるルータが、 リプライ・パケット(宛先が 1.2.3.4)を、この NAT ボックスに送り返すようにしなくてはなりません。 これは以下のような方法で実現されます:

  1. (ルーティングなど諸々が既に稼動している)NAT ボックス自身のアドレスに SNAT マッピングしているなら、あなたは何もする必要はありません。
  2. ローカル LAN 上で利用されていないアドレスに SNAT マッピングするなら (例えば、1.2.3.0/24 ネットワーク上で、空き IP アドレスである 1.2.3.99 にマッピングする)、NAT ボックスは、自分自身のアドレスに対する ARP リクエストに加え、そのマッピングしたアドレスに対する ARP リクエストにもレスポンスを返す必要が出てきます。これを行うには、 以下の例のように IP alias を作成するのが最も簡単な方法です。
    # ip address add 1.2.3.99 dev eth0
    
  3. 全く異なるアドレスに SNAT マッピングするなら、SNAT されたパケットを受信するマシンが、パケットを NAT ボックスにルーティングをすることになります。これは、NAT ボックスがデフォルト・ゲートウェイに設定されていれば そのままでうまくいきますが、そうでなければ (ルーティング・プロトコルを動かしている場合)経路を広告するか、 さもなくば関連するマシン毎に経路を手動で追加してやる必要があります。


次のページ 前のページ 目次へ