LVS模式三——TUN隧道模式

一、为什么会有TUN模式

在VS/NAT的集群系统中,请求和响应的数据报文都需要通过负载调度器,当真实服务器的数目在10台和20台之间时,负载调度器将成为整个集群系统的新瓶颈。大多数Internet服务都有这样的特点:请求报文较短而响应报文往往包含大量的数据。如果能将请求和响应分开处理,即在负载调度器中只负责调度请求而响应直接返回给客户,将极大地提高整个集群系统的吞吐量。TUN可以极大的增加负载调度器的服务器数量,TUN调度器可以调度上百台服务器,而他本身不会成为系统的瓶颈,可以用来构建高性能的超级服务器。

二、TUN模式的工作原理

IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址。
结果:
利用IP隧道技术将请求报文封装转发给后端服务器,响应报文能从后端服务器直接返回给客户。但在这里,后端服务器有一组而非一个,所以我们不可能静态地建立一一对应的隧道,而是动态地选择一台服务器,将请求报文封装和转发给选出的服务器。这样,我们可以利用IP隧道的原理将一组服务器上的网络服务组成在一个IP地址上的虚拟网络服务
在这里插入图片描述

三、LVS/TUN的工作流程

它的连接调度和管理与VS/NAT中的一样,只是它的报文转发方法不同。调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为VIP的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。
在这里插入图片描述

四、TUN模式LVS设置

1、配置server2

[root@server2 ~]# modprobe ipip
[root@server2 ~]# ip link set up tunl0	#激活隧道
[root@server2 ~]# ip addr add 172.25.66.100/24 dev tunl0	#通过隧道添加对外暴露的VIP
[root@server2 ~]# arptables -A -t 172.25.66.100:80 -s rr	#添加VIP,对后端服务器采用rr算法
[root@server2 ~]# arptables -a -t 172.25.66.100:80 -r 172.25.7.3:80 -i	#添加后端真实服务器server3
[root@server2 ~]# arptables -a -t 172.25.66.100:80 -r 172.25.7.4:80  -i	#添加后端真实服务器server4

配置server3和server4

[root@server3 ~]#modprobe ipip
[root@server3 ~]#ip link set up tunl0	#将服务器上的隧道激活
[root@server3 ~]#ip addr add 172.25.66.100/24 dev tunl0	#通过隧道添加对外暴露的VIP
[root@server3 ~]#/etc/init.d/arptables_jf start
[root@server3 ~]#sysctl -w net.ipv4.conf.tunl0.rp_filter=0		#修改rp_filter参数
[root@server3 ~]# /etc/init.d/arptables_jf start
因为在一个网内,如果三台服务器有着相同的ip,会发生冲突,我们可以将server3和server4上的ip端口对外隐藏
##对input进行拒绝
[root@server3 ~]# arptables -A IN -d 172.25.66.100 -j DROP
##对output进行伪装
[root@server3 ~]# arptables -A OUT -s 172.25.66.100 -j mangle --mangle-ip-s 172.25.66.2
[root@server3 ~]# /etc/init.d/arptables_jf save
为什么要修改这个参数呢?是因为:
rp_filter参数用于控制系统是否开启对数据包源地址的校验。
有三个值,0、1、2,具体含义:
0:不开启源地址校验。
1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。

五、测试:物理主机中:curl 172.25.66.100

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值