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系统如何打开系统盘并访问其内容?

    在Linux系统中,“系统盘”通常指安装操作系统的分区,如根分区(/)、引导分区(/boot)或/home分区等,与Windows不同,Linux的分区管理更强调命令行操作和权限控制,但图形界面也能满足基本需求,以下是详细的开机和访问方法,涵盖图形界面、命令行操作及特殊情况处理,Linux系统盘的识别与基本概念……

    2025年10月2日
    1300
  • Linux如何强制退出cat命令?

    当cat从标准输入读取时(用户手动输入内容)场景:直接运行cat命令(不带文件名参数),此时终端等待用户输入文本, $ catHello World! # 用户输入内容Hello World! # cat实时回显退出方法:按一次 Ctrl+D(EOF信号):表示输入结束,cat会立即退出并返回命令行,连续按两次……

    2025年6月25日
    6700
  • Linux Mint如何换源?详细步骤教程指南

    Linux Mint 作为一款基于 Ubuntu 的优秀发行版,以其稳定易用受到许多用户喜爱,但在使用过程中,国内用户访问官方源时常常会遇到下载速度慢、连接超时等问题,影响系统更新和软件安装的效率,更换为国内镜像源是解决这一问题的有效方法,本文将详细介绍 Linux Mint 换源的步骤、注意事项及常见问题处理……

    2025年8月31日
    3100
  • linux 如何看日志文件

    Linux 中,可用 cat、less、more 等命令查看日志文件,

    2025年8月19日
    3300
  • 如何在Ubuntu 22.04添加Deepin仓库?

    官方原生QQ(推荐优先尝试)腾讯为部分Linux发行版提供官方版本,但更新较慢(截至2024年最新版为3.2.2):下载安装包访问腾讯官方下载页(需确保链接安全):wget https://dldir1.qq.com/qqfile/qq/QQNT/linuxqq_3.2.2-22023_x86_64.rpm……

    2025年7月21日
    4800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信