多くのブログで、このコマンドを使用してLinuxで多くのネットワークセキュリティ/スニッフィングツールを使用しながらIP転送を有効にしているのを見てきました
echo 1 > /proc/sys/net/ipv4/ip_forward
誰かが私を素人の言葉で説明できますか、このコマンドは本質的に何をしますか?システムをルーターに変えますか?
承認された回答:
「IP転送」は「ルーティング」の同義語です。 Linuxカーネルの機能であるため、「カーネルIP転送」と呼ばれます。
ルーターには複数のネットワークインターフェイスがあります。トラフィックが別のネットワークインターフェースのサブネットと一致する1つのインターフェースに着信すると、ルーターはそのトラフィックを他のネットワークインターフェースに転送します。
したがって、2つのNICがあり、1つ(NIC 1)がアドレス192.168.2.1/24にあり、もう1つ(NIC 2)が192.168.3.1/24にあるとします。転送が有効になっていて、パケットが192.168.3.8の「宛先アドレス」でNIC 1に着信した場合、ルーターはそのパケットをNIC2から再送信します。
インターネットへのゲートウェイとして機能するルーターにはデフォルトルートがあり、NICと一致しないトラフィックはデフォルトルートのNICを通過するのが一般的です。したがって、上記の例では、NIC 2にインターネット接続がある場合、デフォルトルートとしてNIC 2を設定すると、192.168.2.0/24に向けられていないNIC1からのトラフィックが送信されます。 NIC 2を介して、NIC 2を通過する他のルーターがあり、さらにルーティングできることを願っています(インターネットの場合、ネクストホップはISPのルーターであり、プロバイダーのアップストリームルーターなどです)
ip_forward
を有効にする Linuxシステムにこれを行うように指示します。意味のあるものにするためには、2つのネットワークインターフェイス(2つ以上の有線NICカード、Wifiカードまたはチップセット、56kモデムまたはシリアルを介したPPPリンクなど)が必要です。
ルーティングを行う場合、セキュリティが重要であり、Linuxのパケットフィルターであるiptables
、関与します。したがって、iptables
が必要になります ニーズに合った構成。
iptables
で転送を有効にすることに注意してください 無効にしたり、ファイアウォールやセキュリティを考慮しないと、NICの1つがインターネットまたは制御できないサブネットに面している場合に脆弱性が発生する可能性があります。