IPフォワーディングについて
IPフォワーディングは、Linuxシステムが複数のネットワーク間を中継するルーター(またはゲートウェイ)として機能するための設定です。
通常、Linuxシステムは自分宛てのパケットしか受け入れず、それ以外のパケットは破棄します。しかし、IPフォワーディングを有効にすると、異なるネットワークから届いたパケットを、適切な宛先ネットワークへ転送するようになります。
機能の仕組み
IPフォワーディングを有効にしたLinuxシステムは、複数のネットワークインターフェース(例:eth0
、eth1
)を持ちます。
eth0
が内部ネットワークに接続しているとします。eth1
がインターネットなどの外部ネットワークに接続しているとします。
この場合、IPフォワーディングを有効にすることで、内部ネットワークのパソコンから届いたパケットをeth0
で受け取り、そのパケットをインターネットへ転送するためにeth1
から送信する、という中継機能が実現します。
主な用途
IPフォワーディングは、以下のような場面で使われます。
- ルーター/ゲートウェイ: 内部ネットワークのデバイスがインターネットに接続するためのゲートウェイとして機能させる。
- VPNサーバー: VPNクライアントからのトラフィックを、サーバー経由で他のネットワークへ転送する。
- ファイアウォール: 複数のネットワークセグメントを分離し、トラフィックをフィルタリングする。
一時的にIPフォワーディングに有効にする
一時的にIPフォワーディングを有効にするには、以下のコマンドで有効になります。
但し、再起動するともとにもどります
# echo 1 > /proc/sys/net/ipv4/ip_forward
再起動してもIPフォワーディングの有効にする
再起動してもIPフォワーディングの有効するには、「/etc/sysctl.conf」ファイルに「net.ipv4.ip_forward = 1」を追加します。
# /etc/sysctl.conf を編集して、以下の文言を追加します $ sudo vim /etc/sysctl.conf net.ipv4.ip_forward = 1 # 設定ファイルを変更したら、設定を反映します $ sudo sysctl -p