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
ドキュメント