是的,Linux 的一个物理网口(网络接口)可以配置多个 IP 地址,这是完全支持的常见操作。以下是具体实现方法和相关说明:
通过 ip
命令临时添加(重启后失效):
# 为主网卡(如eth0)添加第二个IP
sudo ip addr add 192.168.1.100/24 dev eth0 label eth0:1
# 验证
ip addr show eth0
eth0:1
:虚拟子接口标签(可自定义,如 eth0:alias
)。sudo ip addr del 192.168.1.100/24 dev eth0
编辑 /etc/network/interfaces
:
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
# 添加第二个IP
auto eth0:1
iface eth0:1 inet static
address 192.168.1.100
netmask 255.255.255.0
重启网络服务:
sudo systemctl restart networking
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
:
DEVICE=eth0
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
新建子接口配置 /etc/sysconfig/network-scripts/ifcfg-eth0:1
:
DEVICE=eth0:1
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONPARENT=yes
重启网络:
sudo systemctl restart network
Netplan(Ubuntu 18.04+)
编辑 /etc/netplan/01-netcfg.yaml
:
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
- 192.168.1.100/24 # 直接追加IP
gateway4: 192.168.1.1
应用配置:sudo netplan apply
NetworkManager
使用 nmcli
:
sudo nmcli con modify eth0 +ipv4.addresses "192.168.1.100/24"
sudo nmcli con up eth0
eth0:1
是传统命名方式,现代系统可直接绑定多个IP到主接口。ip addr show eth0 # 查看所有IP
ifconfig eth0 # (传统命令,部分系统需安装net-tools)
ping -I 192.168.1.100 google.com # 指定源IP测试连通性
通过上述方法,可以灵活地为单个网口分配多个IP,满足不同网络需求(如多服务隔离、测试环境等)。