
ルーティングテーブルには2つのルールがあります。デフォルトパスはゲートウェイを指し、2番目のパスはセグメントのすべてを*に渡すか、ゲートウェイなしで渡します。デフォルトでは、ローカルパケットが最初にルータに送信されないように、2番目のルールが必要ですか?それとも、ネットワークカードが自分の設定を確認し、送信されたパケットがルータに送信されるのではなく、ネットワークセグメントにあることを確認できるほど賢いですか?ゲートウェイ?
答え1
通常、ほとんどの* nixバージョンでは、ルーティングテーブルに(少なくとも)2つのルールが表示されます。
ローカルネットワーク(この例では10.11.12.0/24)へのパスがあります。
10.11.12.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
基本パスを識別するパスもあります。
0.0.0.0 10.11.12.1 0.0.0.0 UG 0 0 0 eth0
したがって、これがカーネルに効果的に通知するのは次のようになります。
10.11.12.0/24
プライマリルータに特に送信せずに、すべてのパケットを直接eth0に送信します(フラグ:U =パスはUPです)。
ローカルネットワーク外のアドレス(0.0.0.0はすべてのアドレスと一致)に送信されたすべてのパケットをゲートウェイ(10.11.12.1)に送信します(フラグ:U =ルーティングアップ、G =ゲートウェイ)。
より多くのインターフェイスがある場合、またはマルチホームの場合、または特定のネットワークまたはホストルーティングが設定されている場合、これより多くのルートが表示される可能性がありますが、これは定期的に表示される最小値です。
インターフェイスを設定して起動すると、カーネルは自動的にこのローカルネットワークパスを作成します。
このパスを手動で追加する必要はありません。