linux系统支持为一个网络接口配置多个ip地址,无论是物理网卡还是虚拟网卡,都可以通过系统自带工具实现多ip绑定,这种方式无需增加额外硬件,就能让单个网口同时承载多个网络身份,适配不同的业务需求。

linux单网口多ip的实现原理
linux的网络接口支持辅助地址机制,除了接口的主ip之外,还可以添加多个辅助ip,这些ip都绑定在同一个网络接口上,共享该接口的物理链路。系统在处理网络请求时,会根据目标ip匹配对应的接口地址,实现多ip的并行使用。
临时配置多ip(重启后失效)
临时配置适合临时测试场景,使用ip命令可以快速完成操作,无需修改系统配置文件。
查看当前网口信息
首先查看系统中存在的网络接口名称,执行以下命令:
# 查看所有网络接口及对应的ip地址 ip addr show
假设要操作的网口名称为eth0,当前已有主ip为192.168.1.100。
添加辅助ip
使用ip addr add命令为eth0添加第二个ip,示例如下:
# 为eth0添加ip 192.168.1.101,子网掩码为24位 ip addr add 192.168.1.101/24 dev eth0
如果需要添加更多ip,重复执行上述命令更换ip地址即可。
验证配置结果
添加完成后再次查看eth0的地址信息,确认新ip已生效:
ip addr show eth0
输出结果中会看到eth0下除了原有的inet地址,还会出现新的inet条目,标记为secondary的就是辅助地址。
永久配置多ip(重启后保留)
临时配置在系统重启后会失效,生产环境需要修改网络配置文件实现永久生效,不同linux发行版的配置文件路径略有差异。
CentOS/RHEL系统配置
CentOS 7及以上版本使用NetworkManager管理网络,配置文件存放在/etc/sysconfig/network-scripts/目录下,对应eth0的配置文件为ifcfg-eth0。
编辑该文件,添加多个IPADDR和NETMASK配置,或者使用范围配置:
# 编辑eth0配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0
文件内容示例如下:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=eth0 UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DEVICE=eth0 ONBOOT=yes # 主ip配置 IPADDR0=192.168.1.100 NETMASK0=255.255.255.0 GATEWAY0=192.168.1.1 # 第二个ip配置 IPADDR1=192.168.1.101 NETMASK1=255.255.255.0 # 第三个ip配置 IPADDR2=192.168.1.102 NETMASK2=255.255.255.0 DNS1=8.8.8.8
保存文件后重启网络服务使配置生效:
systemctl restart network
Ubuntu/Debian系统配置
Ubuntu 18.04及以上版本使用netplan管理网络,配置文件存放在/etc/netplan/目录下,通常为01-network-manager-all.yaml或类似名称的文件。
编辑配置文件添加多ip:
# 编辑netplan配置文件 vi /etc/netplan/01-network-manager-all.yaml
文件内容示例如下:
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
- 192.168.1.102/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
保存后执行以下命令应用配置:
netplan apply
配置注意事项
- 添加的多个ip需要属于同一网段或者不同网段都可以,只要符合网络规划即可
- 如果服务器有防火墙规则,需要确认新增的ip是否在防火墙允许的范围内,避免无法访问
- 删除临时添加的辅助ip可以使用命令:
ip addr del 192.168.1.101/24 dev eth0 - 永久配置修改前建议备份原配置文件,避免配置错误导致网络中断
多ip使用场景
单网口多ip的常见使用场景包括:一台服务器同时提供多个不同业务的web服务,每个服务绑定不同的ip;服务器需要同时接入两个不同的内部网络,无需额外增加网卡;在ip资源紧张的场景下,通过单个网口复用多个ip减少硬件成本。