CentOS配置双IP和双网关方法

假设一台服务器需要新增一个不同段的IP,很少接触多IP+网关的情况,发现直接配置两个ip上去是不能同时使用的,可使用此方法解决

操作系统:centos 7.9
正在用的IP1: 192.168.100.100 / Gateway: 192.168.100.1 / NETMASK: 255.255.255.0
需新增的IP2: 192.168.200.200 / Gateway: 192.168.200.1 / NETMASK: 255.255.255.0

一、双网卡配置

配置多IP时非常容易因配置错误导致断网,建议先配置好一个ip,网络正常的情况下,在配置第二块网卡,对于生产上的服务器,怕配置出错可以先备份好网络配置文件,配置好双ip后,用定时任务过几分钟恢复一下网卡配置,如果配置没有问题在去掉定时任务,然后重新配置一次,这样比较保险。

当前在用的IP1.网卡配置如下:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=102.168.100.1
DNS1=8.8.8.8

配置第二块网卡ip:

cat  /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.200.200
NETMASK=255.255.255.0
#GATEWAY=192.168.200.1  //网卡2不要配置网关,否则重启网卡后可能会导致断网或网卡1不通
DNS1=8.8.8.8

重启网络生效:

service network restart

正常情况下你的SSH不会掉线,两块网卡都是正常的,但是因为第二块网卡没有配置网关,所以第二块网卡IP还不能用,需要配置双网关才行

二、双网关配置

当前的情况黙认网关是第一块网卡的网关,配置多网关首先需要增加两个路由表:

vi  /etc/iproute2/rt_tables
255     local
254     main
253     default
0       unspec
#新增以下两行,这里,252 和 251 是路由表的 ID,e1 和 e0 是路由表的名字。你可以根据需要选择其他的 ID 和名字

252 e1 
251 e0

#也可以直接执行:
echo "252 e1" >> /etc/iproute2/rt_tables
echo "251 e0" >> /etc/iproute2/rt_tables

保存退出后,接下来手动添加静态路由,需要流量从哪个网卡进来的,就从相应的网关出去:

ip route flush table e0      #这个命令会删除名为 e0 的路由表中的所有路由,使得该表恢复到空状态
ip route add default via 192.168.100.1 dev eth0 src 192.168.100.100 table e0  #eth0改为你实际网卡0的名字
ip rule add from 192.168.100.100 table e0

ip route flush table e1 
ip route add default via 192.168.200.1 dev eth1 src 192.168.200.200 table e1  #eth1改为你实际网卡0的名字
ip rule add from 192.168.200.200 table e1

双网关配置重启后会生效,还需添加到开机启动,复制到/etc/rc.local中即可,rc.local不会被网络服务覆盖掉

vi /etc/rc.local   #编辑
ip addr add 192.168.200.200/24 dev e1
ip rule add from 192.168.200.200/24 table e1
ip route add default via 192.168.200.1 dev eth0 src 192.168.200.200 table e1

#table e1:这个部分指定了路由表的名称,也就是这个路由应该添加到哪个路由表中。

#dev eth1:这个部分指定了出口网络接口,也就是数据包应该从哪个网络接口发送出去。

保存退出

最后执行:sudo chmod +x /etc/rc.local

分享技巧

Linux安装megacli查看阵列卡信息和硬盘信息

2024-12-23 23:38:24

运维技巧

CentOS7.x修改网卡名

2023-6-28 23:38:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索