推荐使用ip addr而非ifconfig或eth0:x别名,因其是现代Linux默认工具集iproute2的官方方式,将多IP视为主网卡的secondary地址,统一管理、无依赖失效风险,且更适配Web虚拟主机等场景。
可以直接用
命令为单网卡快速添加多个 IP,无需创建虚拟子接口,适合多业务虚拟主机这类需要稳定、灵活、易维护的场景。
为什么推荐用 ip addr 而不是 ifconfig 或 eth0:x 别名
现代 Linux 发行版(如 CentOS 7+/RHEL 8+、Ubuntu 18.04+)默认使用
工具集,
是官方推荐方式。它把多个 IP 视为主网卡的“辅助地址”(secondary),统一管理、无依赖关系——不像
这类别名,一旦主接口 down,所有别名自动失效。
对 Web 服务尤其友好:Apache/Nginx 监听
时,所有绑定在该网卡上的 IP 都能正常响应请求;若需基于 IP 区分站点(如
托管 A 站,
托管 B 站),直接配置 ServerName 或 VirtualHost 即可,无需额外路由或监听限制。
临时添加多个 IP(测试或快速上线)
以网卡
为例,执行以下命令:
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
(支持 IPv6)
验证是否生效:
。输出中带
标记的即为后加的 IP。这些地址重启后会丢失,仅用于调试或应急部署。
永久保存配置(生产环境必须)
不同发行版写法略有差异,但核心逻辑一致:把
的操作固化到网络服务启动流程中。
RHEL/CentOS 7+/Rocky/AlmaLinux
:编辑
,追加两行:
还可继续加
、
…… 注意不要写
多次,仅主配置保留网关。
Ubuntu/Debian(netplan)
:修改
,在对应网卡下添加
列表:
配置完务必执行
(Debian)或
(RHEL 系)使新 IP 生效。
配合虚拟主机使用的注意事项
添加多个 IP 后,还需确认服务层面的支持:
Apache:启用
(旧版)或直接用
显式绑定,避免端口冲突。
Nginx:每个
块用
指定监听 IP,比
更可靠。
防火墙:确保
或
允许对应 IP 的流量,例如
。
反向代理或 CDN 场景下,注意源 IP 获取逻辑(如
),避免日志记录失真。
ip addriproute2ip addreth0:10.0.0.0192.168.1.10192.168.1.11ens33ip addr add 192.168.1.10/24 dev ens33ip addr add 192.168.1.11/24 dev ens33ip addr add 2001:db8::10/64 dev ens33ip addr show ens33secondaryip addr add/etc/sysconfig/network-scripts/ifcfg-ens33IPADDR1=192.168.1.10NETMASK1=255.255.255.0IPADDR2NETMASK2GATEWAY/etc/netplan/*.yamladdressesaddresses: [192.168.1.10/24, 192.168.1.11/24]sudo systemctl restart networkingsudo systemctl restart NetworkManagerNameVirtualHost *:80serverlisten 192.168.1.10:80server_nameufwfirewalldfirewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.10" accept'X-Forwarded-For