You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CentOS修改ifcfg-eth1配置静态IP,重启后仍未生效求助

CentOS修改ifcfg-eth1静态IP不生效的排查方案

这种情况我在CentOS环境里碰过好几次,多半是配置细节或服务逻辑出了问题,挨个排查下面这些点应该能解决:

  • 确认网卡名称与配置文件匹配
    先执行ip addr show命令确认实际的网卡名称——有些CentOS版本(尤其是7+)会用enp0s3这类命名而非eth1,如果你的网卡实际叫别的名字,那修改ifcfg-eth1自然不会生效。要确保配置文件的文件名和网卡设备名完全一致,且文件存放在/etc/sysconfig/network-scripts/目录下。

  • 检查配置文件关键参数是否正确
    打开/etc/sysconfig/network-scripts/ifcfg-eth1,确保以下核心参数没有写错:

    • BOOTPROTO=static:必须设为static而非dhcp
    • ONBOOT=yes:确保系统启动时激活该网卡
    • IPADDRNETMASKGATEWAY:检查IP地址、子网掩码、网关的格式是否正确,不要有多余空格或拼写错误(比如写成IPADDRR
      给你一个标准的静态IP配置示例参考:
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    NAME=eth1
    UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxx
    DEVICE=eth1
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    
  • 正确重启网络服务
    光修改配置文件还不够,需要重载网络配置并重启服务:

    • CentOS 6及更早版本:service network restart
    • CentOS 7及以上:systemctl restart network
      或者更精准地重启单个网卡:nmcli con reload && nmcli con up eth1
  • 排查NetworkManager的干扰
    如果你的系统运行着NetworkManager服务,它可能会自动覆盖手动配置的网卡参数。可以临时停止并禁用它试试:

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl restart network
    

    之后再用ip addr show eth1检查配置是否生效。

  • 检查网卡状态是否为UP
    执行ip link show eth1,如果输出里显示DOWN,说明网卡未激活,手动启用它:ip link set eth1 up,再重启网络服务。

  • SELinux的潜在影响
    虽然概率不高,但SELinux可能会阻止系统读取修改后的配置文件。可以临时关闭SELinux测试:setenforce 0,然后重启网络服务。如果生效了,再通过semanage命令添加相应的SELinux规则,或者修改配置文件的上下文。

  • 排查配置文件冲突
    检查/etc/sysconfig/network-scripts/目录下是否存在其他针对eth1的配置文件(比如ifcfg-eth1.bak或者命名类似的文件),系统可能加载了其他文件导致配置被覆盖,建议只保留正确的ifcfg-eth1文件。

内容的提问来源于stack exchange,提问作者Vahid Naderi

火山引擎 最新活动