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 下,可使用 tar 命令备份数据,如 `tar -czvf backup.tar.

    2025年8月9日
    11300
  • 如何查看linux上的ftp

    Linux上查看FTP服务状态,可使用命令systemctl status vsftpd或`

    2025年8月19日
    10600
  • 为什么cp命令会覆盖文件?

    在Linux系统中,复制文件是最基础且频繁的操作之一,无论是日常管理、数据备份还是脚本编写,掌握高效的文件复制方法都至关重要,本文将详细解析Linux中多种文件复制方式,涵盖命令行工具(如cp、rsync)和图形界面操作,并附注意事项及最佳实践,cp(copy)是Linux内置的复制命令,语法如下:cp [选项……

    2025年7月23日
    12600
  • 如何删除已安排的Linux at任务?

    退出(删除)at任务的步骤查看当前at任务队列使用 atq 或 at -l 命令列出所有待执行任务,获取任务的唯一ID(位于第一列): atq # 示例输出: # 10 Thu Jul 11 14:30:00 2024 a root # 15 Fri Jul 12 10:00:00 2024 a user1关键……

    2025年8月7日
    10500
  • linux如何新建c文件类型

    在Linux系统中,新建C文件是程序开发的基础操作,掌握多种方法能提升效率,C文件通常以.c为后缀,源代码文件需遵循C语言语法规范,同时需配合编译器(如GCC)生成可执行程序,以下是具体操作步骤和注意事项,通过命令行新建C文件命令行是Linux环境下最常用的操作方式,以下介绍几种主流方法:使用touch命令创建……

    2025年10月5日
    10100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信