ルーティングテーブルを表示・操作するコマンドを確認する

LPIC2 の学習で色々覚えなきゃならないのですが、なかなか覚えられないのでメモ

ルーティングテーブルを表示する

routeコマンド

以下の例では、-n オプションでDNS逆引きを行わないようにしています。

# route -n
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ   MSS Window  irtt インタフェース
0.0.0.0         192.168.100.1   0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

netstat コマンド

netstat でも -r オプションで表示することができます。 ssコマンドでは不可

出力結果はrouteコマンドと同じです

以下の例では、-n オプションでDNS逆引きを行わないようにしています。

# netstat -rn
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ   MSS Window  irtt インタフェース
0.0.0.0         192.168.100.1   0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

ip コマンド

ip routeコマンドでも表示できます。

# ip route
default via 192.168.100.1 dev eth0 proto dhcp metric 600 
169.254.0.0/16 dev eth0 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.101 metric 600 

ルートを追加・削除する

routeコマンド

route add {-net|-host} 宛先IPアドレス netmask サブネット gw ゲートウェイ dev インタフェースdev インタフェース はインターフェースを指定する場合必要 ※ サブネットマスクはCIDR形式でも可

ルートの追加

  • networkの追加
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.100.1 dev eth0
  • hostの追加
route add -host 192.168.1.200 gw 192.168.100.1 dev eth0

ルートの削除

route del {-net|-host} 宛先IPアドレス netmask サブネット gw ゲートウェイ dev インタフェースdev インタフェース はインターフェースを指定する場合必要 ※ サブネットマスクはCIDR形式でも可

  • networkの削除
route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.100.1 dev eth0
  • hostの削除
route del -host 192.168.1.200 gw 192.168.100.1 dev eth0

netstat コマンド

netstatコマンドでは、追加・削除は行えない

ipコマンド

route コマンドと異なる点としては、

  • -net, -hostなどの指定が必要ない(host指定するときは/32を指定する)
  • netmaskの指定は、CIDR形式
  • ゲートウェイの指定は、gwではなく、viaを使う

ルートの追加

ip route add 宛先IPアドレス/サブネット via ゲートウェイ dev インタフェースdev インタフェース はインターフェースを指定する場合必要

  • networkの追加
ip route add 192.168.1.0/24 via 192.168.100.1 dev eth0
  • hostの追加
ip route add 192.168.1.200/32 via 192.168.100.1 dev eth0

ルートの削除

ip route del アドレス/サブネット via ゲートウェイ dev インタフェースdev インタフェース はインターフェースを指定する場合必要

  • networkの削除
ip route del 192.168.1.0/24 via 192.168.100.1 dev eth0
  • hostの削除
ip route del 192.168.1.200/32 via 192.168.100.1 dev eth0

参考