前言
生产服务器网络两大刚需:固定静态 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
命令逐段解析
nmcli connection add:新建网络连接配置
type ethernet:连接类型为以太网网卡
con-name ens88:连接自定义名称(可随意命名)
ifname ens88:绑定真实物理网卡设备名 ens88
ipv4.method manual:IPv4 手动静态模式(替代 DHCP 自动获取)
ipv4.addresses 10.10.10.10/24:静态 IP + 子网前缀(/24 等价 255.255.255.0)
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、开机自启。
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
命令解析
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 种工作模式,重点区分交换机是否需要配置:
重点模式补充说明
active-backup (mode1) 推荐生产对外服务
无交换机改造成本,只有一块网卡承载业务,网线 / 网卡损坏自动切换备用网卡,不会出现数据包乱序,稳定性最高。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
七、常见踩坑总结
- CentOS ifcfg 配置忘记
ONBOOT=yes,服务器重启网卡不启动; - Ubuntu netplan 使用 Tab 缩进、冒号后无空格,配置直接报错;
- Bond mode4 (LACP) 未在交换机配置聚合,网卡无法正常通信;
- 主备 bond 模式下交换机做端口聚合,会出现大量丢包;
- 配置完 IP 不生效:执行
nmcli connection up 网卡名重载连接。