CentOS6でスタティックルートの追加方法を記載します。
大抵の場合だとIPアドレスおよびデフォルトゲートゥエイのみを指定するケースが多いですがサブネット内に他の経路宛のルータなどが存在する場合は、 Linux自身に経路を持たせておいたほうがネットワーク上の効率が良いです。設定自体も大したことないのですが、しばらくたつと忘れてしまい、その度にWebを調べて設定してるのでそのときのためのメモ書きです。
コマンドベースで追加/する際は以下のようになります。
※eth0を発信インターフェイスとする場合 # route add -net 192.168.99.0/24 gw 192.168.0.254 eth0 ※上記で追加した経路を削除する場合 # route del -net 192.168.99.0/24 gw 192.168.0.254 eth0 |
ちなみにWindowsだと以下のようになりLinuxとニアな形式です。但し、Linuxのようにprefixを用いた表記ができずマスクで表記する必要があります。
# route add 192.168.99.0 mask 255.255.255.0 gw 192.168.0.254 |
これらは恒久的なものではなく再起動すると追加した経路は消滅してしまいます。再起動などを実施したあとでも有効にしたい場合は/etc/sysconfig/network-scripts/route-eth0を作成し、以下のように編集します。
# vi /etc/sysconfig/network-scripts/route-eth0 192.168.99.0/24 via 192.168.0.254 # /etc/rc.d/init.d/network restart |
上記により再起動後も恒久的にスタティックルートを設定することが可能です。ルーティングテーブルの表示は以下のコマンドで参照可能です。
# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.100.0 192.168.0.100 255.255.255.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 eth0 |
設定などしていない身に覚えのない169.254という経路が表示されていますが、これは何らかの理由でネットワークが使えない場合やDHCPからIPから割り当てられない場合にコンピュータ自身が自分自 身に割り当てるアドレスです。