在centos中配置网卡ip需确保四要素:准确网卡名(如ens33)、bootproto=static、onboot=yes、正确重启网络服务(networkmanager启用时用nmcli reload/up,禁用时用systemctl restart network)。

在 CentOS 中配置网卡 IP 地址,关键不是“改哪一行”,而是确保四个核心要素全部到位:网卡名准确、协议设为静态、开机自启打开、网络服务正确重启。漏掉任意一项都可能导致配置不生效。
确认真实网卡名称
别凭经验写 eth0——现代 CentOS(尤其 7+)默认使用如 ens33、enp0s3 或 eno1 这类可预测命名。运行以下命令查看:
- ip -br a:列出所有接口及其状态,找带 UP 标记的以太网设备
- ls /sys/class/net/:直接看系统识别出的网卡名列表
后续所有配置必须严格使用这个名称,比如 ens33,否则文件白改、服务白启。
编辑主网卡配置文件
路径固定为:/etc/sysconfig/network-scripts/ifcfg-你的网卡名(例如 ifcfg-ens33)。用 vi 或 nano 打开后,确保包含以下几项(其他字段可保留或删减):
- BOOTPROTO=static(不能是 dhcp 或 none,虽然部分版本 accept none,但 static 更明确可靠)
- ONBOOT=yes(最常被忽略!设为 no 就算配对了也根本不起)
- IPADDR=192.168.1.100(只写 IP,不要加 /24)
- NETMASK=255.255.255.0(不是 PREFIX=24,也不是 CIDR 形式)
- GATEWAY=192.168.1.1(仅一个默认网关;多个需额外 route)
- DNS1=8.8.8.8 和 DNS2=114.114.114.114(写在这里比改 /etc/resolv.conf 更稳定,避免被 NetworkManager 覆盖)
重启网络服务要分情况
CentOS 7+ 默认启用 NetworkManager,它会接管配置加载。不能只改文件就跑 systemctl restart network:
- 若 systemctl is-active NetworkManager 返回 active:先执行 nmcli connection reload,再查连接名 nmcli connection show,最后 nmcli connection down "System ens33" && nmcli connection up "System ens33"
- 若已禁用 NetworkManager(inactive):直接运行 systemctl restart network
切忌直接 reboot 验证——既慢又掩盖问题。改完立刻用 ip addr show ens33 和 ping -c3 192.168.1.1 快速验证是否生效。
临时调试可用 ip 命令
不想改文件时,用 ip 添加 IP 最快:
- sudo ip addr add 192.168.1.101/24 dev ens33(立即生效,重启丢失)
- sudo ip route add default via 192.168.1.1(补网关)
- echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf(补 DNS)
适合快速测试连通性,或排查配置文件是否真被读取。确认无误后再固化到 ifcfg 文件中。











