CentOS多网卡配置后如何全部启用且设置不同网关?

在现代服务器架构中,配置和使用多网卡是一项基础且至关重要的技能,它不仅能实现网络流量的隔离,提升安全性,还能通过链路聚合增加带宽,或提供网络冗余以确保高可用性,在CentOS系统中,启用和配置多网卡主要涉及对网络配置文件的精确编辑和管理,本文将详细阐述在CentOS环境下启用多网卡的核心步骤与高级应用。

CentOS多网卡配置后如何全部启用且设置不同网关?

第一步:识别现有网卡

在进行任何配置之前,首先需要确认系统检测到了哪些网络接口,可以通过以下命令查看:

ip addr

或使用旧版命令(如果已安装):

ifconfig -a

命令的输出会列出所有网络设备,通常包括回环接口(lo)以及一个或多个以太网接口(如 ens33, ens37, eno1 等),假设系统已有主网卡 ens33,我们希望启用并配置第二块网卡 ens37

第二步:配置网络接口

CentOS的网络配置文件存放在 /etc/sysconfig/network-scripts/ 目录下,每个网卡对应一个名为 ifcfg-[接口名] 的文件。

为第二网卡配置静态IP地址

这是最常见的场景,例如为内网通信或特定服务分配一个固定的IP地址。

  1. 创建或编辑配置文件

    vi /etc/sysconfig/network-scripts/ifcfg-ens37
  2. 写入以下配置内容

    CentOS多网卡配置后如何全部启用且设置不同网关?

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=ens37
    UUID=[此处可留空或生成一个新的UUID]
    DEVICE=ens37
    ONBOOT=yes
    IPADDR=192.168.20.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.20.1
    DNS1=8.8.8.8
    DNS2=114.114.114.114

    关键参数解释

    • BOOTPROTO=static:设置为静态IP模式。
    • ONBOOT=yes:确保系统启动时激活此网卡。
    • IPADDR, NETMASK, GATEWAY:分别定义IP地址、子网掩码和网关,注意,如果此网卡不需要访问外网,GATEWAY可以省略,以避免与主网关冲突。
    • DNS1, DNS2:指定DNS服务器。

为第二网卡配置DHCP获取地址

如果网络环境中存在DHCP服务器,配置会相对简单。

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens37
DEVICE=ens37
ONBOOT=yes

只需将 BOOTPROTO 设置为 dhcp,并确保 ONBOOTyes 即可。

第三步:高级应用——网卡绑定

为了实现网络冗余和负载均衡,可以将多块物理网卡绑定成一个逻辑网卡。

绑定模式 名称 描述
mode=0 balance-rr 平衡轮询模式,数据包依次在所有Slave网卡上发送,提供负载均衡和容错。
mode=1 active-backup 主备模式,只有一块网卡处于活动状态,其他作为备份,提供高可用性。
mode=6 balance-alb 自适应负载均衡模式,结合了mode=0的负载均衡和mode=1的容错能力。

配置示例(mode=1 主备模式):

  1. 创建绑定接口配置文件 ifcfg-bond0

    DEVICE=bond0
    NAME=bond0
    TYPE=Bond
    BONDING_OPTS=mode=1 miimon=100
    BOOTPROTO=static
    IPADDR=192.168.10.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.10.1
    ONBOOT=yes
  2. 修改物理网卡配置文件(如 ifcfg-ens33ifcfg-ens37

    CentOS多网卡配置后如何全部启用且设置不同网关?

    # /etc/sysconfig/network-scripts/ifcfg-ens33
    DEVICE=ens33
    NAME=ens33
    TYPE=Ethernet
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    BOOTPROTO=none
    # /etc/sysconfig/network-scripts/ifcfg-ens37
    DEVICE=ens37
    NAME=ens37
    TYPE=Ethernet
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    BOOTPROTO=none

第四步:应用并验证配置

完成配置文件的编辑后,需要重启网络服务以使更改生效。

systemctl restart network

对于CentOS 8/9,推荐使用 nmcli 命令:

nmcli connection reload
nmcli connection up [接口名,如ens37或bond0]

使用 ip addr 检查网卡是否已成功获取IP地址并处于 UP 状态,可以使用 ping 命令测试连通性,特别是对于多网卡环境,可以使用 -I 参数指定从哪个网卡发出ICMP包:

ping -I 192.168.20.10 baidu.com

相关问答FAQs

问题1:配置第二块静态IP网卡后,服务器无法访问外网了,怎么办?
解答: 这是一个典型的路由冲突问题,当系统中有两个网卡都配置了网关时,默认路由可能会变得混乱,解决方法通常是:

  1. 检查默认路由:使用 ip routeroute -n 查看默认路由(0.0.0)指向哪个网关,确保它指向正确的、能够连接外网的网关。
  2. 移除不必要的网关:如果第二块网卡仅用于内网通信,在其配置文件中删除或注释掉 GATEWAY 行,然后重启网络服务,这样系统只会保留一个通往外网的默认路由。
  3. 策略路由:如果需要两块网卡都能访问不同的网络,需要配置策略路由,为不同的源IP地址指定不同的路由表,这属于更高级的网络配置。

问题2:如何确认我的网卡绑定是否工作正常?
解答: 可以通过以下几种方式验证网卡绑定的状态:

  1. 查看绑定接口状态:执行 cat /proc/net/bonding/bond0 命令,输出信息会非常详细地显示 Bonding Mode: active-backupCurrently Active Slave: ens33 以及所有Slave网卡的状态(MII Status: up),如果主网卡故障,你会看到 Currently Active Slave 字段切换到备用网卡。
  2. 物理断开测试:这是最直接的测试方法,在主备模式下,拔掉活动网卡的网线,观察服务器网络是否中断,以及 cat /proc/net/bonding/bond0 的输出是否迅速切换到备用网卡,正常情况下,网络连接只会瞬间中断,然后迅速恢复。
  3. 查看系统日志:使用 journalctl -fdmesg 命令查看系统日志,在网卡状态发生变化时,内核会记录相关事件。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 10:50
下一篇 2025-10-07 10:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信