1日1アウトプットを心がける
- 前提
- Debian GNU/Linux lennyで確認。
経路設定する前にデフォルトのルーティングテーブルをみてみます。前回やったように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