LVS TUN模式是基于IP隧道的负载均衡方案,通过在原始IP包外封装新IP头实现跨网段调度,请求经Director封装转发至RS,响应由RS直返客户端,无需同广播域。

LVS 的 Tunnel(TUN)模式通过 IP 隧道技术,让负载均衡器(Director)和真实服务器(Real Server)无需处于同一局域网,就能完成请求分发与响应直返。它本质是“封装转发”,核心在于跨网络通信能力,而非单纯提升性能。
TUN 模式的数据流向关键点
客户端访问的是 Director 对外暴露的 VIP(虚拟 IP)。Director 收到请求后,并不修改目标 IP 或 MAC,而是将整个原始 IP 包作为载荷,再套上一个新的 IP 头——新头的目标地址是某台 RS 的 RIP(真实 IP),源地址通常是 Director 的 DIP 或 VIP。RS 收到后解封装,拿到原始请求并处理;响应时直接以 VIP 为源 IP 发回客户端,完全绕过 Director。
必须启用的内核模块与隧道接口
TUN 模式依赖 ipip 内核模块提供 IPv4-in-IPv4 封装能力:
- 在 Director 和所有 RS 上执行
modprobe ipip加载模块(持久化需写入/etc/modules或/etc/sysconfig/modules/) - 创建并启用隧道接口:
ip link add tunl0 type ipip,然后ip link set up tunl0 - 在 Director 的
tunl0上配置 VIP(如172.25.1.100/24),这是对外服务地址 - 在每台 RS 的
tunl0上也配置相同 VIP(但掩码通常为/32),用于识别进来的隧道包
RS 端的关键配置细节
RS 不需要把 Director 设为默认网关,也不需要 ARP 抑制(这点区别于 DR 模式),但需确保两点:
- 内核允许接收目的 IP 是本机 tunl0 上配置的 VIP 的报文:设置
net.ipv4.conf.tunl0.arp_ignore = 1和net.ipv4.conf.tunl0.arp_announce = 2 - 系统能正确路由响应包——因响应由 RS 直发客户端,RS 必须有通往客户端网络的可达路由(例如公网出口或合理静态路由)
- 关闭或放行隧道端口(协议号 4)的防火墙规则,否则封装包会被丢弃
Director 上的 ipvsadm 规则写法
添加集群服务时,必须使用 -i 参数显式指定隧道模式:
-
ipvsadm -A -t 172.25.1.100:80 -s rr(定义 VIP:Port 的虚拟服务) -
ipvsadm -a -t 172.25.1.100:80 -r 10.1.2.3:80 -i(-i 表示 tunnel,后接 RS 的 RIP) -
ipvsadm -a -t 172.25.1.100:80 -r 10.1.2.4:80 -i(可添加多台跨网段 RS)
注意:所有 RS 的 RIP 可以是私网地址、公网地址,甚至位于不同云厂商 VPC 中,只要 Director 能通过三层路由抵达它们即可。

















