目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

(スタティック)ルーティングを設定してみよう

1日1アウトプットを心がける

経路設定する前にデフォルトのルーティングテーブルをみてみます。前回やったようにrouteコマンドを使用します。

masasuzu@lenny% /sbin/route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

ターゲットネットワークは192.168.10.0/24。ネクストホップは192.168.1.1に設定します。ちなみにroot権限が必要です。この場合はデフォルトゲートウェイが192.168.1.1なのであまり意味がないですが…。
設定後、ルーティングテーブルに1エントリ増えていることが確認できます。

masasuzu@lenny% sudo /sbin/route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1
masasuzu@lenny% /sbin/route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.10.0    192.168.1.1     255.255.255.0   UG    0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

次に先に設定した経路を消してみます。先ほどのaddをdelに変えるだけです。

masasuzu@lenny% sudo /sbin/route del -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1
masasuzu@lenny% /sbin/route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
localnet        *               255.255.255.0   U     0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

デフォルトゲートウェイもこんな感じで設定できます。

masasuzu@lenny% sudo /sbin/route add default gw 192.168.1.2
masasuzu@lenny% /sbin/route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
localnet        *               255.255.255.0   U     0      0        0 eth0
default         192.168.1.2     0.0.0.0         UG    0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

ちなみに今まで紹介した方法はサーバを再起動すると経路情報が消えてしまいます。サーバ起動時にルーティングの設定を残しておくには/etc/network/interfacesに設定ます。
該当するインタフェースの箇所に以下の設定を追記します。意味としてはインターフェース起動時に経路を追加し、停止直前に経路を消すといった形です。

iface eth0 inet static
#...snip
up route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1
pre-down route del -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1