为什么问题总反复出现?

当Linux系统重启后IP配置丢失,本质是临时配置与持久化配置的差异,以下按优先级排序解决方案:

权限问题(90%的根源)

   sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0  # CentOS/RHEL
   sudo nano /etc/netplan/01-netcfg.yaml                # Ubuntu 18.04+
  • 关键动作:必须使用sudo或root用户编辑,普通用户保存无权限
  • 验证方法:检查文件属性 ls -l /etc/sysconfig/network-scripts/ifcfg-eth0

配置文件错误(语法/参数)

CentOS/RHEL示例:

   DEVICE=eth0
   BOOTPROTO=static        # 必须为static/none
   ONBOOT=yes              # 开机自启
   IPADDR=192.168.1.100
   NETMASK=255.255.255.0
   GATEWAY=192.168.1.1
   DNS1=8.8.8.8

Ubuntu Netplan示例:

   network:
     version: 2
     ethernets:
       eth0:
         dhcp4: no
         addresses: [192.168.1.100/24]
         gateway4: 192.168.1.1
         nameservers:
           addresses: [8.8.8.8, 1.1.1.1]
  • 致命错误:
    • 拼写错误(如ADDRESS代替IPADDR)
    • 缺少ONBOOT=yes
    • 未关闭DHCP(BOOTPROTO=dhcp未改为static)

网络服务未应用配置

   # CentOS 7:
   sudo systemctl restart network
   # CentOS 8+/RHEL:
   sudo nmcli connection reload
   sudo nmcli connection up eth0
   # Ubuntu Netplan:
   sudo netplan apply  # 必须执行!

进阶故障排除

NetworkManager冲突

   # 查看管理状态:
   nmcli device status
   # 若被NetworkManager接管,需在配置中声明:
   NM_CONTROLLED=no      # CentOS ifcfg文件内添加
  • 解决方案:禁用NetworkManager(不推荐)或学习其配置工具nmtui

系统版本适配问题

发行版 配置文件路径 激活命令
CentOS 6 /etc/sysconfig/network-scripts/ service network restart
CentOS 7/8 /etc/sysconfig/network-scripts/ systemctl restart NetworkManager
Ubuntu 18.04+ /etc/netplan/*.yaml netplan apply
Debian 10+ /etc/network/interfaces systemctl restart networking

只读文件系统(罕见)

   mount | grep " /etc "
   # 若显示ro(read-only),需重挂载:
   sudo mount -o remount,rw /etc

持久化操作规范

  1. 正确修改流程:

    sudo vi /etc/xxx.conf    # 使用vim/nano编辑
    sudo validator-cmd       # 如netplan generate
    sudo apply-cmd           # 如netplan apply
    ip addr show eth0        # 验证IP生效
    sudo reboot              # 最终验证重启留存
  2. 避免的无效操作:

    • 仅用ifconfig eth0 192.168.1.100(临时生效)
    • 在桌面环境设置但未勾选”自动连接”

权威工具推荐

工具 作用 适用场景
nmcli NetworkManager命令行控制 RHEL/CentOS 8+
nmtui NetworkManager文本界面 无GUI环境
iproute2 (ip命令) 查看实时配置 所有发行版
netplan try 测试配置(倒计时回滚) Ubuntu 18.04+

关键提示:云服务器(如AWS/Aliyun)需注意:

  • 检查云平台网络接口配置
  • 禁用cloud-init对网络的覆盖(修改/etc/cloud/cloud.cfg)

引用说明

本文技术要点参考:

  1. Red Hat官方文档 – 网络配置指南
  2. Ubuntu Wiki – Netplan配置示例
  3. Linux man手册(man 5 systemd.network, man interfaces)

通过遵循上述步骤,95%的IP保存问题可解决,若仍失败,建议检查系统日志 journalctl -u NetworkManager 或 dmesg | grep eth0 获取硬件层错误信息。


最后验证:修改后执行 sudo systemctl restart systemd-networkd (systemd系统) 或 sudo service networking restart (SysVinit),并务必重启服务器确认持久化成功。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5808.html

赞 (0)
酷番叔酷番叔
上一篇 2025年6月28日 05:24
下一篇 2025年6月28日 06:18

相关推荐

  • linux中如何做软连接

    Linux 中,可使用 `ln -s [源文件或目录] [软连接名

    2025年8月9日
    22000
  • Linux教程,如何创建文件夹?命令操作方法详解

    在Linux操作系统中,文件夹(也称目录)是文件系统的基础结构,用于组织和管理文件,与Windows图形化操作不同,Linux主要通过命令行实现目录创建,核心命令是mkdir(make directories的缩写),本文将详细讲解mkdir命令的用法,从基础语法到高级场景,帮助用户全面掌握Linux目录创建技……

    2025年9月22日
    29800
  • linux phd文件如何打开

    nux下PHD文件可尝试用文本编辑器如vi、nano或专业

    2025年8月19日
    19300
  • 为什么努力不如选择重要?

    在Linux系统中打包内核是将编译好的内核及其模块封装成可安装的软件包(如.deb或.rpm),便于分发、部署和版本管理,以下是详细操作流程,适用于Debian/Ubuntu(使用deb包)和RHEL/CentOS/Fedora(使用rpm包)两大主流发行版:准备工作安装编译工具和依赖# Debian/Ubun……

    2025年8月5日
    21100
  • 如何通过命令行修改Linux系统日期?

    在Linux系统中,日期和时间的修改是常见操作,无论是为了系统日志记录、定时任务执行,还是时区调整,都需要掌握正确的方法,Linux系统的时间管理涉及两个核心时钟:系统时钟(由Linux内核维护,从开机到关机期间有效)和硬件时钟(由主板CMOS电池供电,关机后仍运行),修改时间时需注意两者的同步,否则重启后时间……

    2025年8月30日
    21300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信