CentOS 双网卡配置优先级

CentOS 双网卡配置优先级

作者:Bright Xu

启用网卡

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

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

下面是后期添加的一张网卡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。请根据业务需求自行更改。

CentOS 9 中,如果你有两块网卡并且想为特定的网络流量指定特定的路由,你可以通过编辑 `sysctl.conf` 或者 `/etc/sysconfig/network-scripts` 目录下的脚本来配置。这里是一个简单的步骤说明: 1. **确认网卡名称**: 使用 `ifconfig` 或者 `ip addr` 命令查看你的两块网卡,通常会显示如 `eth0` 和 `eth1` 这样的名称。 2. **打开或创建路由规则**: - 打开 `/etc/sysconfig/network-scripts/route-<interface>` 文件,其中 `<interface>` 是你的网卡名称(例如 `route-eth0` 或 `route-eth1`)。如果没有对应的文件,可以新建一个。 3. **添加路由条目**: 在文件中添加类似以下的行,指定目的 IP、子网掩码、下一跳路由器(gateway),以及选择该路由的优先级(cost 或 preference,默认值为 0): ``` default via <gateway>, metric <metric> <destination>/mask via <next_hop>, metric <metric> ``` 4. **指定默认路由**: 如果你想让其中一个网卡作为所有流量的默认出口,可以在 `route-eth0` 或者另一个网卡文件中设置一个 `default` 路由指向另一台设备或互联网。 5. **重启网络服务**: 使用 `systemctl restart network` 或 `service network restart` 使更改生效。 6. **验证路由表**: 使用 `route -n` 或 `ip route show` 检查新的路由是否已经生效。 记得替换上述示例中的 `<gateway>`, `<next_hop>`, `<destination>`, `<mask>`, 和 `<metric>` 为你实际的网络配置
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值