Linux豆知識 092

IPフォワード(IP Forward)

公開日:2011年11月18日

今回は、「IPフォワード(IP Forward)」について。前回、「ルーティング」について取り上げました。今回の話題は、そのルーティングをLinuxマシンで実現しようという話です。

Linuxのマシンに2枚のNIC(ネットワークインターフェイス)を差し、ホストが2つのネットワークに接続されているものとします。このとき、通常は、パケットは2枚のインターフェイスを超えて届くことはなく、片方のNICでやりとりするパケットは、もう片方のNICではやりとりされることはありません。

ここで、「IPフォワード」という技術が用意されています。この技術は、その名の通り、2つのNICの間でパケットを転送するという技術です。これにより、パケットが異なるネットワークの間を往き来できるようになります。

LinuxでIPフォワードを有効にするには、「/etc/sysctl.conf」ファイルに、「net.ipv4.ip_forward=1」という記述を行い(デフォルトではnet.ipv4.ip_forward=0)、ネットワークを再起動します。

これだけでは、あくまで2つのNIC間でパケットが転送できるようになっただけで、適切な通信が行われるようになったわけではありません。前回紹介したルーティングテーブルを適切に設定する必要があります。このためにはrouteコマンドを利用します。また、当然のことですがNICの設定が適切である必要があります。ここの詳細は、今回は割愛します。

実は、これらの設定を行い(プラス、プロバイダーとの接続を行う)、IPマスカレードの設定を行うだけで、簡単なルーター・・・少なくとも、一般の家庭や小規模なオフィスのゲートウェイとして利用することはできます。
が、このまま利用するのは、セキュリティ上の問題があるため、あまりお勧めできません。ここに、さらにセキュリティ上の施策を行うことで、セキュリティ上も強固なゲートウェイが出来あがります。次回は、そのあたりを紹介したいと思います。


ページトップへ