先看ip link show中state是否为UP,若为DOWN则网卡未激活,静态IP不会生效;再核对配置文件ONBOOT=yes、DEVICE与实际网卡名一致、BOOTPROTO=static等参数正确。

确认网卡是否真正启用
配置写对了,不代表网卡就起来了。先用 ip link show 查看接口状态,重点看是否显示 UP。如果显示 DOWN,说明物理或逻辑层面没激活,静态IP自然不会生效。
常见原因包括:
- ONBOOT=no:配置文件里设了不随系统启动,得手动 up
- NM_CONTROLLED=yes 但 NetworkManager 没管这个接口,或冲突未接管
- 配置文件名和 DEVICE/NAME 不一致,系统压根没读它
检查配置文件语法与关键参数
进到 /etc/sysconfig/network-scripts/(CentOS/RHEL)或对应发行版路径,打开 ifcfg-xxx 文件,逐项核对:
- BOOTPROTO=static 或 none(不能是 dhcp)
- DEVICE 和 NAME 必须与网卡实际名称完全一致(如 ens33)
- IPADDR 和 PREFIX(或 NETMASK)要匹配,比如 192.168.1.100/24 对应掩码 255.255.255.0
- GATEWAY 虽非强制生效条件,但缺它会导致无法跨网段通信,容易误判为“IP没配上”
验证配置是否被加载
改完配置别急着 reboot,先试加载:
- 执行 sudo ifdown eth0 && sudo ifup eth0(注意替换接口名)
- 若提示 "device is not active" 或报 NetworkManager 冲突,可临时停掉:sudo systemctl stop NetworkManager,再试 ifup
- 成功后立刻运行 ip addr show eth0,确认 inet 行出现你配的 IP
如果 still 没地址,检查 /var/log/messages 或 journalctl -u network 看加载时有无报错,比如路径错误、参数拼写错误(如写成 IPADDRS)、权限不足等。
排除服务与环境干扰
有些场景下,配置文件看似正确,但被更高优先级机制覆盖:
- 使用 Netplan(Ubuntu 18.04+)或 NetworkManager 图形界面时,ifcfg-* 文件可能被忽略
- 云平台或容器环境,网络由外部控制器管理,本地配置无效
- SELinux 或 apparmor 限制了网络服务读取配置文件(少见但需留意)
快速判断方式:运行 nmcli device show 或 netplan get,看当前生效的是哪套配置体系。


















