カーネルIP転送とは何ですか?

カーネルIP転送とは何ですか?

私は多くのブログでLinuxで多くのネットワークセキュリティ/スニッフィングツールを使用しているときにこのコマンドを使用してIP転送を有効にするのを見ました。

echo 1 > /proc/sys/net/ipv4/ip_forward

この命令の本質が何であるかを一般人の用語で説明できる人はいますか?システムをルーターに変更しますか?

答え1

「IP転送」は「ルーティング」と同義です。これはLinuxカーネルの機能なので、「カーネルIP転送」と呼ばれます。

ルータには複数のネットワークインターフェイスがあります。あるインターフェイスのトラフィックが別のネットワークインターフェイスのサブネットと一致する場合、ルータはそのトラフィックを別のネットワークインターフェイスに転送します。

したがって、2つのNICがありますが、一方(NIC 1)はアドレスが192.168.2.1/24、もう一方(NIC 2)はアドレスが192.168.3.1/24であるとします。転送がイネーブルで、「宛先アドレス」が192.168.3.8のパケットがNIC 1に入ると、ルータはNIC 2からパケットを再送信します。

インターネットゲートウェイとして機能するルータには通常デフォルトルートがあるため、NICと一致しないすべてのトラフィックはデフォルトルーティングNICを通過します。したがって、上記の例では、NIC 2にインターネット接続がある場合は、NIC 2をデフォルトパスに設定でき、NIC 1からの着信が192.168.2.0/24に属していないすべてのトラフィックはNIC 2を通過します。 NIC 2に加えて、さらにルーティングできる他のルータがあることを願っています(インターネットの場合、ネクストホップはISPのルータ、次にプロバイダのアップストリームルータなど)。

Enableはip_forwardLinuxシステムにこれを行うように指示します。これを理解するには、2つのネットワークインターフェイス(2つ以上の有線NICカード、Wi-Fiカードまたはチップセット、56kモデム、またはシリアルを介したPPPリンクなど)が必要です。

ルーティングのセキュリティは非常に重要であり、ここではLinuxパケットフィルタがiptables使用されます。したがって、iptablesニーズに合った設定が必要です。

iptablesNICの1つがインターネットまたは制御できないサブネットに接続されている場合は、ファイアウォールとセキュリティを考慮せずに配信を無効にすることができます。

答え2

IP転送を有効にすると、Linuxコンピュータは着信パケットを受信して​​転送できます。一般的なホストとして機能するLinuxコンピュータは、独自の目的(つまりユーザーの目的)でのみIPトラフィックを生成して受信するため、IP転送を有効にする必要はありません。

しかし、IP転送が役に立つ特定の状況があります。 1.私たちはシステムがルーターとして機能し、他のホストからパケットを受信し、それを宛先にルーティングしたいと思います。 2. 私達は悪い奴であり、いわゆる「方式」として他の機械を模倣したいと思います。中間者攻撃この場合、私たちは被害者に渡されるすべてのトラフィックを傍受して見たいのですが、被害者が私たちの存在を「認識」しないように、このトラフィックを彼女に転送したいと思います。

関連情報