首页 > 运维 > CentOS > 正文

怎么改CentOS网卡_CentOS网卡配置修改与多网卡绑定教程

絕刀狂花
发布: 2025-09-01 08:21:01
原创
821人浏览过
修改CentOS网卡配置需编辑/etc/sysconfig/network-scripts/下的ifcfg-文件,如ifcfg-eth0,设置静态IP或DHCP;对于多网卡绑定,需创建ifcfg-bond0并配置BONDING_OPTS,将物理网卡设为从属接口,最后重启网络服务生效。

怎么改centos网卡_centos网卡配置修改与多网卡绑定教程

在CentOS系统中,修改网卡配置的核心操作是编辑位于

/etc/sysconfig/network-scripts/
登录后复制
目录下的
ifcfg-
登录后复制
文件,例如
ifcfg-eth0
登录后复制
ifcfg-enpXsY
登录后复制
,然后通过重启网络服务或特定的网卡接口来应用更改。对于多网卡绑定(Bonding),则需要创建新的
ifcfg-bond0
登录后复制
配置文件,并相应地修改物理网卡的配置,将它们设定为Bonding接口的从属设备,以实现网络冗余或带宽聚合。

解决方案

修改CentOS网卡配置通常涉及几个步骤,这取决于你是要配置单网卡,还是进行多网卡绑定。在我看来,直接编辑配置文件是最直接也最能理解其原理的方式,尽管图形界面工具也很方便。

1. 单网卡配置修改

首先,我们需要找到要修改的网卡配置文件。通常,它们位于

/etc/sysconfig/network-scripts/
登录后复制
目录下,命名格式为
ifcfg-
登录后复制
加上网卡名称,比如
ifcfg-eth0
登录后复制
ifcfg-enp0s3
登录后复制

  • 静态IP配置示例: 假设我们要将

    eth0
    登录后复制
    配置为静态IP地址。

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    登录后复制

    文件内容大致会是这样,你需要根据实际情况修改或添加:

    TYPE=Ethernet
    BOOTPROTO=static  # 设置为静态IP
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=eth0
    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # 每个网卡都有一个唯一的UUID
    DEVICE=eth0
    ONBOOT=yes        # 系统启动时激活网卡
    IPADDR=192.168.1.100 # 你的IP地址
    NETMASK=255.255.255.0 # 子网掩码
    GATEWAY=192.168.1.1   # 网关
    DNS1=8.8.8.8      # 首选DNS服务器
    DNS2=8.8.4.4      # 备用DNS服务器
    登录后复制

    如果想使用DHCP,只需将

    BOOTPROTO=static
    登录后复制
    改为
    BOOTPROTO=dhcp
    登录后复制
    ,并删除
    IPADDR
    登录后复制
    NETMASK
    登录后复制
    GATEWAY
    登录后复制
    DNS
    登录后复制
    相关的行即可。

  • 应用更改: 修改完配置文件后,需要重启网络服务或仅重启该网卡。 对于CentOS 7/8,通常使用

    NetworkManager
    登录后复制
    network
    登录后复制
    服务:

    sudo systemctl restart network # 如果使用传统的network服务
    # 或者
    sudo nmcli connection reload # 重新加载NetworkManager配置
    sudo nmcli connection up eth0 # 激活eth0连接
    登录后复制

    检查网络状态:

    ip a
    登录后复制
    ifconfig
    登录后复制
    (如果已安装)。

2. 多网卡绑定(Bonding)配置

多网卡绑定能提供冗余或增加带宽,这在服务器环境中非常常见。我个人偏爱

active-backup
登录后复制
模式,因为它配置简单,且能有效防止单点故障。

  • 加载Bonding模块: 首先确保Bonding模块已加载。

    sudo modprobe bonding
    登录后复制

    为了让它在系统重启后依然生效,需要将其添加到模块加载配置中:

    echo "bonding" | sudo tee /etc/modules-load.d/bonding.conf
    登录后复制
  • 创建Bonding接口配置文件: 创建一个名为

    ifcfg-bond0
    登录后复制
    的新文件:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0
    登录后复制

    文件内容示例(以

    mode=1
    登录后复制
    ,即
    active-backup
    登录后复制
    为例):

    DEVICE=bond0
    NAME=bond0
    TYPE=Bond
    BONDING_MASTER=yes
    BOOTPROTO=static
    IPADDR=192.168.1.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    ONBOOT=yes
    BONDING_OPTS="mode=1 miimon=100" # mode=1表示active-backup,miimon=100表示每100ms检查一次链路状态
    登录后复制

    BONDING_OPTS
    登录后复制
    是关键,它定义了Bonding模式和其他参数。

  • 修改物理网卡配置文件: 将需要绑定的物理网卡(如

    eth0
    登录后复制
    eth1
    登录后复制
    )配置为
    bond0
    登录后复制
    的从属接口。 对于
    ifcfg-eth0
    登录后复制

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    登录后复制

    修改为:

    TYPE=Ethernet
    BOOTPROTO=none # 物理网卡本身不再获取IP
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    MASTER=bond0   # 指定主接口为bond0
    SLAVE=yes      # 标记为从属接口
    # UUID等其他行保持不变或删除IP相关配置
    登录后复制

    对于

    ifcfg-eth1
    登录后复制
    ,进行类似的修改:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
    登录后复制

    修改为:

    TYPE=Ethernet
    BOOTPROTO=none
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    登录后复制
  • 应用更改:

    sudo systemctl restart network
    # 或者
    sudo nmcli connection reload
    sudo nmcli connection up bond0
    登录后复制

    验证Bonding状态:

    cat /proc/net/bonding/bond0
    登录后复制

    这将显示Bonding模式、从属接口以及它们的状态(哪个是活动的,哪个是备用的)。

CentOS网卡配置文件详解与常见问题排查

理解CentOS网卡配置文件的每一个参数,对于进行精细化调整和故障排查至关重要。这些

ifcfg-
登录后复制
文件,在我看来,是系统网络配置的“基因组”,每一个字段都承载着特定的功能。

常见配置参数详解:

图改改
图改改

在线修改图片文字

图改改 455
查看详情 图改改
  • TYPE
    登录后复制
    : 定义接口类型,如
    Ethernet
    登录后复制
    Bridge
    登录后复制
    Bond
    登录后复制
    等。对于物理网卡,通常是
    Ethernet
    登录后复制
  • DEVICE
    登录后复制
    : 指定设备名称,如
    eth0
    登录后复制
    enp0s3
    登录后复制
    bond0
    登录后复制
  • NAME
    登录后复制
    : 连接名称,
    NetworkManager
    登录后复制
    使用此名称。通常与
    DEVICE
    登录后复制
    相同。
  • UUID
    登录后复制
    : 设备的唯一标识符,
    NetworkManager
    登录后复制
    用来识别连接。通常无需手动修改。
  • ONBOOT
    登录后复制
    : 设置为
    yes
    登录后复制
    表示系统启动时激活此接口;
    no
    登录后复制
    则不激活。
  • BOOTPROTO
    登录后复制
    : 引导协议。
    • none
      登录后复制
      :不使用任何协议,通常用于从属接口或需要手动配置的情况。
    • static
      登录后复制
      :静态IP配置。
    • dhcp
      登录后复制
      :通过DHCP服务器获取IP地址。
  • IPADDR
    登录后复制
    : 静态IP地址。
  • NETMASK
    登录后复制
    : 子网掩码。
  • PREFIX
    登录后复制
    : CIDR格式的子网掩码,例如
    PREFIX=24
    登录后复制
    等同于
    NETMASK=255.255.255.0
    登录后复制
    。与
    NETMASK
    登录后复制
    二选一。
  • GATEWAY
    登录后复制
    : 默认网关。
  • DNS1
    登录后复制
    ,
    DNS2
    登录后复制
    : DNS服务器地址。
  • MASTER
    登录后复制
    ,
    SLAVE
    登录后复制
    : 用于Bonding或Bridge配置,
    MASTER
    登录后复制
    指向主接口,
    SLAVE=yes
    登录后复制
    表示当前接口是从属接口。
  • BONDING_OPTS
    登录后复制
    : Bond接口的特定选项,如
    mode
    登录后复制
    miimon
    登录后复制
    等。
  • NM_CONTROLLED
    登录后复制
    :
    yes
    登录后复制
    no
    登录后复制
    ,表示该接口是否由
    NetworkManager
    登录后复制
    管理。设置为
    no
    登录后复制
    可以避免
    NetworkManager
    登录后复制
    的干扰,但会失去其便利性。

常见问题排查:

当网络配置出现问题时,我通常会从以下几个角度入手:

  1. 检查配置文件语法: 最常见的错误是配置文件中的拼写错误或格式问题。
    vi
    登录后复制
    编辑器通常不会报错,所以要仔细核对。
  2. 网络服务状态:
    • sudo systemctl status network
      登录后复制
      sudo systemctl status NetworkManager
      登录后复制
      :查看网络服务的运行状态和日志,这往往能直接指出问题所在。
    • sudo journalctl -xe | grep -i network
      登录后复制
      :更详细地查看系统日志中与网络相关的错误信息。
  3. IP地址冲突: 确保你配置的静态IP地址在网络中是唯一的,没有与其他设备冲突。
  4. 路由问题:
    • ip route show
      登录后复制
      :检查默认网关和路由表是否正确。
    • ping <网关IP>
      登录后复制
      :测试与网关的连通性。
    • ping 8.8.8.8
      登录后复制
      :测试外部网络的连通性,同时检查DNS解析是否正常。
  5. 防火墙规则:
    • sudo systemctl status firewalld
      登录后复制
      :如果
      firewalld
      登录后复制
      正在运行,它可能会阻止某些流量。
    • sudo firewall-cmd --list-all
      登录后复制
      :查看当前的防火墙规则。
    • 暂时禁用防火墙(仅用于测试,生产环境不推荐):
      sudo systemctl stop firewalld
      登录后复制
  6. 网卡驱动问题: 少数情况下,可能是网卡驱动不兼容或未正确加载。
    • lspci -k | grep -EA3 'Ethernet|Network'
      登录后复制
      :查看网卡及其正在使用的内核模块。
    • sudo dmesg | grep -i eth
      登录后复制
      :查看启动时网卡相关的内核消息。
  7. NetworkManager
    登录后复制
    network
    登录后复制
    服务冲突:
    在某些旧版本的CentOS或特定配置下,这两个服务可能会相互干扰。通常建议只启用其中一个来管理网络。

深入理解多网卡绑定(Bonding)模式选择与最佳实践

Bonding不仅仅是简单的聚合,其内部的模式选择直接决定了你的网络性能、冗余能力和实现复杂度。在我多年的实践中,选择合适的Bonding模式是确保高可用性和性能的关键。

Bonding模式详解:

  • mode=0
    登录后复制
    (balance-rr / Round-robin)

    • 特点:按顺序在每个从属接口上传输数据包,实现负载均衡。
    • 优点:提供最大吞吐量,能将带宽叠加。
    • 缺点:不提供故障转移,如果其中一个链路断开,连接可能会中断。需要交换机支持链路聚合(LACP或静态聚合)。
    • 适用场景:对吞吐量要求极高的应用,且交换机支持聚合。
  • mode=1
    登录后复制
    (active-backup)

    • 特点:只有一个从属接口处于活动状态,其他接口作为备份。当活动接口故障时,备份接口接管。
    • 优点:提供高可用性,配置简单,不需要特殊的交换机配置。
    • 缺点:带宽不叠加,始终只有一个接口在工作。
    • 适用场景:对可靠性要求高,但对带宽叠加无强烈需求的环境。这是我个人最常推荐的模式,因为它兼顾了稳定和简单。
  • mode=2
    登录后复制
    (balance-xor)

    • 特点:基于源MAC地址、目标MAC地址或IP地址的异或运算来选择传输接口。
    • 优点:在一定程度上实现负载均衡,提供故障转移。
    • 缺点:负载均衡效果不如
      mode=0
      登录后复制
      mode=4
      登录后复制
      理想,可能出现某个链路负载过高的情况。
    • 适用场景:需要一定负载均衡,但交换机不支持LACP的场景。
  • mode=3
    登录后复制
    (broadcast)

    • 特点:在所有从属接口上广播所有数据包。
    • 优点:提供最大程度的容错,但通常不实用。
    • 缺点:带宽利用率极低,网络流量巨大,可能造成网络拥塞。
    • 适用场景:特殊需求,如某些旧式网络设备或诊断。
  • mode=4
    登录后复制
    (802.3ad / LACP)

    • 特点:基于IEEE 802.3ad标准,通过LACP协议与交换机协商,动态地聚合多个链路。
    • 优点:提供先进的负载均衡和故障转移,带宽叠加,智能识别链路状态。
    • 缺点:需要交换机支持LACP协议并进行相应配置,配置相对复杂。
    • 适用场景:企业级数据中心,对性能和高可用性都有严格要求的环境。
  • mode=5
    登录后复制
    (tlb / Adaptive Transmit Load Balancing)

    • 特点:基于当前接口的负载情况进行出站流量的负载均衡,入站流量由单个活动接口处理。
    • 优点:无需交换机支持,提供负载均衡。
    • 缺点:入站流量仍受限于单个接口。
    • 适用场景:当交换机不支持LACP,但需要一定程度的负载均衡时。
  • mode=6
    登录后复制
    (alb / Adaptive Load Balancing)

    • 特点:在
      mode=5
      登录后复制
      的基础上,增加了入站流量的负载均衡(通过ARP欺骗实现)。
    • 优点:无需交换机支持,提供全面的负载均衡。
    • 缺点:配置相对复杂,可能与某些网络设备不兼容。
    • 适用场景:与
      mode=5
      登录后复制
      类似,但对入站负载均衡也有需求。

最佳实践:

  1. 明确需求定模式: 如果只求高可用,
    mode=1
    登录后复制
    是首选;如果追求最大带宽和智能管理,且交换机支持,
    mode=4
    登录后复制
    是最佳。
  2. miimon
    登录后复制
    参数:
    务必设置
    miimon
    登录后复制
    参数(例如
    miimon=100
    登录后复制
    ),它定义了Bonding驱动检查从属接口链路状态的频率(毫秒)。这对于快速检测链路故障至关重要。
  3. 交换机配置匹配: 特别是
    mode=0
    登录后复制
    mode=4
    登录后复制
    ,必须确保交换机的端口组配置与Bonding模式相匹配,否则可能导致网络不通或性能异常。
  4. MTU一致性: 绑定组内所有从属接口以及Bonding接口本身的MTU(最大传输单元)应保持一致,以避免网络碎片化和性能下降。
  5. 测试故障转移: 配置完成后,务必通过拔掉网线或禁用接口的方式,测试Bonding的故障转移功能是否按预期工作。
  6. 监控: 部署监控工具,持续关注Bonding接口的状态和性能,
    cat /proc/net/bonding/bond0
    登录后复制
    是一个很好的起点。

结合nmcli与nmtui工具,高效管理CentOS网络配置

虽然直接编辑配置文件能让我们深入理解网络配置的底层逻辑,但在日常管理中,

nmcli
登录后复制
nmtui
登录后复制
这两个工具无疑是效率的利器,尤其是在
NetworkManager
登录后复制
作为默认网络管理服务的CentOS 7/8中。它们提供了一种更现代化、更友好的交互方式。

nmtui
登录后复制
:图形化文本界面,快速上手

nmtui
登录后复制
(NetworkManager Text User Interface)是一个基于文本的图形化界面工具,非常适合那些不习惯命令行参数或需要快速进行网络配置的场景。它的交互式菜单,在我看来,大大降低了配置错误的风险。

  • 启动

    nmtui
    登录后复制

    sudo nmtui
    登录后复制

    启动后,你会看到一个主菜单,包含“Edit a connection”、“Activate a connection”、“Set system hostname”等选项。

  • 编辑连接: 选择“Edit a connection”,然后选择你想要修改的网卡连接(例如

    eth0
    登录后复制
    bond0
    登录后复制
    ),按下回车。 在这里,你可以直观地修改IP地址、子网掩码、网关、DNS服务器,以及设置是否自动启动(
    Automatically connect
    登录后复制
    )。对于Bonding,你也可以在这里添加或修改从属接口。 修改完成后,选择“OK”,然后回到主菜单,选择“Activate a connection”来激活你修改的连接。

nmcli
登录后复制
:命令行工具,强大且可脚本化

nmcli
登录后复制
(NetworkManager Command Line Interface)是
NetworkManager
登录后复制
的命令行接口,它功能强大

以上就是怎么改CentOS网卡_CentOS网卡配置修改与多网卡绑定教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号