Linux如何通过命令行修改IP地址配置?

Linux系统中,通过命令修改IP地址是网络管理的基础操作,无论是临时调整网络配置还是永久修改IP,都需要根据具体需求选择合适的方法,Linux发行版众多(如CentOS、Ubuntu、Debian等),网络配置工具和文件位置可能存在差异,但核心逻辑一致,本文将详细介绍不同场景下修改IP地址的命令方法,涵盖临时修改、永久配置、多IP设置及验证步骤,并针对常见问题提供解决方案。

linux如何用命令修改ip

基础准备:查看当前网络接口信息

在修改IP前,需先确认系统的网络接口名称(如eth0、ens33、enp0s3等)及当前配置,可通过以下命令查看:

  • 查看网络接口列表ip aifconfig(需安装net-tools包,Ubuntu/Debian可通过sudo apt install net-tools安装)
    输出示例:

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000  
      link/ether 00:0c:29:1a:2b:3c brd ff:ff:ff:ff:ff:ff  
      inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33  
         valid_lft forever preferred_lft forever  
      inet6 fe80::20c:29ff:fe1a:2b3c/64 scope link  
         valid_lft forever preferred_lft forever  

    其中ens33是接口名称,inet行显示当前IPv4地址、子网掩码(以/24表示,即255.255.255.0)和广播地址。

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

临时修改适用于测试场景,无需重启网络服务,但系统重启后会恢复原配置。

使用ip命令(推荐,现代Linux通用)

  • 添加IP地址
    sudo ip addr add 192.168.1.200/24 dev ens33  # 添加IP 192.168.1.200,子网掩码255.255.255.0
  • 启用接口(若接口未UP):
    sudo ip link set ens33 up
  • 删除临时IP
    sudo ip addr del 192.168.1.200/24 dev ens33

使用ifconfig命令(传统工具,需安装net-tools

  • 添加IP地址
    sudo ifconfig ens33 192.168.1.200 netmask 255.255.255.0 up
  • 删除临时IP(需先删除所有别名,再设置原IP):
    sudo ifconfig ens33 down
    sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0 up  # 恢复原IP

临时修改网关和DNS

  • 添加默认网关
    sudo ip route add default via 192.168.1.1 dev ens33
  • 临时修改DNS(直接编辑/etc/resolv.conf,重启后失效):
    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    echo "nameserver 114.114.114.114" | sudo tee -a /etc/resolv.conf

永久修改IP地址(重启后保留)

永久修改需编辑系统网络配置文件,不同发行版配置方式差异较大,以下分主流系统说明。

CentOS/RHEL 7及以后(使用NetworkManager)

NetworkManager是默认网络管理工具,可通过配置文件或nmcli命令修改。

(1)编辑ifcfg配置文件

配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33(文件名需与接口名称一致)。

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

修改以下参数:

linux如何用命令修改ip

TYPE=Ethernet
BOOTPROTO=static       # 静态IP,若为DHCP则改为"dhcp"
NAME=ens33
DEVICE=ens33
ONBOOT=yes             # 开机启用网络
IPADDR=192.168.1.200   # 目标IP
NETMASK=255.255.255.0   # 子网掩码
GATEWAY=192.168.1.1    # 默认网关
DNS1=8.8.8.8           # 主DNS
DNS2=114.114.114.114   # 辅助DNS

保存后重启网络服务:

sudo systemctl restart network

(2)使用nmcli命令(推荐)

# 查看当前连接名称
nmcli connection show
# 修改连接属性(假设连接名为"ens33")
sudo nmcli connection modify "ens33" ipv4.method manual ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114"
# 激活连接
sudo nmcli connection up "ens33"

Ubuntu 18.04及以后(使用Netplan)

Netplan通过YAML配置文件管理网络,文件路径通常为/etc/netplan/下的.yaml文件(如01-netcfg.yaml)。

(1)编辑Netplan配置文件

sudo vim /etc/netplan/01-netcfg.yaml

配置示例(静态IP):

network:
  version: 2
  renderer: networkd  # 或使用NetworkManager(需安装)
  ethernets:
    ens33:
      dhcp4: no        # 禁用DHCP
      addresses:
        - 192.168.1.200/24  # IP地址/子网掩码
      gateway4: 192.168.1.1  # 默认网关
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]
        search: [localdomain]  # 可选,域名后缀

保存后应用配置:

sudo netplan apply

(2)Ubuntu 16.04及以前(使用/etc/network/interfaces

sudo vim /etc/network/interfaces
auto ens33
iface ens33 inet static
    address 192.168.1.200
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 114.114.114.114

保存后重启网络服务:

sudo systemctl restart networking

Debian系统(类似Ubuntu,根据版本选择Netplan或interfaces)

Debian 10及以后默认使用Netplan,配置方法同Ubuntu;Debian 9及以前使用/etc/network/interfaces,方法同Ubuntu 16.04。

不同发行版永久配置对比

发行版系列 配置工具 配置文件路径 关键参数示例
CentOS/RHEL 7+ NetworkManager /etc/sysconfig/network-scripts/ifcfg-<接口> BOOTPROTO=static, IPADDR=...
Ubuntu 18.04+ Netplan /etc/netplan/*.yaml addresses: [192.168.1.200/24]
Ubuntu 16.04及以前 ifupdown /etc/network/interfaces iface <接口> inet static

多IP地址配置(别名IP)

若需为一个接口配置多个IP(如虚拟主机场景),可通过添加“别名”实现:

linux如何用命令修改ip

临时多IP(使用ip命令)

sudo ip addr add 192.168.1.201/24 dev ens33 label ens33:0  # 别名ens33:0
sudo ip addr add 192.168.1.202/24 dev ens33 label ens33:1  # 别名ens33:1

永久多IP(CentOS ifcfg文件)

ifcfg-ens33中添加:

IPADDR2=192.168.1.201
NETMASK2=255.255.255.0
IPADDR3=192.168.1.202
NETMASK3=255.255.255.0

(数字序号需连续,重启网络服务生效)

永久多IP(Ubuntu Netplan)

01-netcfg.yamladdresses中添加多个IP:

addresses:
  - 192.168.1.200/24
  - 192.168.1.201/24
  - 192.168.1.202/24

验证IP配置修改

修改完成后,需通过以下命令确认配置是否生效:

  • 查看IP地址ip a show ens33ifconfig ens33
  • 测试网络连通性ping 192.168.1.1(网关)、ping 8.8.8.8(外网)
  • 查看路由表ip routeroute -n
  • 测试DNS解析nslookup www.baidu.com

相关问答FAQs

Q1:修改IP后无法上网,如何排查?

A:按以下步骤排查:

  1. 检查IP/子网掩码:确保IP与网段匹配,子网掩码正确(如/24对应255.255.0)。
  2. 检查网关ip route查看默认网关是否正确,若缺失需手动添加(sudo ip route add default via 网关IP dev 接口)。
  3. 检查DNScat /etc/resolv.conf确认DNS服务器是否配置,可临时替换为公共DNS(如8.8.8)测试。
  4. 检查网络服务:CentOS执行sudo systemctl status network,Ubuntu执行sudo systemctl status networking,确保服务正常运行。
  5. 检查防火墙sudo firewall-cmd --list-all查看是否阻止出站流量,临时关闭防火墙测试(sudo systemctl stop firewalld)。

Q2:如何恢复为DHCP自动获取IP?

A:根据系统类型操作:

  • CentOS/RHEL(NetworkManager)
    方法1(修改ifcfg文件):将BOOTPROTO=dhcp,删除IPADDRNETMASKGATEWAYDNS1等参数,保存后重启网络。
    方法2(nmcli命令):sudo nmcli connection modify "连接名" ipv4.method dhcp,然后sudo nmcli connection up "连接名"
  • Ubuntu(Netplan)
    修改Netplan配置文件,将dhcp4: yes(或删除addressesgateway4等字段),保存后执行sudo netplan apply
  • 通用方法:临时恢复DHCP(仅当前会话生效):sudo dhclient ens33(需安装dhclient包)。

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

(0)
酷番叔酷番叔
上一篇 2025年8月31日 07:30
下一篇 2025年8月31日 07:53

相关推荐

  • 在Linux系统下,vi编辑器如何正确保存退出文件操作方法步骤?

    vi是Linux系统下广泛使用的文本编辑器,以其高效和灵活著称,但相较于图形化编辑器,其基于命令的操作方式对新手可能存在一定门槛,保存退出”是最基础也是最常用的操作之一,掌握正确的保存退出命令,不仅能提高编辑效率,还能避免因误操作导致文件内容丢失,vi编辑模式与保存退出的前提vi编辑器主要分为三种模式:命令模式……

    2025年9月19日
    7900
  • 在Linux操作系统里,卸载火狐浏览器的具体操作步骤是什么?

    在Linux系统中卸载Firefox浏览器通常需要根据不同的发行版选择对应的包管理器进行操作,以下是针对主流发行版的详细卸载步骤及注意事项,帮助用户彻底清理Firefox及其相关文件,Debian/Ubuntu系列(含Linux Mint等)Debian/Ubuntu及其衍生版使用apt包管理器,卸载Firef……

    2025年10月6日
    5300
  • Linux系统如何开启zlib压缩功能?

    在Linux系统中,zlib是一个广泛使用的压缩库,它提供了数据压缩和解压缩的功能,被众多软件(如Python、nginx、curl等)依赖,若要在Linux系统中正确开启或启用zlib支持,通常涉及安装zlib库、验证安装状态、以及在编译软件时正确配置zlib路径等步骤,以下是详细操作指南:安装zlib库大多……

    2025年8月24日
    7200
  • 如何快速查看服务是否在运行?

    在Linux系统中启动RMC(Resource Monitoring and Control)服务是管理IBM Power Systems硬件资源的关键步骤,以下是详细操作指南,适用于主流Linux发行版(如Red Hat Enterprise Linux、SUSE Linux Enterprise Serve……

    2025年8月5日
    9000
  • Linux如何切换输入法?操作步骤有哪些?

    在Linux系统中,切换输入法是日常使用中常见的操作,但由于不同Linux发行版默认的输入法框架(如IBus、Fcitx、Fcitx5等)存在差异,且桌面环境(GNOME、KDE、XFCE等)的设置界面也不尽相同,用户可能会遇到切换不灵活或配置困难的问题,本文将详细介绍Linux中切换输入法的多种方法,涵盖系统……

    2025年10月5日
    6600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信