Linux 双网卡配置优先级

Linux 双网卡配置优先级

启用网卡

根据业务需要,有时候服务器需要两张网卡,一张用于访问外网,另一种用于连接内网。

如果在安装系统是就对两张网卡进行配置了的话,就比较方便,这里不再讨论。

下面是后期添加的一张网卡ens37,其中ens33用于连接内网,ens37用于连接外网。

查看网卡IP

ip addr

可以看到网卡ens37没有启用,使用命令ifup开启网卡。注意网卡的名称:

ifup ens37

如果遇到错误:未知的连接 "/etc/sysconfig/network-scripts/ifcfg-ens37" 则需要编辑网卡对应的文件

vim /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"

然后执行命令:

source /etc/sysconfig/network-scripts/ifcfg-ens37

ifup ens37

然后再查看网卡ip信息

在这里插入图片描述
此时网卡已启用。但是可能会由于网卡路由优先级的问题,还不能访问外网。

查看路由信息:ip route show

在这里插入图片描述

可以看到两张网卡的metric (跃点数),ens33的跃点数默认值是100,比ens37的值小,所以会通过ens33连接外网(但是业务需求是ens33连接的是内网而不是外网),因此不能访问外网。

出现网卡路由优先级问题主要是Metric的参数配置

Metric:为路由指定所需跃点数的整数值(范围是 1 ~ 9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。Metric的值越小,优先级越高如果两块网卡的Metric的值相同,就会出现抢占优先级继而网卡冲突,将会有一块网卡无法连接

修改网卡路由优先级

所以我们需要通过修改metric(跃点数),来修改网卡ens37的优先级

这里为了让ens37的路由优先级高于ens33,需要将ens37的跃点数改成小于ens33的跃点数(默认100)。我们这里将ens37的跃点数改成90

编辑网卡ens37对应的文件:

vim /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV4_ROUTE_METRIC=90
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"

这里我们添加了一个参数IPV4_ROUTE_METRIC=90

然后执行命令:

source /etc/sysconfig/network-scripts/ifcfg-ens37

ifup ens37

查看路由信息:ip route show


可以看到网卡ens37的跃点数已经改成90了。

这时就可以通过ens37来访问外网了。

注意:网卡配置文件信息的名称以及配置文件里的相关参数要跟网卡信息一致。我这里使用的网卡名称是ens37,所以在配置文件里很多地方都出现了ens37。请根据业务需求自行更改。

猜你喜欢

转载自blog.csdn.net/weixin_44129085/article/details/109118013