マイコンピュータでは、次のルーティングテーブルに従う必要があります。
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がメッセージを宛先に直接送信できます。
答え1
ルーティングテーブルは、最も具体的なものから最も具体的ではない順に使用されます。
しかし、Linuxでは、思ったよりも少し複雑です。まず、ルーティングテーブルが2つ以上あり、ルーティングテーブルをいつ使用するかは多くの規則に依存します。
完全な画像を取得するには:
$ 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
以前の基本ルールによってパケットが選択されていない場合、テーブルは空であり、後処理のために保持されます。
独自のテーブルを追加してルールを追加することで、特定の状況で使用できます。たとえば、2つのインターネット接続がありますが、1つのホストまたはサブネットは常に特定のインターネット接続を介してルーティングする必要がある場合です。
これLinuxポリシールーティングこの本はそのすべてを非常に詳細に説明しています。
答え2
ルーティングテーブルは通常、「最も具体的な」から「最も具体的ではない」順に適用されます。0.0.0.0
ネットマスクは目的地です0.0.0.0
。デフォルトパスは最も具体的ではないので、常に最後に適用されます。
ローカルネットワーク上に別のPCのMACアドレスがあるが、そのPCが別のサブネットにある場合は、そのPCへの特定のホストパスを追加して通信を取得できます。