linux多 IP 绑定需四层联动实现业务隔离:①同网段临时 / 永久绑定 IP;②跨网段配策略 路由 隔离流量;③服务显式绑定指定 IP 避免监听冲突;④防火墙 按 IP 精细化控制。任一层缺失均导致隔离失效。

Linux 多 IP 绑定不是简单地给网卡加几个地址,关键在业务隔离——让不同服务走不同 IP、不同 路由 、互不干扰。配置错一步,可能引发 端口 冲突、流量误导或安全暴露。
一、基础多 IP 绑定(同网段)
适用于 Web、FTP 等需要多个公网 IP 对外提供服务的场景,所有 IP 在同一 子网 内。
以 ens33 为例,主 IP 为 192.168.1.10/24,新增192.168.1.11 和192.168.1.12:
- 临时添加(重启失效):
ip addr add 192.168.1.11/24 dev ens33<br>ip addr add 192.168.1.12/24 dev ens33 - 永久生效(centos/RHEL):编辑/etc/sysconfig/network-scripts/ifcfg-ens33:0,内容如下:
DEVICE=ens33:0<br>BOOTPROTO=static<br>ONBOOT=yes<br>ipadDR=192.168.1.11<br>NETMASK=255.255.255.0再建 ifcfg-ens33:1 配第二个 IP
- ubuntu/debian用 /etc/netplan/*.yaml,在addresses: 下追加列表:
- 192.168.1.11/24<br>- 192.168.1.12/24
二、跨网段多 IP + 策略路由(业务级隔离核心)
当不同业务需走不同出口(如:监控走专线、用户访问走 BGP、后台 API 走内网),仅绑 IP 不够,必须配合策略路由(policy routing)。
假设:
• 主网卡ens33:192.168.1.10/24(默认路由)
• 新增 IP10.10.20.5/24(属 10.10.20.0/24 网段)
• 该网段网关为10.10.20.1,专用于后台服务通信
- 先绑定 IP:
ip addr add 10.10.20.5/24 dev ens33 - 新建路由表(如叫admin_rt),编辑/etc/iproute2/rt_tables:
200 admin_rt - 配置该表的路由和规则:
ip route add 10.10.20.0/24 dev ens33 src 10.10.20.5 table admin_rt<br>ip route add default via 10.10.20.1 table admin_rt<br>ip rule add from 10.10.20.5/32 table admin_rt<br>ip rule add to 10.10.20.5/32 table admin_rt - 应用后,所有从 10.10.20.5 发出或发往它的流量,自动走 admin_rt 表,与主路由完全隔离
三、服务绑定指定 IP(避免监听冲突)
多 IP 不等于服务自动分流。nginx、mysql、ssh等必须显式指定监听地址,否则默认监听0.0.0.0,所有 IP 都响应,失去隔离意义。
- Nginx:在 server 块中写
listen 192.168.1.11:80;,而非listen 80; - MySQL:修改 my.cnf 中
bind-address = 10.10.20.5,只允许后台系统通过该 IP 连接 - SSH:编辑/etc/ssh/sshd_config,设
ListenAddress 192.168.1.10(运维管理 IP),禁用其他 IP 接入 - 验证是否生效:
ss -tlnp | grep :80查看监听的是哪个 IP
四、防火墙 按 IP 精细化控制(安全兜底)
IP 绑定 + 策略路由 + 服务绑定后,还需 iptables/nftables 按源 / 目标 IP 做访问控制,实现真正业务隔离。
- 只允许特定 IP 访问管理 端口:
iptables -A input -d 10.10.20.5 -p tcp --dport 22 -s 10.10.10.0/24 -j ACCEPT<br>iptables -A INPUT -d 10.10.20.5 -p tcp --dport 22 -j DROP - 禁止用户区 IP 访问后台网段:
iptables -A FORWARD -s 192.168.1.0/24 -d 10.10.20.0/24 -j REJECT - 使用 ipset 管理 IP 组更高效,例如建立 admin_hosts 集合,规则直接引用
业务隔离不是 堆IP,而是 IP、路由、服务配置、防火墙四层联动。每层漏一个,隔离就形同虚设。实际部署时,建议先用 tcpdump -i ens33 host 10.10.20.5 验证流量路径,再上线服务。