LVS模式二:TUN隧道模式(5)

1.隧道模式的基本概念

采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户的请求越来越多时,调度器就会处理不过来。
调度器就是把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给用户,所以调度器只处理请求报文。由于一般网络服务响应报文比请求报文大许多,采用TUN技术后,调度器得到极大的解放,集群系统的最大吞吐量可以提高10倍。

基本流程:

	client ->vs ->Rs -> client

1.IP隧道(IP tunnelling)是将一个IP报文封装在另外一个IP报文的技术,这可以使目标为一个IP地址的数据报文能被封装和转发到另一个IP地址
2.IP隧道技术也被称之为IP封装技术
3.IP隧道主要用于移动主机和虚拟私有网络,在其中隧道都是静态建立的,隧道一端有一个IP地址,另外一端也有唯一的IP地址

注意的点:

1.ds和rs必须处于同一个网段内
2.隧道只是封装了一个ip,即调度器上的ip,隧道ip就是封装了的隧道,在原来的ip下封装了一个ip
3.vlan是局域网
4.当公网ip访问私有网络时,要用IP隧道
5.vip是公有网络,两个局域网是无法通信的,必须通过公有网络才可以通信,所以要加vip

2.隧道模式的工作原理

在这里插入图片描述

 1. IP隧道技术又称为IP封装技术,它可以将带有源和目标IP地址的数据报文使用新的源和目标IP进行二次封装,这样这个报文就可以发送到一个指定的目标主机上。
 2. 隧道模式下,调度器和后端服务器组之间使用IP隧道技术。当客户端发送的请求(CIP–>VIP)被director接收后,director修改该报文,加上IP隧道俩端的IP地址作为新的源和目标地址,并将请求转发给后端被选中的一个目标。
 3. 当后端服务器接收到报文后,首先解封该报文原有的CIP—>VIP,该后端服务器发现自身的tun接口上配置了VIP,因此接受该数据包
 4. 当请求处理完成后,结果将不会重新交给director,而是直接返回给客户端。此时响应数据包的源IP为VIP,目标IP为CIP。

客户端发送到lvs调度器的数据包:源地址:CIP(客户端IP)目标地址:VIP(DS服务器)
加了数据包报头之后:源地址:DIP(VIP)(DS服务器)目标地址:RIP(RS真正的服务器)

3.采用隧道模式的基本属性和要求

realserver的RIP和director的DIP不用处于同一物理网络中,且RIP必须可以和公网通信。也就是说集群节点可以跨互联网实现。
realserver的tun接口上需要配置VIP地址,以便接收director转发过来的数据包,以及作为响应的报文源IP。
director转发给realserver时需要借助隧道,隧道外层的IP头部的源IP时DIP,目标IP是RIP,而realserver响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP。
director只处理入站请求,响应请求由realserver自己完成。
一般来说,TUN模式会用来负载调度缓存服务器组,这些缓存服务器一般放置在不同的网络环境,可以就近折返给客户端。在请求对象不在Cache服务器本地命中的情况下,Cache服务器要向源服务器发送请求,将结果取回,最后将结果返回给用户。

4.实现lvs调度器的TUN模式

1.DR模式:给web1和web2使用arptables规则来丢弃客户端的第一次访问,使客户端直接找lvs服务器实现调度轮询,不可以跨网络访问。
2.隧道模式:给web1和web2用关闭反向过滤规则来丢弃客户端的第一次访问,使客户端直接找lvs服务器实现调度轮询,可跨网络访问

本来客户端发来的数据包是:源ip是cip(172.25.63.250),目的ip是vip(lvs服务器172.25.63.100)
当客户端的数据包到达lvs服务器,会在原来的数据包上面加一层数据包报文头
源ip是lvs服务器(172.25.63.100),目的ip是(web服务器的ip:172.25.63.2/1)
此时这个数据包就会转发给web服务器,web服务器接收到数据包之后会拆包
发现里面的数据包的目的ip是172.25.63.100,此时自己上面刚好也有这个ip
就知道这个客户端就是问自己要资源了,所以web服务器直接把资源发送给客户端
这个和DR模式一样,都是一个方向的发送数据包,不回送数据包
(每封装一次,轮询设置web服务器的ip是目的ip)
隧道模式的172.25.63.100都是在隧道网卡上面进行设置的
当客户端第一次发送请求给172.25.63.100的时候,此时web1和web2服务器上面的172.25.63.100走不通(过滤规则)
因为只有lvs调度器上面才可以走通(上面有ipvs程序),才可以走通去调度
172.25.63.250—》172.25.63.100
172.25.63.100—》web
TUN隧道模式就是将传输报文头加一个IP进行封装,IP隧道可以跨网络

TUN 模式LVS的配置:

注意次实验如果之前做过DR模式,需要清除策略(server1,server2),并将虚拟ip删除,都需要删除

ipvsadm -C        #清除策略
ipvsadm -ln
ip addr del 172.25.63.100/24 dev eth0         #删除虚拟ip

在server3 上面的操作:

    添加隧道

    隧道添加对外暴露的VIP

    隧道激活

导入模块,在隧道tunl0新建一个ip,注意,此时隧道tunl0的状态是DOWN

modprobe ipip  加入隧道模块
ip addr add 172.25.63.100/24 dev tunl0

在这里插入图片描述在这里插入图片描述添加策略,-i表示tun模式,-w是权重

在隧道模式里面添加策略:
ipvsadm -A -t 172.25.63.100:80 -s rr 设置轮询调度
ipvsadm -a -t 172.25.63.100:80 -r 172.25.63.2:80 -i 表示隧道模式,轮询web服务器1
ipvsadm -a -t 172.25.63.100:80 -r 172.25.63.3:80 -i 表示隧道模式,轮询web服务器2
systemctl restart ipvsadm.service重启服务使设置生效

在这里插入图片描述激活隧道

ip link set up tunl0

在这里插入图片描述在server1和server2上面的操作:

一样的操作,着重看server1

modprobe ipip
ip addr del 172.25.63.100/24 dev eth0删除入口ip
ip addr add 172.25.63.100/24 dev tunl0   ##把VIP添加到隧道网卡上
ip link set up tunl0

在这里插入图片描述在这里插入图片描述 在web1和web2上面分别修改反向过滤规则,防止丢包(这个具体的还得看)

sysctl -a | grep rp_filter    查看过滤表将所有的过滤规则都关闭
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
sysctl -p    使设置生效
sysctl -a | grep rp_filter  再次查看

在这里插入图片描述在这里插入图片描述在这里插入图片描述注意:
rp_file参数用于控制系统是否开启对数据包源地址的校验,有三个值,分别为0,1,2,

0:表示不开启源地址校验
1:开启严格的反向路径校验,对每个进来的数据包,校验其反向路径是否是最佳路径,如果反向路径不是最佳路径,则直接丢弃该数据包
2:开启松散的反向路径校验,对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不通,则直接丢弃该数据包

因为系统会对流入的数据包进行反向路径校验,入包的数据是100,如果出包的数据不是100
这个数据就会被丢弃,所以我们要消除反向过滤的影响,将=1的项都设置为0
关闭反向过滤规则,是为了防止web服务器不认识发来的拆包后的源ip把数据包给丢掉,导致web服务器丢包,客户端访问不到数据
因为隧道模式实现的是不同网段的主机进行通信,如果信息要从服务端返回到客户端时
由于客户端和服务端不在同一个网段,数据根本出不去,所以我们需要关闭反向参数检验 0:不开启源地址校验 1:开启严格的反向路径校验
对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包

在物理机中进行测试,发现其可以正常轮循(注意httpd一定要开启)

在这里插入图片描述查看调度器会有数值
在这里插入图片描述
如果没有通过调度器,说明是调度器的问题,可以吧日志清空,然后测试两下,看日志会不会报错。(清除缓存)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值