基本的には以下ファイルのパターンを使用して追加する
どのファイルも特殊な書式なので注意する事
# vi /etc/sysconfig/static-routes # vi /etc/sysconfig/network-scripts/route-eth0 # vi /etc/sysconfig/network-scripts/route-br0
追加の方法はあるのに、削除の方法は調べた限りでは無かったのでスクリプトを改造する
使える場面としては2枚のNICを挿した鯖で、それらのNICに同一セグメントのIPアドレスを割り振る時には使えると思われる
なお、Linuxのパッケージアップデート『yum update』をした際に該当スクリプトが初期化されるらしいので、その時は再度書き換えるか、後述する専用スクリプトを使用する
# vi /etc/init.d/network _/_/_/_/_/ -# Add non interface-specific static-routes. -if [ -f /etc/sysconfig/static-routes ]; then - grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do - /sbin/route add -$args - done -fi _/_/_/_/_/ +# Add and Del interface-specific static-routes. +if [ -f /etc/sysconfig/static-routes ]; then + grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do + /sbin/route add -$args + done + grep "^del" /etc/sysconfig/static-routes | while read ignore args ; do + /sbin/route del -$args + done +fi
# vi /etc/sysconfig/static-routes _/_/_/_/_/ ※192.168.1.0/24でインターフェースがbr0のルーティングを削除する時 del net 192.168.1.0 netmask 255.255.255.0 br0 ※link-locak(169.254.0.0)でインターフェースがbr0のルーティングを削除する時 del net link-local netmask 255.255.0.0 br0
# vi ~/static-routes_del.sh _/_/_/_/_/ #!/bin/bash PATH=/bin:/sbin:/usr/bin # Delete interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then grep "^del" /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route del -$args done fi _/_/_/_/_/ # chmod 700 ~/static-routes_del.sh # chown root.root ~/static-routes_del.sh