VS/TUN 实现虚拟服务器
VS/DR 限制 Real Server 与 Load Balancer 必须在同一个物理网络中,那若是分散在各地岂不是无法使用?所以有了 VS/TUN
(Virtual Server via IP Tunneling)的诞生。
IP 隧道(IP tunneling)是将一个 IP 报文封装在另一个 IP 报文的技术,这可以使得目标为一个 IP 地址的数据报文能被封装和转发到另一个 IP 地址。IP隧道技术亦称为 IP 封装技术(IP encapsulation)。IP 隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的 IP 地址。
我们利用 IP 隧道技术将请求报文封装转发给后端服务器,响应报文能从后端服务器直接返回给客户。但在这里,后端服务器有一组而非一个,所以我们不可能静态地建立一一对应的隧道,而是动态地选择一台服务器,将请求报文封装和转发给选出的服务器。这样,我们可以利用 IP 隧道的原理将一组服务器上的网络服务组成在一个 IP 地址上的虚拟网络服务。 VS/TUN
的体系结构如图所示,各个服务器将 VIP
地址配置在自己的 IP 隧道设备上。

它的连接调度和管理与 VS/NAT
中的一样,只是它的报文转发方法不同。调度器根据各个服务器的负载情况,动态地选择一台服务器, 将请求报文封装在另一个 IP 报文中,再将封装后的 IP 报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为 VIP
的报文,服务器发现VIP地址被配置在本地的 IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。
这便是 VS/TUN
的处理数据包的整个过程,它有这样的一些特点:
- 集群节点,也就是 Real Server 与 Load Balacer 可以跨越公网
- RIP 必须是公网地址。
- Load Balancer 仅仅负责处理入站的请求,Real Server 将直接响应客户端
- Real Server 的网关不能指向 Load Balancer
- 不支持端口映射:也就是 Real Server 的端口必须是与 Load Balancer 对外服务的一样
这便是 LVS 所提供的 IP 负载均衡的三种技术,我们可以根据自己的情况做出不同的选择。