在Linux系统中,通过命令行配置IP地址是网络管理的基础技能,尤其适用于服务器或无图形界面的环境,不同发行版可能使用不同的网络配置工具,但核心逻辑一致,主要涉及网络接口配置文件、临时命令和动态配置协议(如DHCP)的设置,以下将详细介绍静态IP、动态IP及多IP的配置方法,并附常见问题解答。

查看当前网络接口信息
配置IP前,需确认系统中的网络接口名称(如eth0、ens33、enp0s3等),使用ip a
或ifconfig
命令(需安装net-tools)查看接口列表及当前IP配置。
ip a
输出信息中,inet
字段后为IPv4地址,inet6
为IPv6地址,link/ether
为MAC地址。
临时配置IP(重启失效)
若仅需临时修改IP(如测试环境),可使用ip
命令,配置不会持久化,重启系统后恢复原设置。
- 配置静态IP:
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加IP地址和子网掩码 sudo ip link set eth0 up # 启用接口 sudo ip route add default via 192.168.1.1 # 设置默认网关
- 配置动态IP(DHCP):
sudo dhclient eth0 # 向DHCP服务器请求IP
永久配置静态IP
不同发行版的配置文件路径不同,以下以主流系统为例:

Ubuntu/Debian(Netplan或ifupdown)
-
Netplan(Ubuntu 18.04+):
配置文件位于/etc/netplan/
目录下(如01-netcfg.yaml
),编辑内容如下:network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]
保存后执行
sudo netplan apply
生效。 -
ifupdown(旧版Ubuntu/Debian):
编辑/etc/network/interfaces
文件:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 114.114.114.114
执行
sudo ifup eth0
或重启网络服务sudo systemctl restart networking
。(图片来源网络,侵删)
CentOS/RHEL/Rocky Linux(NetworkManager或ifcfg)
- NetworkManager(推荐):
使用nmtui
(文本界面)或nmcli
(命令行)配置:sudo nmcli con mod "eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114" connection.autoconnect yes sudo nmcli con up eth0
- 传统ifcfg文件:
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
:TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
执行
sudo ifup eth0
或sudo systemctl restart network
。
Arch Linux(systemd-networkd)
编辑/etc/systemd/network/eth0.network
:
[Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8 114.114.114.114
执行sudo systemctl restart systemd-networkd
。
配置多个IP地址(IP别名)
若需为一个接口分配多个IP,可通过以下方式:
- Netplan:在
addresses
字段添加多个IP,如addresses: [192.168.1.100/24, 192.168.1.101/24]
。 - ifcfg文件:创建别名文件(如
ifcfg-eth0:0
与主配置类似,仅修改DEVICE
和IPADDR
:DEVICE=eth0:0 IPADDR=192.168.1.101 NETMASK=255.255.255.0 ONBOOT=yes
- ip命令:临时添加
sudo ip addr add 192.168.1.101/24 dev eth0 label eth0:0
。
验证配置
配置完成后,使用以下命令验证:
ip a show eth0 # 查看接口IP ping 8.8.8.8 # 测试网络连通性 ss -tuln | grep 80 # 检查端口监听
相关问答FAQs
Q1: 配置静态IP后无法上网,如何排查?
A: 首先检查/etc/resolv.conf
中的DNS配置是否正确,确保网关地址与IP在同一网段;其次使用ping 192.168.1.1
测试网关连通性,若失败检查物理链路或防火墙设置;最后验证ip route
命令查看路由表是否包含默认路由。
Q2: 如何在Ubuntu 20.04中切换从静态IP改为DHCP自动获取?
A: 编辑Netplan配置文件(如/etc/netplan/01-netcfg.yaml
),将dhcp4: no
改为dhcp4: yes
,删除addresses
、gateway4
等静态字段,保存后执行sudo netplan apply
即可生效。