CentOS6をインストールしてルーティングテーブルを表示するとこんなかんじに表示されると思います。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.70.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.90.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 eth2
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0/16のルーティングテーブルが勝手に追加されていますが、これはZeroconfによって自動的に作られたものです。
Zeroconfに関しては割愛します。
さて、サーバーとして使うのにZeroconfは通常不要と思いますので、これを無効にします。
/etc/sysconfig/network-scripts/ifcfg-ethX
に次の行を追加するだけです。
NOZEROCONF=yes
明示的にNOZEROCONFの設定がされていない設定ファイルに対して、すべてNOZEROCONF=yes
を有効にするbashスクリプトを書いてみました。シェバンを省いてコマンドラインにコピペしてもokです。
# !/bin/bash
for NIC in `ls -1 /etc/sysconfig/network-scripts/ifcfg-eth*`
do
grep -q "^ *NOZEROCONF *= *.*" $NIC
if [ $? -eq 1 ]; then
echo "NOZEROCONF=yes" >> $NIC
fi
done
追記: grep -q "^ *NOZEROCONF *= *.*" $NIC || echo "NOZEROCONF=yes" >> $NIC
としようかとも思いましたが、どうやらファイルが見つからなかった等の理由で1以外が返ることもあるようですので、やめました。
追記: すべてのNICの設定に NOZEROCONF=yes
しなくても /etc/sysconfig/network
に書くだけで良いようです。つまり、上のようなスクリプトを書かなくても良いということです。