Linux命令行如何修改IP地址?临时与永久配置方法详解?

在Linux系统中,通过命令行修改IP地址是系统管理和运维中的基础操作,无论是临时调整网络配置还是永久设置静态IP,都需要掌握正确的方法,本文将详细介绍不同Linux发行版下临时与永久修改IP的步骤、参数说明及注意事项,帮助读者顺利完成网络配置。

临时修改IP地址(重启后失效)

临时修改IP适用于临时测试或网络调试场景,修改后配置不会写入配置文件,系统重启或网络服务重启后会恢复原样,操作前需确认当前网络状态及网卡名称,常用命令为ip a(显示网卡及IP信息)或ifconfig(旧版系统)。

查看当前网络信息

执行ip a命令,会列出所有网卡及其IP配置

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link
       valid_lft forever preferred_lft forever

其中eth0为网卡名称,168.1.100/24为当前IP地址(/24表示子网掩码255.255.255.0)。

修改IP地址

使用ip addr add命令添加新的IP地址,格式为:
ip addr add <IP地址>/<子网掩码> dev <网卡名>
eth0的IP修改为168.1.200,子网掩码保持/24
ip addr add 192.168.1.200/24 dev eth0

若需删除临时IP,使用:
ip addr del <IP地址>/<子网掩码> dev <网卡名>

修改网关

网关是局域网访问外网的出口,使用ip route add命令设置:
ip route add default via <网关IP> dev <网卡名>
网关为168.1.1
ip route add default via 192.168.1.1 dev eth0

删除网关命令:
ip route del default via <网关IP> dev <网卡名>

修改DNS

DNS用于域名解析,临时修改可直接编辑/etc/resolv.conf文件:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf # 添加Google DNS
echo "nameserver 114.114.114.114" >> /etc/resolv.conf # 添加国内DNS

若需覆盖原有DNS,使用>重定向:
echo "nameserver 8.8.8.8" > /etc/resolv.conf

验证配置

修改完成后,通过以下命令验证:

  • ip a:确认IP地址已更新
  • ip route:确认网关已添加
  • ping 8.8.8.8:测试外网连通性

永久修改IP地址(重启后生效)

永久修改需编辑系统的网络配置文件,不同Linux发行版的配置文件路径和格式不同,主要分为CentOS/RHEL(使用ifcfg文件)和Ubuntu/Debian(使用netplan或NetworkManager)。

(一)CentOS/RHEL系统(ifcfg配置文件)

CentOS 7及以后版本使用NetworkManager管理网络,配置文件位于/etc/sysconfig/network-scripts/下,文件名格式为ifcfg-<网卡名>(如ifcfg-eth0)。

编辑配置文件

使用vinano打开配置文件,
vi /etc/sysconfig/network-scripts/ifcfg-eth0

关键参数说明:
| 参数 | 含义及示例 |
|—————|———————————————|
| BOOTPROTO | 启动协议,static(静态IP)或dhcp(动态) |
| IPADDR | IP地址,如168.1.200 |
| NETMASK | 子网掩码,如255.255.0 |
| GATEWAY | 网关地址,如168.1.1 |
| DNS1/DNS2 | DNS服务器,如8.8.8114.114.114 |
| ONBOOT | 是否开机启动网络,yes(启用)或no(禁用) |

示例配置:

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes

重启网络服务

保存配置文件后,执行以下命令重启网络:
systemctl restart network

若提示“Failed to restart network”,可检查配置文件语法是否正确(如参数名拼写错误、缺少引号等)。

验证配置

执行ip a查看IP是否永久生效,或使用ping测试网络连通性。

(二)Ubuntu/Debian系统(netplan配置)

Ubuntu 18.04及以后版本默认使用netplan,配置文件位于/etc/netplan/下,文件名格式为*.yaml(如01-network-manager-all.yaml)。

编辑配置文件

打开netplan配置文件,
vi /etc/netplan/01-network-manager-all.yaml

配置格式为YAML,需注意缩进(使用空格,非Tab),示例配置:

network:
  version: 2
  ethernets:
    eth0:  # 网卡名
      dhcp4: no  # 禁用DHCP,使用静态IP
      addresses:
        - 192.168.1.200/24  # IP地址及子网掩码(/24表示255.255.255.0)
      gateway4: 192.168.1.1  # 网关
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]  # DNS服务器

应用配置

保存文件后,执行以下命令使配置生效:
netplan apply

若提示错误,可使用netplan --debug apply查看详细日志排查问题。

验证配置

通过ip a确认IP已修改,或使用nslookup www.baidu.com测试DNS解析是否正常。

不同发行版配置对比

为方便理解,以下表格总结CentOS/RHEL与Ubuntu/Debian永久修改IP的核心差异:

项目 CentOS/RHEL Ubuntu/Debian
配置文件路径 /etc/sysconfig/network-scripts/ifcfg-<网卡名> /etc/netplan/*.yaml
配置格式 键值对(如IPADDR=192.168.1.200 YAML格式(缩进敏感)
重启命令 systemctl restart network netplan apply
关键参数 BOOTPROTO、IPADDR、NETMASK、GATEWAY dhcp4、addresses、gateway4、nameservers

注意事项

  1. 网卡名确认:不同系统或虚拟环境下网卡名可能不同(如eth0ens33enp0s3),务必通过ip a确认,避免配置错误。
  2. 备份配置文件:修改前建议备份原配置文件(如cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak),防止配置错误导致无法联网。
  3. 参数匹配:IP地址、子网掩码、网关需在同一网段,例如IP168.1.200、子网掩码255.255.0、网关168.1.1,否则无法通信。
  4. DNS优先级:若配置了多个DNS,系统会按顺序尝试解析,建议配置一个公共DNS(如8.8.8.8)和一个国内DNS(如114.114.114.114)。

相关问答FAQs

临时修改和永久修改有什么区别?

解答:临时修改通过ip addrip route等命令直接修改网络配置,不涉及配置文件,重启系统或网络服务后会恢复原状,适用于临时测试或网络故障排查;永久修改通过编辑系统配置文件(如CentOS的ifcfg文件、Ubuntu的netplan文件)实现,配置会写入磁盘,重启后仍然生效,适合长期使用的固定IP场景。

修改IP后无法上网怎么办?

解答:可按以下步骤排查:

  1. 检查IP配置:确认IP、子网掩码、网关是否正确(ip a查看IP,ip route查看网关),确保在同一网段(如IP168.1.200、网关168.1.1、子网掩码255.255.0)。
  2. 检查DNS:执行nslookup www.baidu.com测试域名解析,若无法解析,检查/etc/resolv.conf中的DNS配置是否正确,或临时添加公共DNS(如echo "nameserver 8.8.8.8" > /etc/resolv.conf)。
  3. 检查网卡状态:确认网卡是否启用(ip a查看网卡状态,UP表示启用),若未启用,使用ip link set <网卡名> up激活。
  4. 检查配置文件语法:永久修改后若无法上网,检查配置文件语法(如CentOS ifcfg文件中的参数名是否拼写错误,Ubuntu netplan文件缩进是否正确)。
  5. 重启网络服务:临时修改后可尝试重启网络(CentOS用systemctl restart network,Ubuntu用netplan apply)。

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

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 2小时前

相关推荐

  • 怎么打开命令提示符(终端)?

    在Windows系统中,通过运行框输入”cmd”或开始菜单搜索”命令提示符”打开;macOS在启动台或Spotlight搜索”终端”;Linux通常使用快捷键Ctrl+Alt+T或在应用菜单查找终端应用。

    2025年6月16日
    3100
  • AutoCAD 2017命令行如何效率翻倍?

    在AutoCAD 2017中,高效使用命令行的核心在于掌握命令别名、利用历史记录、善用自动完成与动态输入,它能显著加速绘图流程,减少鼠标依赖,实现精准操作,是提升专业效率的关键技能。

    2025年8月4日
    1700
  • 命令运行Java程序的具体命令是什么?

    要通过命令行运行Java程序,需要完成环境配置、代码编写、编译执行等一系列步骤,以下是详细操作指南,涵盖基础操作、常见问题处理及进阶技巧,运行Java程序的前提条件:JDK安装与环境配置Java程序依赖Java Development Kit(JDK)提供的编译工具(javac)和运行时环境(JRE,包含jav……

    2天前
    400
  • 核心概念,接口与IP地址是什么?

    核心概念指网络通信的基础框架,接口是设备连接网络的物理或逻辑端口,IP地址则是分配给接口的唯一网络标识符,用于在网络中定位设备并实现通信。

    2025年7月5日
    2700
  • qq西游gm命令怎么用

    西游GM命令需在特定权限下使用,通常涉及游戏管理操作,具体用法因

    2025年8月9日
    800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信