IPマスカレードの目的は、ネットワーク上のプライベートでルーティング不可能なIPアドレスを持つマシンが、マスカレードを行っているマシンを介してインターネットにアクセスできるようにすることです。プライベートネットワークからインターネットに向かうトラフィックは、要求を行ったマシンに返信できるように操作する必要があります。これを行うには、カーネルは ソース 各パケットのIPアドレスは、要求を行ったプライベートIPアドレスではなく、インターネット上では不可能な応答を返すようになっています。 Linuxの使用 接続トラッキング (conntrack)を使用して、どの接続がどのマシンに属しているかを追跡し、それに応じて各戻りパケットを再ルーティングします。プライベートネットワークを離れたトラフィックは、Ubuntuゲートウェイマシンから発信されたものとして「偽装」されています。このプロセスは、Microsoftのドキュメントでインターネット接続の共有と呼ばれています。
IPマスカレードの手順
これは1つのiptablesルールで行うことができます。これはネットワーク構成によって若干異なる場合があります:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
上記のコマンドは、プライベートアドレス空間が192.168.0.0/16で、インターネット接続デバイスがppp0であることを前提としています。構文は次のように分類されます。
- -t nat - ルールはナットテーブルに入ることです
- -A POSTROUTING - ルールはPOSTROUTINGチェーンに追加されます(-A)。
- -s 192.168.0.0/16 - ルールは、指定されたアドレス空間から発信されるトラフィックに適用されます
- -o ppp0 - ルールは、指定されたネットワークデバイス経由でルーティングされるようにスケジュールされたトラフィックに適用されます
- -j MASQUERADE - このルールに一致するトラフィックは、上記のように操作されるMASQUERADEターゲットに「ジャンプ」(-j)することです
フィルタテーブルの各チェーン(デフォルトテーブル、およびほとんどまたはすべてのパケットフィルタリングが行われる)には、デフォルトの ポリシー ただし、ゲートウェイデバイスに加えてファイアウォールを作成している場合は、ポリシーをDROPまたはREJECTに設定している可能性があります。この場合、前述のルールを実行するために、マスカレードされたトラフィックをFORWARDチェーンで許可する必要があります。
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j sudo iptables -A FORWARD -d 192.168.0.0/16 -mステート設定、関連-i ppp0 -j ACCEPT
上記のコマンドは、ローカルネットワークからインターネットへのすべての接続と、それらの接続に関連するすべてのトラフィックを開始したマシンに戻すことができます。
* ライセンス
* Ubuntu Server Guide Index




