Henry's blog

Linux两个网卡设置两个网关

Mar 27, 2019 Linux

如果你的服务器想接入两条不同网段的线路来实现网络冗余,你可以参考如下设置

1. 网卡配置

配置文件里不写默认网关

vi /etc/sysconfig/network-scripts/ifcfg-ens160

BOOTPROTO=static
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.100.2
NETMASK=255.255.255.0
vi /etc/sysconfig/network-scripts/ifcfg-ens192

BOOTPROTO=static
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.200.2
NETMASK=255.255.255.0

2. 修改配置文件

增加两行内容

vi /etc/iproute2/rt_tables

252    first
251    second

注:这里的first和second只是一个名字,下面添加路由规则的时候要用到

3. 添加路由规则

# 刷新first规则
ip route flush table first
# 添加规则:IP是192.168.100.2,网关是192.168.100.1,网卡是ens160,路由表是first
ip route add default via 192.168.100.1 dev ens160 src 192.168.100.2 table first
# 为192.168.100.2添加路由表first
ip rule add from 192.168.100.2 table first

# 刷新second规则
ip route flush table second
# 添加规则:IP是192.168.200.2,网关是192.168.200.1,网卡是ens192,路由表是second
ip route add default via 192.168.200.1 dev ens192 src 192.168.200.2 table second
# 为192.168.200.2添加路由表second
ip rule add from 192.168.200.2 table second

4. 让配置永久生效

将以上6条命令添加到exit之前(exit就在最后一行) 这样以后每次重启network服务都会加载这些路由配置

vi /etc/init.d/network

ip route flush table first
ip route add default via 192.168.100.1 dev ens160 src 192.168.100.2 table first
ip rule add from 192.168.100.2 table first

ip route flush table second
ip route add default via 192.168.200.1 dev ens192 src 192.168.200.2 table second
ip rule add from 192.168.200.2 table second

Leave a Comment