如何永久修改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 linkls /sys/class/net 查看正确网卡名,避免配置错误。
  2. DNS配置
    永久生效需在配置文件中指定DNS(如 nameserversDNS1)。
  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                    # 查看网关配置

总结建议

  • 临时调试:用 ipifconfig 快速修改。
  • 永久配置:优先使用发行版官方工具(如 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查看CPU信息的几种方法?

    /proc/cpuinfo 文件(最底层信息)命令:cat /proc/cpuinfo输出关键字段:processor:逻辑CPU编号(从0开始),model name:CPU型号(如Intel Xeon E5-2680 v4),cpu cores:单个物理CPU的核心数,siblings:单个物理CPU的逻辑……

    2025年7月27日
    5000
  • Linux如何秒速跳转至文件首行?

    文本编辑器中的快捷操作Vim / Vi 编辑器操作步骤:打开文件:vim filename进入普通模式(按 Esc 键)输入 gg 或 :1 + Enter(gg 跳至首行,:1 直接定位第一行)适用场景:编辑代码或大型文件时快速导航,Nano 编辑器操作步骤:打开文件:nano filename按 Ctrl……

    2025年7月29日
    4000
  • Linux环境下编译运行C语言程序的操作流程是怎样的?

    在Linux环境下编译和运行C程序是开发者必备的基础技能,整个过程涉及源代码编写、编译、链接和执行四个核心环节,本文将详细讲解每个步骤的操作方法、常用工具及注意事项,帮助读者掌握完整的C程序开发流程,开发环境准备在开始编译运行C程序前,需确保系统已安装必要的开发工具,Linux发行版通常默认安装GCC(GNU……

    2025年9月23日
    1600
  • 如何从Linux系统中安全有效地踢除用户账户?

    在Linux系统中,“踢掉用户”通常指强制终止某个用户的登录会话,或限制其访问系统,以保障系统安全或管理秩序,这一操作涉及查看用户会话、终止进程、限制登录权限等多个步骤,需结合具体场景选择合适方法,以下是详细操作流程及注意事项,查看当前在线用户信息在踢掉用户前,需先确认目标用户的登录状态,包括其登录终端、进程I……

    2025年10月1日
    900
  • linux英文如何改成中文

    Linux 系统中,一般可通过设置语言环境变量或安装中文语言包等方式将界面等从

    2025年8月15日
    2900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信