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)
酷番叔酷番叔
上一篇 2025年8月25日 18:55
下一篇 2025年8月25日 19:08

相关推荐

  • qemu命令怎么写

    QEMU运行ISO镜像的命令示例:`qemu-system-x86_

    2025年8月14日
    5800
  • 安全专家服务特惠,具体优惠内容有哪些?

    在数字化浪潮席卷全球的今天,企业面临的网络安全威胁日益复杂,从数据泄露到勒索软件攻击,从钓鱼诈骗到系统漏洞,任何一次安全事件都可能造成不可估量的损失,为帮助企业构建坚实的网络安全防线,专业安全专家服务正成为企业数字化转型的“刚需”,在此背景下,安全专家服务特惠活动应运而生,旨在以更优的性价比,让企业享受顶尖的安……

    2025年11月28日
    1400
  • 接口异常?错误数飙升怎么办

    思科设备命令行的核心使用逻辑遵循分层模式结构,这是所有网络工程师必须掌握的基础,以下是关键操作指南:访问与模式切换(基础框架)用户模式(查看基础状态)Router>登录后默认模式,可运行基础查看命令(如 ping、traceroute),不可修改配置,特权模式(高级诊断与进入配置)Router> e……

    2025年7月15日
    7600
  • 为什么网络卡顿

    链路入速率指网络设备物理端口或线路接收数据的最大速度,通常以比特每秒(bps)为单位,表示该接口接收数据的理论能力上限。

    2025年7月13日
    7700
  • Redisson分页如何保证安全?

    安全Redisson分页在分布式系统中,Redis作为高性能的内存数据库,常用于缓存、消息队列等场景,而Redisson作为Redis的Java客户端,提供了丰富的功能,包括分布式锁、集合操作等,分页功能是数据查询中常见的需求,尤其是在处理大规模数据时,直接使用Redisson进行分页操作时,需要兼顾性能与安全……

    1天前
    600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信