企业级负载均衡集群——lvs的TUN模式(隧道模式)

1. 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(CIP:VIP) --> INPUT --> ([DIP:RIP] CIP:VIP) --> postrouting
–> RS(真正的服务器)–> DIP:RIP –> lo 回环接口–> 网卡eth0 --> Client

2. TUN模式中的名词解释

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

3. 搭建实验环境

  • 三台虚拟机+一台真实主机
    1台做lvs调度器,两台做后端轮询的web服务器,用真机分别连接三台虚拟机,真机本身是客户端
主机名称ip功能
server1172.25.254.11lvs调度器 DS
server2172.25.254.12[apache]后端web服务器1 RS
server3172.25.254.13[apache]后端web服务器2 RS
localhost172.25.254.60客户端(client)
  • 清除原先的规则
    在lvs服务器上面进行(server1)
ipvsadm -ln查看一下刚才的轮询调度访问策略
ipvsadm -C清除DR模式的策略
ipvsadm -ln再查看一下

4. 搭建lvs调度器的TUN模式

4.1 增加隧道所用的模块

  • 在server1上
ipvsadm -C    清除DR模式的策略
ipvsadm -L    查看策略
modprobe ipip 加入隧道模块 
ip a 		  查看多了一块网卡
ip addr add 192.168.1.100/24 dev tunl0  添加ip临时添加
ip link set up tunl0  是网卡生效

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

4.2 在server2和server3上面进行添加隧道模块

在这里插入图片描述
在这里插入图片描述

4.3 关闭反向过滤规则

sysctl -agrep rp_filter查看过滤表将所有的过滤规则都关闭
sysctl -w (规则)=0
sysctl -p使设置生效
sysctl -a | grep rp_filter再次查看

因为隧道模式实现的是不同网段的主机进行通信,如果信息要从服务端返回到客户端时,由于客户端和服务端不在同一个网段,数据根本出不去,所以我们需要关闭反向参数检验

0不开启源地址校验。
1开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。

在这里插入图片描述
在这里插入图片描述
因为系统会对流入的数据包进行反向路径校验,入包的数据是100,如果出包的数据不是100,这个数据就会被丢弃,所以我们要消除反向过滤的影响,将**=1的项都设置为0**
关闭反向过滤规则,是为了防止web服务器不认识发来的拆包后的源ip把数据包给丢掉,导致web服务器丢包,客户端访问不到数

4.4 测试

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值