ルートテーブルはどの順序で分析されますか?


19

私のPCでは、次のルーティングテーブルが必要です:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

私はそれがどのように分析されるか理解していません、私はトップダウンまたはボトムアップから意味しますか?

トップダウンで分析すると、IP宛先が192.168.1.15であっても、すべてが常に自宅のルーターに送信されます。しかし、間違って知っていたのは、PCが同じローカルネットワーク内にある場合、ブロードキャストメッセージを介してMAC宛先を復元すると、PCが宛先にメッセージを直接送信できることでした。

回答:


19

ルーティングテーブルは、最も具体的なものから最も具体的なものの順に使用されます。

ただし、Linuxでは、予想より少し複雑です。まず、複数のルーティングテーブルがあり、どのルーティングテーブルを使用するかは、いくつかのルールに依存します。

完全な画像を取得するには:

$ ip rule show
0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route show table local
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.0.0 dev eth0  proto kernel  scope link  src 192.168.1.27 
local 192.168.1.27 dev eth0  proto kernel  scope host  src 192.168.1.27 
broadcast 192.168.1.255 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table main
default via 192.168.1.254 dev eth0 
192.168.0.0/23 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table default

$

このlocalテーブルは、ローカルおよびブロードキャストアドレス用の高優先度制御ルートを含む特別なルーティングテーブルです。

このmainテーブルは、すべての非ポリシールートを含む通常のルーティングテーブルです。これは、単に実行するip route show(またはip ro略して)場合に表示されるテーブルでもあります。古いrouteコマンドはmainテーブルのみを表示し、その出力形式は多少古くなっているため、古いコマンドは使用しないことをお勧めします。

テーブルdefaultは空で、以前のデフォルトルールがパケットを選択しなかった場合、後処理用に予約されています。

独自のテーブルを追加し、特定のケースでそれらを使用するルールを追加できます。1つの例は、2つのインターネット接続があるが、1つのホストまたはサブネットが常に1つの特定のインターネット接続経由でルーティングされる必要がある場合です。

Linuxでポリシールーティングの本では、これらすべてを詳細に説明しています。


その優先順位を変更する方法はありますか?
-Mheni

4

ルーティングテーブルは通常、「最も具体的」から「最も具体的ではない」の順に適用されます。の0.0.0.0ネットマスクを持つデフォルトのルート0.0.0.0、つまりデフォルトルートは、特定性が最も低いため、常に最後に適用されます。

ローカルネットワーク上の別のPCのMACアドレスがあり、それが別のサブネット上にある場合、そのPCに特定のホストルートを追加すると、おそらく通信が可能になります。


s /通常/ always /。これは、ルーティングテーブルの動作の基本です。
セラダ

1
@Celada「同じ特定の」ルートのメトリックについては言及していません。そして、ポリシールーティングがあります。少なくとも今のところ、私は通常待機しています
ロアイマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.