カーネル ルーティング テーブルを表示するには、次のいずれかの方法を使用できます:
ルート
現在のすべての静的ルートを一覧表示します:
$ sudo route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
route を実行するには root になる必要があります。 -n オプションは、対応するホスト名ではなく、数値の IP アドレスを表示することを意味します。
netstat
netstat は、スタティック ルートを表示するために使用できるもう 1 つの簡単なコマンドです。
$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
-r オプションは、ルーティング テーブルが必要であることを指定します。 -n オプションは、route コマンドのオプションと似ています。
ip
ip コマンドを使用して、IPv4 および IPv6 ルーティング テーブルを表示できます。以下のコマンドは、IPv4 ルーティング テーブルを表示します。
$ ip route list 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.103 default via 192.168.0.1 dev eth0
$ ip route default via 10.0.2.2 dev eth0 proto dhcp metric 100 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 metric 100 172.16.0.0/12 via 192.168.33.11 dev eth1 192.168.33.0/24 dev eth1 proto kernel scope link src 192.168.33.10 metric 101
IPv6 ルートを表示する方法
IPv6 ルーティング テーブルを表示するには、次のコマンドを使用します:
# ip -6 route注意 :net-tools パッケージの route コマンドは非推奨と見なされており、ip などの iproute ツールを優先して避ける必要があります。
ip コマンドの詳細については、man ページを参照してください:
# man ip
最終メモ
route -n コマンドを発行すると、「0.0.0.0」というアドレスが表示されます。ルート テーブルのこのエントリは、デフォルト ゲートウェイへのルートを示します。発信パケットが作成されると、宛先アドレスが割り当てられます。カーネルは、現在のルーティング テーブルを上から下に調べます。宛先アドレスに一致するものが見つからない場合、パケットはデフォルト ゲートウェイ経由で送信されます。 0.0.0.0 のアドレスは、すべての一致を示します。 4 つの 0 は、IP アドレスのワイルドカードとして機能します。
たとえば、以下のルーティング テーブルでは、192.168.122.0/24 ネットワーク宛てでないパケットは、eth0 インターフェースを介して 192.168.122.1 のデフォルト ゲートウェイに送信されます。
# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0.0.0.0 192.168.122.1 0.0.0.0 UG 0 0 0 eth0