centos cloud和 裸机均有次问题。
当centos有2个网卡,eth0是连公网,eth1是连内网,default route应该走eth0,系统启动后不能从公网链接。
原因是default route 配置到eth1了,找原因:
/etc/sysconfig/network-scripts/ifcfg-eth0:
/etc/sysconfig/network-scripts/ifcfg-eth1:
由于虽然有cloudinit 配置默认路由,但是后面还得network service再配置一把,最终改路由的脚本:
network service是按照eth0,eth1 的顺序配置网卡的,配置eth0的时候有DEFROUTE=yes,但是到了配置eth1的时候配置文件ifcfg-eth1里没有指定DEFROUTE,而脚本只判断了变量!="no",其实DEFROUTE这个变量没定义,这个条件也满足,后面也会把default route 替换成从eth1的。
解决办法很多,一个简单的就是echo "DEFROUTE=no" >> /etc/sysconfig/network-scripts/ifcfg-eth1
这个还可以写在cloud环境的userdata里。
网友评论