Centos 双网卡加载顺序引起默认路由配置问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 双网卡加载顺序引起默认路由配置问题相关的知识,希望对你有一定的参考价值。
参考技术A 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里。
Centos 6.5双网卡双IP双网关配置
因公司业务需要需在服务器上配置电信,联通两个运营商的IP地址,实现数据分别从两个地址传输,即两个IP地址都能与外界网络互通。当时我发现在服务器的两块网卡上分别配置两个IP地址及网关,重启网络服务之后,系统会默认选取其中一块网卡的网关做为数据传输网关,这样造成的后果就是一块网卡无法与外界通信,后来手动为那块无法通信的网卡添加路由指向之后,结果不是把系统的默认路由替换掉就是路由指向不生效,导致还是无法让那个两块网卡同时与外界网络互相通信,后来尝试在系统中创建两张路由表分别传输两张网卡的数据:
具体操作如下:
电信网络192.168.1.2/24网关192.168.1.1
联通网络172.16.1.2/24网关172.16.1.1
第一步:
第一块网卡添加电信网络完整的地址信息,包括IP地址,掩码,网关
#vim
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
第二块网卡只添加IP地址,掩码,不添加网关
#vim
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.1.2
NETMASK=255.255.255.0
第二步:
分别为电信,联通创建两个路由表
#vim
/etc/iproute2/rt_tables
252 tel
252 cnc
第三步:增加路由规则
#ip route
flush table tel
#ip route add default via 192.168.1.1 dev eth0 src
192.168.1.2 table tel
#ip rule add from 192.168.1.2
table tel
此处是设置电信为网关,并可实现让电信的资源访问只从eth0网卡出去
#ip route flush table
cnc
#ip route add default via 172.16.1.1 dev eth1 src 172.16.1.2 table
cnc
#ip rule add from 172.16.1.2 table
cnc
此处是设置联通的网关,并可实现让联通的资源访问只从eth1网卡出去
第四步:配置networking启动脚本文件
#vim
/etc/init.d/networking
ip route flush table tel
ip route add default via
192.168.1.1 dev eth0 src 192.168.1.2 table tel
ip rule add from 192.168.1.2 table tel
ip route flush table cnc
ip route add
default via 172.16.1.1 dev eth1 src 172.16.1.2 table cnc
ip rule add from
172.16.1.2 table cnc
exit 0
第五步:退出并重启网络
#chmod u+x /etc/init.d/networking
#/etc/init.d/networking
restart
第六步:设置开机自启
因为已经做好的启动脚本,只需要在开机自启文件中加入开机时执行启动脚本即可
#vim
/etc/rc.local
/etc/init.d/networking restart
此时电信跟联通的地址都可以正常访问。
以上是关于Centos 双网卡加载顺序引起默认路由配置问题的主要内容,如果未能解决你的问题,请参考以下文章