HumansXドキュメントセンター 公式サイトへ ↗

route

route コマンド は Linux カーネルのネットワークルーティングテーブルを表示・設定するために使用します。route コマンドで設定するルートは主に静的ルートです。異なる 2 つのサブネット間で通信するには、両方のネットワークに接続するルーター、または両方のネットワークに属するゲートウェイが必要です。

Linux システムでルートを設定するのは、通常以下の問題を解決するためです:

Linux システムが LAN 内にあり、LAN 内にマシンをインターネットに接続させるゲートウェイがある場合、そのゲートウェイの IP アドレスを Linux マシンのデフォルトルートに設定する必要があります。なお、コマンドラインで直接 route コマンドを実行して追加したルートは永続的に保存されず、ネットワークアダプタやマシンを再起動すると無効になります。/etc/rc.localに route コマンドを追加すれば、ルート設定を永続的に有効にできます。

構文

route [-nNvee] [-FC] [<AF>]           List kernel routing tables
route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.
  • -A:アドレスタイプを設定します。
  • -v, --verbose:詳細情報を表示します。
  • -n, --numeric:DNS の逆引きを行わず、数値形式の IP アドレスを直接表示します。
  • -e, --extend:netstat 形式でルーティングテーブルを表示します。
  • -F, --fib:転送情報ベースを表示します(デフォルト)。
  • -C, --cache:転送情報ベースではなく、ルートキャッシュを表示します。
  • -net:ネットワークへのルート。
  • -host:ホストへのルート。

オプション

  • add:指定したルートレコードを追加し、指定した宛先ネットワークまたは宛先ホストを指定したネットワークインターフェースにルーティングします。
  • del:指定したルートレコードを削除します。
  • target:宛先ネットワークまたは宛先ホストを指定します。
  • gw:デフォルトゲートウェイを設定します。
  • mss:TCP の最大セグメント長(MSS)を設定します。
  • window:ルーティングテーブルを経由する TCP 接続の TCP ウィンドウサイズを指定します。
  • dev:ルートレコードが示すネットワークインターフェースを指定します。

よく使うコマンド

現在のルートを表示

root@ubuntu:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    600    0        0 wlan0
default         192.168.1.1     0.0.0.0         UG    700    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     700    0        0 eth0

root@ubuntu:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG    700    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     700    0        0 eth0

Flags はルートフラグで、現在のネットワークノードの状態を示します。Flags の説明:

  • U: Up。このルートが現在有効であることを示します。
  • H: Host。このゲートウェイがホストであることを示します。
  • G:Gateway。このゲートウェイがルーターであることを示します。
  • R:Reinstate Route。動的ルーティングで再初期化されたルートです。
  • D: Dynamically。このルートが動的に書き込まれたことを示します。
  • M: Modified。このルートがルーティングデーモンまたはリダイレクトにより動的に変更されたことを示します。
  • !: このルートが現在無効であることを示します。

ゲートウェイの追加・設定

route add -net 192.168.2.0 netmask 255.255.255.0 dev eth0

ルートを遮断

route add -net 192.168.2.0 netmask 255.255.255.0 reject

ルートレコードを削除

route del -net 192.168.2.0 netmask 255.255.255.0
route del -net 192.168.2.0 netmask 255.255.255.0 reject

デフォルトゲートウェイの削除と追加設定

route del default gw 192.168.2.1
route add default gw 192.168.2.1