CentOS 网卡配置详解
在Linux服务器管理中,网络接口卡(网卡)的配置是基础且关键的一步,对于使用CentOS系统的管理员而言,掌握如何正确配置网卡,直接影响服务器的网络连通性和服务可用性,本文将详细讲解CentOS系统上网卡配置的主要方法与实践要点。
基础配置:静态IP与动态获取(DHCP)

CentOS 7及之后的版本,网络管理主要依靠NetworkManager服务和传统的network服务(较新版本更推荐NetworkManager),配置文件通常位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>(如ifcfg-ens33)。
配置静态IP地址:
- 使用文本编辑器(如
vi或nano)打开目标网卡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改或添加以下关键参数:
BOOTPROTO=static # 指定静态IP配置 ONBOOT=yes # 确保系统启动时激活该接口 IPADDR=192.168.1.100 # 设置静态IP地址,请替换为实际地址 NETMASK=255.255.255.0 # 设置子网掩码 # 或者使用更简洁的CIDR表示法(PREFIX) PREFIX=24 # 等同于NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 设置默认网关 DNS1=8.8.8.8 # 设置主DNS服务器 DNS2=8.8.4.4 # 设置备用DNS服务器
- 保存并退出编辑器。
- 应用新配置:
sudo nmcli connection reload # 重新加载NetworkManager连接配置 sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33" # 重启指定连接 # 或者使用传统命令(如果NetworkManager未完全接管) sudo systemctl restart network
- 使用文本编辑器(如
配置DHCP自动获取IP:
- 编辑网卡配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 确保包含以下参数:
BOOTPROTO=dhcp # 指定使用DHCP协议 ONBOOT=yes # 系统启动时激活接口
- 保存退出,并重启网络连接或服务(同上)。
- 编辑网卡配置文件:
多网卡与绑定(Bonding)配置
服务器常配备多块网卡以实现冗余或负载均衡,网卡绑定(Bonding)是将多个物理网卡聚合成一个逻辑接口的技术。
创建绑定接口:

- 创建绑定接口的配置文件(如
ifcfg-bond0):sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0
- 示例(Mode 1 主备模式):
DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BONDING_OPTS="mode=1 miimon=100" # mode=1为主备,miimon检查链路间隔(ms)
- 创建绑定接口的配置文件(如
配置从属接口:
- 修改参与绑定的物理网卡配置文件(如
ifcfg-ens33,ifcfg-ens34):# ifcfg-ens33 内容示例 DEVICE=ens33 ONBOOT=yes MASTER=bond0 # 指定绑定到bond0 SLAVE=yes # 声明为从属接口 BOOTPROTO=none # 不单独配置IP
- 对
ifcfg-ens34做类似配置,将DEVICE改为ens34。
- 对
- 重启NetworkManager或网络服务使配置生效,使用
ip addr show bond0检查绑定状态。
- 修改参与绑定的物理网卡配置文件(如
常用网络工具与故障排查
查看网络接口信息:
ip addr show或ip a:查看所有网络接口及其IP地址、状态。ip link show:查看接口链路层状态(UP/DOWN)。ethtool <接口名>:查看物理网卡详细信息(驱动、速度、双工模式等)。
检查路由与连通性:
ip route show或route -n:查看系统路由表。ping <目标IP或域名>:测试网络连通性。traceroute <目标IP或域名>:追踪数据包路径。nslookup <域名>或dig <域名>:测试DNS解析。
网络服务管理:
systemctl status NetworkManager:查看NetworkManager服务状态。systemctl status network:查看传统network服务状态(CentOS 7+)。nmcli device status:查看NetworkManager管理的设备状态。nmcli connection show:查看所有连接配置。
常见故障点:

- 网卡未激活(DOWN): 检查
ONBOOT=yes,使用sudo ip link set ens33 up手动激活。 - IP配置错误/冲突: 仔细核对IP地址、子网掩码、网关,在同一子网内IP必须唯一。
- 网关不可达: 检查网关地址是否正确,确认网关设备工作正常且路由可达。
- DNS解析失败: 检查
/etc/resolv.conf文件中的DNS服务器配置是否正确(通常由NetworkManager根据网卡配置自动生成),测试DNS服务器是否可达且能解析。 - 物理连接问题: 检查网线、交换机端口、网卡指示灯状态,使用
ethtool查看协商速率和双工模式。 - 防火墙/SELinux干扰: 临时关闭防火墙(
sudo systemctl stop firewalld)和SELinux(sudo setenforce 0)进行测试(生产环境需谨慎,测试后应配置规则而非永久关闭)。
- 网卡未激活(DOWN): 检查
安全与优化建议
- 最小化开放端口: 使用
firewall-cmd(Firewalld)或直接配置iptables/nftables规则,严格控制入站流量。 - SELinux策略: 保持SELinux处于
Enforcing模式,它是重要的安全屏障,遇到网络服务问题时,检查SELinux日志(/var/log/audit/audit.log)并使用audit2allow生成必要的策略模块,而非简单禁用。 - 绑定模式选择: 根据需求选择合适的绑定模式,Mode 0(负载均衡)提供带宽聚合但需要交换机支持;Mode 1(主备)提供冗余;Mode 4(LACP)是标准化的动态聚合模式,最常用且需要交换机配置配合。
- 更新驱动与固件: 定期检查并更新网卡驱动和固件,可以提升性能、稳定性并修复潜在漏洞。
- 配置文件备份: 在对网络配置文件进行重大修改前,务必进行备份,避免配置错误导致服务器失联。
- NetworkManager vs network-scripts: CentOS 8及Stream版本已逐步弱化
network-scripts,推荐优先使用nmcli或nmtui(文本界面工具)进行配置管理,熟悉nmcli命令是现代CentOS管理员的基本功。
掌握CentOS网卡配置是服务器管理的基石,无论是简单的静态IP设置,还是复杂的多网卡绑定,理解其原理并熟练运用配置文件和命令行工具,能够有效保障服务器网络的稳定、高效与安全,务必在修改生产环境配置前做好充分测试与备份,每一次成功的网络配置都是服务器可靠运行的基础。
