当前位置:首页>Linux>运维干货|Linux 静态 IP + 网卡 Bond 完整实战指南(CentOS/Ubuntu 双平台)

运维干货|Linux 静态 IP + 网卡 Bond 完整实战指南(CentOS/Ubuntu 双平台)

  • 2026-10-11 05:51:52
运维干货|Linux 静态 IP + 网卡 Bond 完整实战指南(CentOS/Ubuntu 双平台)

前言

生产服务器网络两大刚需:固定静态 IP、多网卡 Bond 冗余 / 带宽聚合。本文覆盖 CentOS 传统配置文件、nmcli 命令行、Ubuntu netplan 三种主流方案,每条命令附带详细解析,同时完整梳理 Bond 七种工作模式,机房部署、故障切换直接抄作业。

一、CentOS 配置静态 IP

方式 1:传统 ifcfg 配置文件(CentOS7 通用)

1. 编辑网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

完整配置参数解析:

TYPE="Ethernet"          # 网卡类型:以太网BOOTPROTO="static"       # IP获取方式:static静态;dhcp自动;none无地址DEFROUTE="yes"           # 将此网卡作为系统默认路由出口IPV4_FAILURE_FATAL="no"  # IPv4配置失败不阻止系统启动IPV6INIT="yes"           # 开启IPv6支持NAME="ens33"             # 网卡连接名称DEVICE="ens33"           # 真实物理网卡设备名,必须和实际网卡一致IPADDR=192.168.1.100     # 服务器静态IPv4地址NETMASK=255.255.255.0    # 子网掩码,对应/24网段GATEWAY=192.168.1.254    # 网关地址,网段出口路由DNS1=114.114.114.114     # 主DNS解析服务器DNS2=8.8.8.8             # 备用DNS解析服务器ONBOOT="yes"             # 开机自动激活网卡,生产环境必须开启

配置文件截图:

2. 保存退出 + 重启网络生效

# vi编辑器操作:按i进入编辑,改完ESC,输入:wq 保存退出:wq# 重启网络服务(CentOS7传统网络服务)service network restart# 验证IP是否配置成功ip add

方式 2:nmcli 命令行配置单网卡(CentOS8+/RHEL8 + 推荐)

无需手动编辑配置文件,命令执行永久生效,底层自动生成 ifcfg 文件。

# 新建网卡连接,配置静态IP、网关nmcli connection add type ethernet con-name ens88 ifname ens88 ipv4.method manual ipv4.addresses 10.10.10.10/24 ipv4.gateway 10.10.10.254

命令逐段解析

    1. nmcli connection add:新建网络连接配置

    2. type ethernet:连接类型为以太网网卡

    3. con-name ens88:连接自定义名称(可随意命名)

    4. ifname ens88:绑定真实物理网卡设备名 ens88

    5. ipv4.method manual:IPv4 手动静态模式(替代 DHCP 自动获取)

    6. ipv4.addresses 10.10.10.10/24:静态 IP + 子网前缀(/24 等价 255.255.255.0)

    7. ipv4.gateway 10.10.10.254:配置默认网关

    配套验证命令:

    # 刷新网卡连接,让配置生效nmcli connection up ens88# 查看网卡配置文件是否生成ls /etc/sysconfig/network-scripts/# 查看完整网卡信息cat /etc/sysconfig/network-scripts/ifcfg-ens88

    配置文件截图:

    二、CentOS nmcli 配置 Bond 网卡绑定

    采用 active-backup 主备模式,将 ens10、ens20 绑定为 bond0,一次性配置 IP、网关、DNS、开机自启。

    1. 创建 bond 逻辑网卡
    nmcli con add type bond con-name bond0 ifname bond0 mode active-backup

    命令解析

    • type bond:创建 bond 逻辑绑定网卡

    • con-name bond0:bond 连接名称

    • ifname bond0:系统识别的逻辑网卡设备名 bond0

    • mode active-backup:绑定模式为主备模式(mode1),无需交换机额外配置

    2. 添加两块物理网卡作为 bond 从设备

    # 添加ens10nmcli con add type ethernet con-name ens10 ifname ens10 master bond0# 添加ens20nmcli con add type ethernet con-name ens20 ifname ens20 master bond0

    解析:master bond0 指定网卡归属 bond0 绑定组

    3. 给 bond0 配置全套网络参数

    # 配置IP与子网nmcli con modify bond0 ipv4.addresses 192.168.10.1/24# 配置网关nmcli con modify bond0 ipv4.gateway 192.168.10.254# 配置DNSnmcli con modify bond0 ipv4.dns 114.114.114.114# 开启静态IP,关闭DHCPnmcli con modify bond0 ipv4.method manual# 开机自动启动bond网卡nmcli con modify bond0 connection.autoconnect yes

    4. 重载配置并激活 bond

    # 重载所有网络连接配置nmcli connection reload# 上线激活bond0绑定网卡nmcli connection up bond0

    5. 日常查看 / 维护命令

    nmcli con show                 # 查看所有网卡绑定状态systemctl restart NetworkManager # 重启网络服务nmcli connection down bond0    # 下线bond(模拟故障)nmcli connection up bond0      # 上线bond

    配置文件截图:

    三、Ubuntu Netplan 配置静态 IP(Ubuntu18.04+)

    Ubuntu 使用 YAML 格式 netplan 管理网络,严格要求空格缩进,禁止 Tab;冒号后必须加空格。

    1. 编辑 netplan 配置文件

    sudo vim /etc/netplan/00-installer-config.yaml

    标准静态 IP 模板:

    network:  ethernets:    ens33:      addresses: [192.168.2.100/24]  # 静态IP+子网      # 新版标准默认路由写法,废弃gateway4      routes:        - to: default          via: 192.168.2.254          # 网关地址      nameservers:        addresses: [223.5.5.5, 114.114.114.114] # DNS  version: 2

    2. 配置生效命令(生产推荐先测试)

    # netplan try:测试配置,120秒内无异常自动保存,断网自动回滚(推荐优先执行)sudo netplan try# netplan apply:永久写入配置,重启保留sudo netplan apply

    配置文件截图:

    四、Ubuntu Netplan 配置 Bond 两种常用模式

    模式 1:active-backup 主备 Bond(无需交换机配置,线上高可用首选)

    完整 yaml 配置:

    network:  ethernets:    ens10:      optional: true  # 解析:网卡启动失败不阻塞系统开机    ens20:      optional: true  bonds:    bond0:      interfaces: [ens10, ens20]  # 绑定两块物理网卡      parameters:        mode: active-backup       # 主备模式mode=1        mii-monitor-interval: 100 # 链路检测间隔100ms,快速故障切换      addresses: [192.168.2.100/24]      routes:        - to: default          via: 192.168.2.1      nameservers:        addresses: [223.5.5.5, 8.8.8.8]  version: 2

    配置文件截图:

    模式 2:802.3ad LACP 聚合 Bond(带宽叠加,交换机需配置 LACP)

    完整 yaml 配置:

    network:  ethernets:    ens10:      optional: true    ens20:      optional: true  bonds:    bond0:      interfaces: [ens10, ens20]      parameters:        mode: 802.3ad             # LACP聚合mode=4        mii-monitor-interval: 100        transmit-hash-policy: layer3+4 # 基于源目IP做流量负载均衡      addresses: [192.168.2.100/24]      routes:        - to: default          via: 192.168.2.1      nameservers:        addresses: [223.5.5.5, 8.8.8.8]  version: 2

    配置文件截图:

    生效命令

    sudo netplan trysudo netplan apply

    五、Linux Bond 七种模式完整详解(生产选型必看)

    Bond 内核驱动将多块物理网卡虚拟成 1 个逻辑网卡 bond0,实现故障容错或带宽叠加,共 7 种工作模式,重点区分交换机是否需要配置:

    重点模式补充说明

    1. active-backup (mode1) 推荐生产对外服务

      无交换机改造成本,只有一块网卡承载业务,网线 / 网卡损坏自动切换备用网卡,不会出现数据包乱序,稳定性最高。
    2. 802.3ad (mode4) 推荐内网高性能集群

      两块千兆网卡可叠加为 2G 带宽,但必须交换机对应端口开启 LACP 聚合,否则网络不通;transmit-hash-policy:layer3+4优化 IP 层流量均衡。

    六、Bond 常用验证排查命令

    # 1. 查看bond网卡IP信息ip addr show bond0# 2. 查看bond详细绑定状态(主备网卡、故障记录)cat /proc/net/bonding/bond0# 3. 查看所有网络连接nmcli connection show# 4. 重启网络服务(CentOS8+/Ubuntu)systemctl restart NetworkManager

    七、常见踩坑总结

    1. CentOS ifcfg 配置忘记ONBOOT=yes,服务器重启网卡不启动;
    2. Ubuntu netplan 使用 Tab 缩进、冒号后无空格,配置直接报错;
    3. Bond mode4 (LACP) 未在交换机配置聚合,网卡无法正常通信;
    4. 主备 bond 模式下交换机做端口聚合,会出现大量丢包;
    5. 配置完 IP 不生效:执行nmcli connection up 网卡名重载连接。

    最新文章

    随机文章