如何永久修改Linux IP地址?

临时修改IP(立即生效,重启后失效)

使用 ip 命令(推荐)

   # 查看当前网卡名称(如 ens33、eth0)
   ip addr show
   # 修改IP和子网掩码
   sudo ip addr add 192.168.1.100/24 dev ens33
   # 删除旧IP(可选)
   sudo ip addr del 192.168.1.200/24 dev ens33
   # 设置默认网关
   sudo ip route add default via 192.168.1.1

使用 ifconfig(旧版工具,部分系统需安装)

   sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0
   sudo route add default gw 192.168.1.1

永久修改IP(需重启网络服务)

不同发行版的配置文件路径不同,修改后需重启网络服务生效。

Ubuntu/Debian(使用 netplan)

  • 编辑YAML配置文件:
    sudo nano /etc/netplan/00-installer-config.yaml  # 文件名可能不同
  • 示例:
    network:
      ethernets:
        ens33:
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
      version: 2
  • 应用配置:
    sudo netplan apply

CentOS/RHEL 7+(使用 nmcli 或配置文件)

方法1:nmcli 命令行工具

   sudo nmcli con mod "ens33" ipv4.addresses 192.168.1.100/24
   sudo nmcli con mod "ens33" ipv4.gateway 192.168.1.1
   sudo nmcli con mod "ens33" ipv4.dns "8.8.8.8"
   sudo nmcli con up "ens33"  # 立即生效

方法2:编辑配置文件

   sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

修改以下参数:

   BOOTPROTO=static        # 从DHCP改为静态
   IPADDR=192.168.1.100
   NETMASK=255.255.255.0
   GATEWAY=192.168.1.1
   DNS1=8.8.8.8
   ONBOOT=yes              # 开机自启

重启网络服务:

   sudo systemctl restart NetworkManager

Arch Linux/Manjaro(使用 systemd-networkd)

  • 创建配置文件:

    sudo nano /etc/systemd/network/ens33.network
    ```示例:
    ```ini
    [Match]
    Name=ens33
    [Network]
    Address=192.168.1.100/24
    Gateway=192.168.1.1
    DNS=8.8.8.8
  • 重启服务:

    sudo systemctl restart systemd-networkd

关键注意事项

  1. 网卡名称确认
    使用 ip link 或 ls /sys/class/net 查看正确网卡名,避免配置错误。
  2. DNS配置
    永久生效需在配置文件中指定DNS(如 nameservers 或 DNS1)。
  3. 防火墙影响
    修改IP后检查防火墙规则(如 iptables/firewalld),确保新IP未被拦截。
  4. 多网卡场景
    若系统有多个网卡,需为每个网卡单独配置,避免网关冲突。
  5. 服务重启命令
    • Ubuntu: sudo systemctl restart systemd-networkd
    • CentOS: sudo systemctl restart NetworkManager
    • 传统SysVinit: sudo service networking restart

验证配置

ip addr show ens33          # 检查IP是否生效
ping 8.8.8.8                # 测试网络连通性
nslookup google.com         # 验证DNS解析
route -n                    # 查看网关配置

总结建议

  • 临时调试:用 ip 或 ifconfig 快速修改。
  • 永久配置:优先使用发行版官方工具(如 netplan/nmcli),避免手动编辑出错。
  • 备份配置:修改前备份文件(如 cp ifcfg-ens33 ifcfg-ens33.bak),防止配置丢失。
  • 兼容性:旧系统(如CentOS 6)使用 /etc/init.d/network restart 重启服务。

引用说明参考Linux官方文档(kernel.org)及主流发行版手册(Ubuntu、CentOS、Arch Wiki),确保方法经过实践验证,配置示例基于常见场景,实际参数请根据网络环境调整。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年6月28日 13:28
下一篇 2025年6月28日 13:42

相关推荐

  • Linux启动服务后如何查看并管理对应进程号?

    在Linux系统中,服务通常指在后台持续运行、无需用户交互的程序,而进程号(PID,Process ID)是操作系统为每个进程分配的唯一标识符,用于管理进程的生命周期(如终止、监控等),启动服务并获取其PID是系统管理和运维的基础操作,本文将详细介绍通过不同方式启动服务及对应PID的获取方法,通过systemd……

    2025年9月22日
    33200
  • Linux终端如何下载文件?

    在Linux终端环境中,下载文件是日常运维、开发和服务管理中的常见需求,由于Linux服务器通常不配备图形界面,掌握终端下载命令至关重要,本文将详细介绍Linux终端中主流的文件下载工具及其使用方法,涵盖基础命令、高级功能及适用场景,帮助用户根据实际需求选择合适的下载方式,基础下载工具:wget与curlwge……

    2025年9月19日
    28300
  • 在Linux操作系统中,如何生成ko文件?具体步骤是怎样的?

    Linux 内核模块(Kernel Module)是动态加载到内核中的代码片段,用于扩展内核功能,而 .ko 文件就是编译后的内核模块文件,生成 .ko 文件需要准备开发环境、编写模块代码、配置 Makefile 并通过编译工具完成,以下是详细步骤和说明,环境准备在开始生成 .ko 文件前,需确保系统已安装必要……

    2025年8月23日
    39700
  • 如何在Linux下运行Dev-C++开发工具?

    在Linux操作系统中直接运行Windows版的Dev-C++是不可能的,因为Dev-C++是专为Windows平台设计的C/C++集成开发环境(IDE),依赖于Windows的系统库和运行时环境,用户可以通过兼容层、替代IDE或命令行工具等方式,在Linux下实现类似Dev-C++的C/C++开发体验,以下是……

    2025年10月3日
    32100
  • 如何制作linux系统u盘启动盘制作工具

    使用工具如Rufus、Etcher或UNetbootin,选择Linux

    2025年8月17日
    32100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信