在Linux和Unix-like系统中,命令行添加IP地址是网络管理的基础操作之一,通常通过ip命令(现代系统)或ifconfig命令(传统系统)实现,以下将详细介绍在不同场景下使用命令行添加IP地址的方法,包括静态配置、临时配置及多IP地址配置,并补充相关注意事项。

使用ip命令添加IP地址(推荐)
ip命令是iproute2包的一部分,功能强大且逐渐取代ifconfig,添加IP地址的基本语法为:
sudo ip addr add <IP地址>/<子网前缀> dev <网络接口>
为eth0接口添加IP地址168.1.100,子网掩码为255.255.0(即前缀长度24):
sudo ip addr add 192.168.1.100/24 dev eth0
添加后需启用接口(若未启用):
sudo ip link set eth0 up
添加多个IP地址
一个网络接口可绑定多个IP地址,只需重复执行ip addr add命令:

sudo ip addr add 192.168.1.101/24 dev eth0 sudo ip addr add 10.0.0.2/24 dev eth0
添加带标签的IP地址(用于别名接口)
某些场景下需为IP地址添加标签(类似ifconfig的别名):
sudo ip addr add 192.168.1.102/24 dev eth0 label eth0:0
使用ifconfig命令添加IP地址(传统方法)
在较旧的系统(如CentOS 7之前)中,ifconfig仍被广泛使用,添加IP地址的语法为:
sudo ifconfig <网络接口> <IP地址> netmask <子网掩码>
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
添加多个IP地址时,可使用别名接口:
sudo ifconfig eth0:0 192.168.1.101 netmask 255.255.255.0
配置持久化IP地址
上述命令为临时配置,重启后会失效,实现持久化需根据系统类型修改配置文件:

Debian/Ubuntu系统(使用netplan或/etc/network/interfaces)
-
netplan(Ubuntu 18.04+):
编辑/etc/netplan/01-netcfg.yaml,添加以下内容:network: version: 2 ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8]应用配置:
sudo netplan apply -
/etc/network/interfaces(旧版):
编辑文件,添加:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1
RHEL/CentOS系统(使用NetworkManager或ifcfg文件)
ifcfg文件:
编辑/etc/sysconfig/network-scripts/ifcfg-eth0:TYPE=Ethernet BOOTPROTO=none IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
重启网络服务:
sudo systemctl restart network
Arch Linux系统(使用netctl或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
启用并启动:sudo systemctl enable --now systemd-networkd
常见问题与注意事项
- 接口不存在:执行命令前需确认接口名称(通过
ip link或ifconfig -a查看)。 - 权限问题:命令需使用
sudo执行,否则会提示“Permission denied”。 - IP冲突:添加的IP地址需与网络中其他设备不冲突,否则会导致通信异常。
- 子网前缀计算:子网掩码与CIDR前缀的对应关系如下表:
| 子网掩码 | CIDR前缀 |
|---|---|
| 0.0.0 | /8 |
| 255.0.0 | /16 |
| 255.255.0 | /24 |
| 255.255.128 | /25 |
相关问答FAQs
Q1: 如何删除已添加的IP地址?
A1: 使用ip命令删除:
sudo ip addr del 192.168.1.100/24 dev eth0
或使用ifconfig:
sudo ifconfig eth0 0.0.0.0
持久化配置需手动编辑对应配置文件并删除相关条目。
Q2: 为什么添加IP地址后无法联网?
A2: 可能原因包括:
- 未配置网关或DNS,需检查
/etc/resolv.conf及网关设置; - 接口未启用,执行
sudo ip link set eth0 up; - 防火墙阻止流量,可通过
sudo ufw disable(Ubuntu)或sudo firewall-cmd --reload(CentOS)临时测试; - IP地址与现有网络冲突,使用
ping <IP地址>测试。
