web-dev-qa-db-ja.com

ルーティングテーブルのエントリの順序は重要ですか?

ルーティングの順序は重要ですか?

> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.154     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.128     0.0.0.0         255.255.255.224 U     0      0        0 vmbr0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vmbr1
0.0.0.0         123.x.x.129     0.0.0.0         UG    0      0        0 vmbr0

それは同じです:

> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
123.x.x.128     0.0.0.0         255.255.255.224 U     0      0        0 vmbr0
123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
123.x.x.154     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vmbr1
0.0.0.0         123.x.x.129     0.0.0.0         UG    0      0        0 vmbr0

違いはどこですか

123.x.x.128     123.x.x.129         255.255.255.224 U     0      0        0 vmbr0

より高次

123.x.x.151     0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0

だから私が123.x.x.151どこに行きますか:

- the routed way over `123.x.x.129`, because it matches the `123.x.x.128` rule, or
- the direct way using the arp table, because it matches the `123.x.x.151` rule

23
static

テーブル内の順序は関係ありません。プレフィックスの長いルートが常に優先されます。ネットマスクにしがみつくのをやめ、代わりにプレフィックスの長さを検討する場合(これはip routeショー)、あなたは123.x.x.128/27および123.x.x.151/32、そして後者–より具体的な–前者(より一般的なもの)よりもルートが優先されます。

30
user1686

ルートが重複している場合にのみ、順序は重要です。それをしないでください。

たとえば、2つのインターフェースの宛先、ネットマスク、ゲートウェイが同じ0.0.0.0の場合、最初のインターフェースはそのネットワークのすべてのトラフィックを取得します。

さらに、いくつかのシステムは最初に来るブート時にランダムに再注文することがわかりました。 1つだけが機能する場合、または1つだけにルーターゲートウェイが設定されている場合、再起動時にそのネットワークへのアクセスが失われる可能性があります。

5
kmarsh