Linux设置IP地址如何永久生效?

通用原则

  1. 临时 vs 永久配置
    • ip addr addifconfig 命令:临时生效(重启失效)。
    • 修改配置文件或使用工具:永久保存
  2. 操作前备份
    sudo cp /etc/network/interfaces /etc/network/interfaces.bak  # Debian/Ubuntu
    sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak  # CentOS/RHEL

不同发行版的保存方法

Debian/Ubuntu(使用 netplaninterfaces

  • 方法1:netplan(Ubuntu 18.04+)
    编辑YAML配置文件(如 /etc/netplan/01-netcfg.yaml):

    network:
      version: 2
      ethernets:
        ens33:  # 网卡名
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]

    应用配置:

    sudo netplan apply
  • 方法2:interfaces(旧版)
    编辑 /etc/network/interfaces

    auto ens33
    iface ens33 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      gateway 192.168.1.1
      dns-nameservers 8.8.8.8

    重启网络服务:

    sudo systemctl restart networking

CentOS/RHEL(7+)

  • 步骤:
    编辑网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-ens33):

    TYPE=Ethernet
    BOOTPROTO=static  # 静态IP
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8

    重启网络服务:

    sudo systemctl restart NetworkManager
    # 或旧版
    sudo service network restart

Arch/Manjaro(使用 systemd-networkd

  • 创建配置文件 /etc/systemd/network/20-wired.network

    [Match]
    Name=eth0
    [Network]
    Address=192.168.1.100/24
    Gateway=192.168.1.1
    DNS=8.8.8.8

    启用服务:

    sudo systemctl enable --now systemd-networkd

使用网络管理工具

  • nmcli(通用)
    1. 修改连接配置:
      sudo nmcli con mod "Wired Connection" ipv4.addresses 192.168.1.100/24 \
      ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual
    2. 保存并生效:
      sudo nmcli con up "Wired Connection"

注意事项

  1. 网卡名称确认
    使用 ip linkls /sys/class/net 查看正确网卡名。
  2. DNS配置
    若未生效,需额外编辑 /etc/resolv.conf(但避免手动修改,优先在配置文件中指定)。
  3. 防火墙
    确保防火墙未拦截(如 sudo ufw allow 80/tcp)。
  4. 验证配置
    ip addr show      # 检查IP
    ping 8.8.8.8      # 测试网络
    nslookup google.com  # 测试DNS

故障排查

  • 网络服务失败
    • 检查配置文件语法(如YAML缩进、分号缺失)。
    • 使用 journalctl -xe 查看日志。
  • IP冲突
    arp-scan -l 扫描局域网内重复IP。

重要提示:操作前务必备份配置文件!生产环境建议在非高峰时段操作,避免断网风险。


通过以上步骤,IP配置将永久保存至系统重启后,根据发行版选择对应方法,并验证网络连通性,对于云服务器或虚拟机,部分配置可能受平台管理工具影响(如Cloud-init),需参考服务商文档调整。

引用说明参考Linux官方文档(netplan.io、RHEL Networking Guide)及主流发行版实践指南,确保方法可靠。

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

(0)
酷番叔酷番叔
上一篇 2025年6月28日 05:55
下一篇 2025年6月28日 06:38

相关推荐

  • 镜像文件安装Linux,关键步骤有哪些?问题解答与注意事项详解

    使用镜像文件安装Linux是大多数用户选择的主流方式,相比其他安装方法,镜像文件安装具有系统纯净、版本可控、可自定义安装选项等优势,本文将详细介绍从准备工作到安装完成的完整流程,帮助不同阶段的用户顺利完成Linux系统的部署,安装前的准备工作在开始安装前,充分的准备是确保安装过程顺利的关键,主要包括以下几个方面……

    2025年8月30日
    14000
  • Linux如何快速检查端口连通?

    使用 telnet 命令原理:通过TCP协议模拟客户端连接目标端口,安装(如未预装):sudo apt install telnet # Debian/Ubuntusudo yum install telnet # CentOS/RHEL命令格式:telnet <目标IP> <端口号>示……

    2025年7月19日
    15100
  • Linux如何获取主机名称?

    在Linux系统中,主机名称(Hostname)是用于标识网络中设备的唯一名称,它不仅方便用户识别和管理服务器,还在网络通信、服务配置(如Apache、Nginx)以及日志记录中扮演重要角色,获取Linux主机名称的方法多样,既可以通过命令行工具快速查询,也能通过读取配置文件或编程接口实现自动化处理,本文将详细……

    2025年9月20日
    14600
  • Linux如何拆分文件?常用命令与操作步骤详解指南?

    在Linux系统中,拆分文件是常见的操作需求,无论是为了便于传输大文件、处理日志数据,还是将大型数据集拆分为小文件进行分析,掌握文件拆分技巧都能提升工作效率,Linux提供了多种命令行工具支持文件拆分,每种工具适用于不同场景,本文将详细介绍这些工具的使用方法及注意事项,按文件大小拆分:split 命令split……

    2025年9月16日
    15000
  • Linux环境下如何详细编译Java程序?步骤与方法有哪些?

    在Linux环境下进行Java程序的编译是Java开发的基础技能,掌握这一过程有助于理解Java代码从源文件到可执行程序的转化原理,本文将详细介绍Linux环境下编译Java程序的完整流程,包括JDK安装、环境变量配置、代码编写、编译命令使用、构建工具应用等内容,帮助读者系统掌握Java编译的核心操作,JDK的……

    2025年8月28日
    15700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信