负载均衡集群——lvs的TUN模式(隧道模式)详细介绍

一、TUN模式(隧道模式)工作原理
(1)IP隧道技术又称为IP封装技术,它可以将带有源和目标IP地址的数据报文使用新的源和目标IP进行第二次封装,这样这个报文就可以发送到一个指定的目标主机上;
(2)VS/TUN模式下,调度器和后端服务器组之间使用IP隧道技术。当客户端发送的请求(CIP–>VIP)被director接收后,director修改该报文,加上IP隧道两端的IP地址作为新的源和目标地址,并将请求转发给后端被选中的一个目标;
(3)当后端服务器接收到报文后,首先解封报文得到原有的CIP–>VIP,该后端服务器发现自身的tun接口上配置了VIP,因此接受该数据包。
(4)当请求处理完成后,结果将不会重新交给director,而是直接返回给客户端;在后端服务器返回给客户端数据包时,由于使用的是普通网卡接口,根据一般的路由条目,源IP地址将是该网卡接口上的地址,例如是RIP。因此,要让响应数据包的源IP为VIP,必须添加一条特殊的路由条目,明确指定该路由的源地址是VIP。
Client --> DS(调度器) -->prerouting --> INPUT -->postrouting -->RS(真正的服务器)–>lo 回环接口–> 网卡ens33 -->Client
二、访问服务器的详细流程:
数据包从客户端发往DS服务器,DS服务器会根据调度策略确定要把客户端的请求发给哪台RS,此时会在数据包外面再加一层IP报头;此时源IP从CIP(192.168.1.55)变为了VIP(192.168.1.100);目的IP从VIP(192.168.1.100)变为了RIP(192.168.1.22/33),数据包的请求来源就是DS调度器(192.168.1.100);请求的目的地是RS(192.168.1.22/33),RS在接收到数据包之后,请求包的来源本来是CIP(192.168.1.55);但是加了一层数据包之后变为了VIP(192.168.1.100),而RS服务器上也有(192.168.1.100)这个ip;所以RS会把IP包的报头拆开,拆开发现请求的数据包访问的还是自己的ip(192.168.1.22/33);这时RS就会回复客户端的请求(跟DR模式类似,只不过多加了一层IP报头,封装IP守护)
IP隧道技术又称为IP封装技术,它可以将带有源和目标IP地址的数据报文使用新的源和目标IP进行二次封;这样这个报文就可以发送到一个指定的目标主机上。

三、TUN模式中的名词解释

DS	    调度器,lvs的前端设备
RS	    真正提供服务的后端服务器
RIP	    后端服务器的ip地址
DIP	    调度器和后端服务器通信的ip
源IP	CIP(客户端的IP)
目的IP	VIP(设置的统一入口),对外公布的ip,客户请求进来的ip

四、搭建实验环境
实验环境
三台虚拟机+一台真实主机
1台做lvs调度器,两台做后端轮询的web服务器,用真机分别连接三台虚拟机,真机本身是客户端

主机名称             ip                  功能
server1            192.168.1.11         lvs调度器 DS       
server2            192.168.1.22         [apache]后端web服务器1 RS
server3            192.168.1.33         [apache]后端web服务器2 RS
localhost          192.168.1.55         客户端(client)

五、搭建lvs调度器的TUN模式
在server1上:

ipvsadm -C    清除DR模式的策略
ipvsadm -L    查看策略
[root@server1 ~]# ipvsadm -C
[root@server1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@server1 ~]# modprobe ipip 加入隧道模块 
[root@server1 ~]#  ip a 查看多了一块网卡
[root@server1 ~]# ip addr add 192.168.1.100/24 dev tunl0  添加ip临时添加
[root@server1 ~]# ip link set up tunl0  是网卡生效

在这里插入图片描述

在隧道模式里面添加策略:
ipvsadm -A -t 192.168.1.100:80 -s rr 设置轮询调度
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.22:80 -i 表示隧道模式,轮询web服务器1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.33:80 -i 表示隧道模式,轮询web服务器2
systemctl restart ipvsadm.service重启服务生效
cat /etc/sysonfig/ipvsadm查看策略文件

在这里插入图片描述
server2/3相同操作

[root@server2 ~]# modprobe ipip 加入隧道模块 
[root@server2 ~]#  ip a 查看多了一块网卡
[root@server2 ~]# ip addr add 192.168.1.100/24 dev tunl0  添加ip临时添加
[root@server2 ~]# ip link set up tunl0  是网卡生效

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

对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包
server2/3相同设置

sysctl -a | grep rp_filter查看过滤表将所有的过滤规则都关闭
sysctl -w 规则=0
sysctl -p 必须使设置生效
sysctl -a | grep rp_filter再次查看
主机测试(清除缓存)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

主机测试

在这里插入图片描述

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVSLinux Virtual Server)是一种基于 Linux 系统的负载均衡集群技术,它主要用于将网络流量分发到多个服务器上,以提高系统的可靠性、可扩展性和性能。 LVS 集群一般包括四个组件:调度器(LVS 调度器)、前端服务器(负载均衡器)、后端服务器(真实服务器)和存储服务器(用于共享数据)。首先,调度器接收来自客户端的请求,然后根据配置的调度算法(如轮询、加权轮询、最小连接数等)将请求分发到多个前端服务器。前端服务器接收到请求后,通过相应的负载均衡算法将请求转发到后端的真实服务器上进行处理。在整个过程中,存储服务器用于存放共享的数据,以确保所有的真实服务器都能获取到相同的数据,并提供一致的服务。 LVS 集群的优点是能够提高网站的稳定性和可靠性,当某一台服务器出现故障时,调度器会自动将请求分发到其他可用的服务器上,从而保证服务的连续性。同时,LVS 集群还能够通过增加前端服务器和后端服务器的数量来提高系统的性能和吞吐量,以满足不断增长的用户需求。 在实际应用中,LVS 集群需要合理配置,包括选择合适的调度算法、调整每台服务器的权重、选择适当的硬件设备等。此外,还需要及时监控集群的运行状态,及时发现和解决故障,以确保整个系统的正常运行。 总的来说,LVS 负载均衡集群是一种强大而高效的集群技术,能够帮助企业提高系统的可靠性和性能,是现代互联网应用中不可或缺的重要组成部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值