TUN负载均衡的原理

TUN是IP Tunneling(IP隧道)的简称,IP隧道是一个将IP报文封装成另一个IP报文的技术,这使得目标为一个IP地址的数据报文能被封装和转发至另一个IP地址。
LVS的IP隧道技术也是一种IP封装技术,但和NAT模式不同的是,负载均衡器和真实服务器之间的传输不用改写IP地址,而是把客户请求包封装在一个IP tunnel里面,然后发送给后端真实服务器,真实服务器接收到数据包之后解开IP tunnel,进行响应处理,处理完成的数据包通过自己的外网地址发送给客户而不用经过负载均衡器。
TUN负载均衡集群的搭建
测试环境准备
1、两台Nginx后端服务器,一台LVS负载均衡服务器。配置如下:
- LVS:LVS服务器,DIP为192.168.238.51,VIP为192.168.238.10。
- Nginx1:Nginx服务器,RIP为192.168.238.101,VIP为192.168.238.10。
- Nginx2:Nginx服务器,RIP为192.168.238.102,VIP为192.168.238.10。
2、修改两台Nginx服务器上的首页。
2.1、修改Nginx1首页并启动Nginx。

2.2、修改Nginx2首页并启动Nginx。

负载均衡配置
1、所有服务器关闭并禁用SELINUX模块。

2、所有服务器关闭并禁用防火墙。

3、所有服务器设置虚拟IP。
3.1、新增网卡并设置IP为虚拟IP。

3.2、查看设置结果。

4、配置LVS负载均衡服务器。
4.1、修改内核参数,启用IP转发功能。

4.2、执行sysctl命令,使IP转发功能立即生效。

4.3、添加一个虚拟服务器并指定调度算法为轮询。

4.4、向虚拟服务器中添加两个真实的服务器。

4.5、查看已有规则。

4.6、保存已有规则,保存的规则可通过启动ipvsadm服务加载。

4.7、将LVS管理服务设置为开机启动,开机自动加载保存的规则。

5、配置后端Nginx服务器。
5.1、修改内核参数,关闭arp转发与反向数据校验。

5.2、执行sysctl命令,使配置立即生效。

负载均衡集群的测试
1、通过客户端访问LVS集群的VIP,可见请求已被依次转发至后端两台Nginx服务器。
