*Linuxのルーティング [#mca940dd] 基本 ~ *routeの恒久的な追加 [#o9df9a5e] 基本的には以下ファイルのパターンを使用して追加する どのファイルも特殊な書式なので注意する事 # vi /etc/sysconfig/static-routes # vi /etc/sysconfig/network-scripts/route-eth0 # vi /etc/sysconfig/network-scripts/route-br0 ~ *routeの恒久的な削除 [#fbec960a] [[追加の方法>#o9df9a5e]]はあるのに、削除の方法は調べた限りでは無かったのでスクリプトを改造する 使える場面としては2枚のNICを挿した鯖で、それらのNICに同一セグメントのIPアドレスを割り振る時には使えると思われる なお、&font(b){Linuxのパッケージアップデート『yum update』をした際に該当スクリプトが初期化されるらしいので、その時は再度書き換えるか、後述する専用スクリプトを使用する}; ~ -&size(16){&font(b){1. スクリプト修正};}; ネットワークをリスタートした際にも正常に動作する様にスクリプトを修正 # 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 ~ -&size(16){&font(b){2. 削除するスタティックルートのデータ};}; スタティックルートを追加する時に使用するファイルと兼用しているので、接頭語を追加して判別する # 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 ~ -&size(16){&font(b){3. 削除専用スクリプトの作成};}; /etc/init.d/networkが書き換えられた場合の応急処置スクリプトを作成 # 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