Linux

【route】ルーティングテーブルの表示・設定|Linuxコマンド基礎

route

今回は、Linuxコマンドでルーティングテーブルの表示や設定を行う方法(routeコマンド)について分かりやすくご説明いたします。

 

うちぱぱ
うちぱぱ
それでは始めましょう!

ルーティングテーブルの表示や設定を行う【route】

 

書式

経路の表示

route [オプション1]

オプション1

-C カーネルがキャッシュしているルーティングテーブルを表示
-n 表示するルーティングテーブルの名前解決を行わない
-e netstat形式で表示
-ee 経路情報全てを1行で表示

 

経路の追加

route [オプション2] add [-net | -host] ターゲット [オプション3]

オプション2

-A アドレスファミリ プロトコル種別(IPv4はinet4、IPv6はinet6)を指定

 

経路の削除

route [オプション2] del [-net | -host] ターゲット [オプション3]

オプション3

netmask ネットマスク ネットマスクを指定
gw ゲートウェイアドレス 目的地にパケットを送る場合ゲートウェイを指定
dev インターフェイス インターフェイス名を指定(ex.eth0)。インターフェイスはifconfigコマンドで調べることが可能

 

ルーティングテーブルとは、パケットを目的のネットワークセグメントに送るために、必要な通過経路(出口)を指定する設定リストです。
routeはオプションや引数を付けない場合は、現在設定されているルーティングテーブルを表示し、終了します。ルーティングテーブルに経路を追加・削除するには、目的ネットワークアドレス、もしくは目的ホストアドレスとゲートウェイ(出口となるホスト)アドレスなどを指定します。
routeで経路を追加設定することにより、実行後はルーティングテーブルに追加されますが、再起動した場合はテーブルが消えてしまいます。システム起動時に、デフォルトゲートウェイ以外の経路を設定しておくこともできますが、この設定方法はディストリビューションに依存します。
routeの表示の意味はDistination(宛先)、Gateway(ゲートウェイ)、Genmask(ネットマスク)、Iface(インターフェイス)です。

ディストリビューション別の設定方法

Red Hat / Fedora /etc/sysconfig/以下にstatic-routesファイルを作成して指定
Debian / Ubuntu /etc/network/interfacesでup、downコマンドを指定

コマンド実行例

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

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.40.0    0.0.0.0         255.255.255.0   U     256    0        0 eth2
192.168.40.1    0.0.0.0         255.255.255.255 U     256    0        0 eth2

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

# route --inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fe80::/64                      [::]                            256 0     0 eth0
fe80::29d8:35e9:98bd:5561/128  [::]                            256 0     0 eth0

ゲートウェイを設定する

# route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.0.0.254
↑ 172.16.0.0/16のネットワークへの経路は10.0.0.254をゲートウェイとして利用
# route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.0.0.254
↑ 192.168.1.1のホストへの経路は10.0.0.20をゲートウェイに利用
# route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.0.0.254
↑ デフォルトゲートウェイを10.0.0.1として利用

キャッシュ済のルーティングテーブルを表示する

# route -C
↑カーネルがキャッシュしているルーティングテーブルを表示

 

うちぱぱ
うちぱぱ
今回は以上となります!
ifconfig
ネットワークインターフェイスの確認や設定を行う【ifconfig】|Linuxコマンド基礎今回は、Linuxコマンドでネットワークインターフェイスの確認や設定を行う方法(ifconfigコマンド)について分かりやすくご説明いた...
netstat
通信状況やルーティングテーブルを表示する【netstat】|Linuxコマンド基礎今回は、Linuxコマンドで通信状況やルーティングテーブルを表示する方法(netstatコマンド)について分かりやすくご説明いたします。...