如果有多张网卡,那么就会出现冲突问题了。冲突的原因是GATEWAY和DNS的配置,这两个配置的表示默认的地址。多张网卡的配置ifcfg-eth1,ifcfg-eth2,ifcfg-eth3…,后面的配置就会把前面的配置直接进行覆盖操作。啥意思呢?就是eth1的网关是A,eth2的网关是B,启动的时候系统会去读取这些配置文件的信息,加载eth1的配置时,默认网关是A;接着,加载eth2的配置时,默认网关变成了B。这样A的IP就走不通了。
所以在有多个网卡的情况,不应该只使用一个默认的网关来实现通信,因为不同网卡的网关不一样会导致一部分网卡由于网关不适用导致不能使用的情况。
配置步骤:
- 切换到/etc/sysconfig/network-scripts目录下,把配置写到对应的网卡配置文件中,修改配置如下(不需要再配置GATEWAY)
if-ens33网卡配置文件
DEVICE=ens33 #网卡名称
HWADDR=14:18:77:3B:6F:01 #MAC地址
TYPE=Ethernet #网卡类型
UuiD=314d1b96-70b2-498a-8711-6cb5ab264464 #唯一标识
ONBOOT=yes #开机激活
BOOTPROTO=static #网卡获取IP地址的方式,一般有
ipadDR=100.196.184.188
NETMASK=255.255.255.248
DNS1=51.136.192.6
DNS2=50.196.165.2
if-ens34网卡配置文件
DEVICE=ens33 #网卡名称
HWADDR=14:18:77:3B:6F:02 #MAC地址
TYPE=Ethernet #网卡类型
UuiD=314d1b96-70b2-498a-8711-6cb11b264464 #唯一标识
ONBOOT=yes #开机激活
BOOTPROTO=static
ipadDR=88.196.184.188
NETMASK=255.255.255.248
DNS1=51.136.192.6
DNS2=50.196.165.2
# 做在下面两步之前,如果不做,route1 route2 改为数字即可
echo “101 route1” >> /etc/iproute2/rt_tables
echo “102 route2” >> /etc/iproute2/rt_tables
- 配置ens33的默认路由
【配置规则如下】:
ip rule add from 网卡IP table 表数字 ip route add default via 网关 dev 网卡名 table 表数字
配置ens33的路由规则(table后面的数字可以自己取,如果冲突系统会提示已存在,换一个不存在的就好,可以通过【ip rule show】命令查看已配置的内容)
范例:
ip rule add from 100.196.184.188 table route1
# 配置ens33的路由表(可以通过【ip route show】命令查看已配置的内容)
ip route add default via 100.196.184.19 dev ens33 table route1
范例:
ip rule add from 88.196.184.188 table route2
# 配置ens34的路由表(可以通过【ip route show】命令查看已配置的内容)
ip route add default via 88.196.184.19 dev ens34 table route2
- 解决重启不生效
方法1:
#添加默认网关(route add default gw 网关地址 dev 网卡名称):
route add default gw 100.196.184.19 dev ens33
route add default gw 88.196.184.19 dev ens34
方法2:
# 将以下命令
ip route add default via 100.196.184.19 dev ens33 table route1
ip route add default via 88.196.184.19 dev ens34 table route2
ip rule add from 100.196.184.188 table route1
ip rule add from 88.196.184.188 table route2