ネットワークパケットの送信先を決定するルールはLinux ルーティングテーブルに格納されています。システムが IP アドレスにパケットを送信する必要があるたびに、このテーブルを参照して適切なパスを見つけます。マシンのLinux ルーティングテーブルを表示するには、routeコマンドを使用できます。
pete@icebox:~$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.224.2 0.0.0.0 UG 0 0 0 eth0
192.168.224.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
列の理解
routeコマンドの出力はいくつかの列に整理されており、それぞれがネットワークルートに関する特定の情報を提供します。
Destination (宛先)
Destination 列は、ネットワークまたはホストを指定します。エントリ192.168.224.0は、その特定のネットワークを対象とするすべてのパケットを送信します。パケットの宛先がこのネットワーク内にある場合(例:192.168.224.5 から 192.168.224.7 へ)、eth0などの指定されたインターフェースを介して直接送信されます。
宛先0.0.0.0はデフォルトルートです。ルーティングテーブルにパケットの宛先に対するより具体的なエントリがない場合、このルートが使用されます。
Gateway (ゲートウェイ)
Gateway 列は、パケットが送信されるルーターを示します。パケットが同じローカルネットワーク上にない場合、このゲートウェイアドレスに転送されます。デフォルトルートの場合、これはインターネットなどの他のネットワークにローカルネットワークを接続するルーターの IP アドレスです。
Genmask (ジェネリックマスク)
genmask(ジェネレーションマスク)は、宛先ネットワークのサブネットマスクです。これは宛先 IP と組み合わせて、パケットがそのネットワークに属するかどうかを判断するために使用されます。例えば、genmaskが255.255.255.0の場合、IP アドレスの最初の 3 オクテットが宛先の最初の 3 オクテットと一致する必要があることを意味します。
Flags (フラグ)
これらのフラグはルートに関する追加情報を提供します。
- U: ルートが有効(アップ)であることを示します。
- G: ルートがゲートウェイ(ルーター)へのものであることを示します。
- UG: ルートが有効であり、ゲートウェイを指していることを意味します。
Iface (インターフェース)
この列は、このルートのパケットが送信されるネットワークインターフェース(例:eth0)を示します。eth0は通常、システム上の最初のイーサネットアダプタを表します。