1.TUN模式的工作原理

TUN模式简称隧道模式,隧道模式就是修改请求报文的首部IP,再加一层IP报头
优点:DS和RS不需要在同一网段,可以实现不同网络之间的访问
数据流向如下
数据包从客户端发往DS服务器,DS服务器会根据调度策略确定要把请求给哪台RS,会在数据包外面再加一层IP报头
此时源IP从CIP(172.25.8.250)变为了VIP(DIP172.25.8.100)
目的IP从VIP(172.25.8.100)变为了RIP(172.25.8.2/172.25.8.3),数据包的请求来源就是DS调度器(172.25.8.100)
请求的目的地是RS(172.25.8.2/3),RS在接收到数据包之后,请求包的来源本来是CIP(172.25.8.250)
但是加了一层数据包之后变为了VIP(172.25.8.100),而RS服务器上也有172.25.8.100这个ip
所以RS会把IP包的报头拆开,拆开发现请求的数据包访问的还是自己的ip(172.25.8.2/3)
这时RS就会回复客户端的请求(跟DR模式类似,只不过多加了一层IP报头,封装IP守护)
Client --> DS(调度器) -->prerouting --> INPUT -->postrouting -->RS(真正的服务器)–>lo 回环接口–> 网卡eth0 -->Client
IP隧道技术又称为IP封装技术,它可以将带有源和目标IP地址的数据报文使用新的源和目标IP进行二次封装
这样这个报文就可以发送到一个指定的目标主机上
2.TUN模式中的名词解释

DS 调度器,lvs的前端设备
RS 真正提供服务的后端服务器
RIP 后端服务器的ip地址
DIP 调度器和后端服务器通信的ip

源IP CIP(客户端的IP)
目的IP VIP(设置的统一入口),对外公布的ip,客户请求进来的ip

3.TUN模式的特点

隧道模式下,调度器和后端服务器组之间使用IP隧道技术,当客户端发送的请求(CIP–>VIP)被director接收后
director修改该报文,加上IP隧道两端的IP地址作为新的源和目标地址,并将请求转发给后端被选中的一个目标
当后端服务器接收到报文后,首先解封该报文原有的CIP—>VIP,该后端服务器发现自身的tun接口上配置了VIP,因此接受该数据包
当请求处理完成后,结果将不会重新交给director,而是直接返回给客户端。此时响应数据包的源IP为VIP,目标IP为CIP
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.搭建实验环境

一共需要3台rhel7.5版本的虚拟机
主机信息与对应的主机的功能(服务)
真机172.25.8.250:客户端client
server1(172.25.8.1) :lvs调度器(DS)
server2(172.25.8.2) :后端的web服务器1(RS)
server3(172.25.8.3) :后端的web服务器2(RS)

在真机中开启三台虚拟机
1台做lvs调度器,两台做后端轮询的web服务器,用真机分别连接三台虚拟机,真机本身是客户端

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

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

(1)在lvs服务器上面进行(server1)

ipvsadm -ln查看一下刚才的轮询调度访问策略
ipvsadm -C清除DR模式的策略
ipvsadm -ln再查看一下

lsmod查看模块(虚拟机上没有虚拟模块),准备加入隧道模块
lsmod | grep kvm在虚拟机上查看没有虚拟模块,在真机上查看有虚拟机模块

虚拟机没有kvm模块

真机有kvm模块

modprobe ipip   #加入隧道模块
ip a #可以看到多了一块网卡tunl0
ip addr del 172.25.12.100/24 dev eth0 #将172.25.12.100从原来的网卡上ip删除
ip addr add 172.25.12.100/24 dev tunl0 #放到隧道网卡上面
ip a#查看网卡的状态是down
ip link set up tunl0#激活网卡
ip a#查看是unknow,只要不是down行了





在隧道模式里面添加策略:

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


(2)在web1和web2上面进行添加隧道模块

modprobe ipip添加隧道模块
ip a查看
ip addr del 172.25.12.100/24 dev eth0删除入口ip
ip addr add 172.25.12.100/24 dev tunl0添加入口ip
ip a查看
ip link set up tunl0激活网卡
ip a查看




server3与server2操作一样

(3)在web2和web3上面分别修改反向过滤规则,防止丢包
将所有的过滤规则都关闭(具体情况具体分析)

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



server3同理

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

LVS的Tun模式(隧道模式)的实现相关推荐

  1. LVS负载均衡和nat模式的实操

    LVS理论和实操 一.企业群集应用概述 1.群集的含义 2.问题 3.解决方法 总结: 二.集群的分类 三.负载均衡群集架构 四.LVS负载均衡群集工作模式分析 1.负载均衡群集是目前企业用得最多的群 ...

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

    一.TUN模式(隧道模式)工作原理 (1)IP隧道技术又称为IP封装技术,它可以将带有源和目标IP地址的数据报文使用新的源和目标IP进行第二次封装,这样这个报文就可以发送到一个指定的目标主机上: (2 ...

  3. 企业级负载均衡集群——lvs的TUN模式(隧道模式)详细说明

    1.TUN模式的工作原理 TUN模式简称隧道模式,隧道模式就是修改请求报文的首部IP,再加一层IP报头 优点:DS和RS不需要在同一网段,可以实现不同网络之间的访问 数据流向如下 数据包从客户端发往D ...

  4. LVS——TUN隧道模式(负载均衡)

    1.什么IP隧道技术? 简单来说IP隧道技术就是将 [IP数据包] 的上面再封装一层[IP数据包], 然后路由器根据最外层的IP地址路由到目的地服务器,目的地服务器拆掉最外层的IP数据包,拿到里面的I ...

  5. LVS IP隧道模式(IP Tunneling)

    一. IP隧道模式 ip隧道是一个将ip报文封装到另一个ip报文的技术,这可以使得目标为一个ip地址的数据报文被封装和转发到另一个ip地址.ip隧道技术也成为ip封装技术. 它和NAT模式不同的是,它 ...

  6. Linux系统(五)负载均衡LVS集群之DR模式

    序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...

  7. LVS负载均衡群集——NAT模式实例

    目录 一:企业群集应用概述 1.1群集的含义 1.2群集存在的必要 1.3解决的方法 二:企业群集的分类 2.1负载均衡群集(Load Balance Cluster) 2.2高可用群集(High A ...

  8. LVS负载均衡群集—NAT模式实例

    文章目录 前言 一.群集与分布式 1.1 群集的含义 1.2 系统性能扩展方式 1.3 群集的三种类型 1.4 LVS的负载调度算法 1.5 分布式系统 1.6 集群和分布式 1.7 负载均衡群集架构 ...

  9. LVS 负载均衡群集----NAT模式

    目录 一.企业群集应用概述 1.1 群集的含义 1.2 问题 1.3 解决办法 1.4 系统性能扩展方式 二.企业群集分类 2.1  负载均衡群集 2.2  高可用群集 2.3  高性能运算群集 三. ...

最新文章

  1. 《代码大全2》读书笔记(七)
  2. 【四种解法】剑指 Offer 39. 数组中出现次数超过一半的数字
  3. 【双百解法】剑指 Offer 11. 旋转数组的最小数字
  4. gpio 树莓派3a+_树莓派4上市:性能飙升起售价依然是35美元
  5. LeetCode 6033. 转换数字的最少位翻转次数(位运算)
  6. 全网最全Python操作Excel教程,建议收藏!
  7. java与C++变量类型对应表
  8. asp.net页生命周期
  9. 【C++】atoi与stoi
  10. SQL Server 连接到服务器-错误233的解决办法
  11. Shape数据上传至SDE数据库中,动态更新Mapservice的解决方案之一
  12. Python Django 个人博客源码(附个人源码和网站参考)
  13. 部署Lync For 移动设备 一
  14. STC15单片机实战项目 - 系统评估
  15. Linux系统常用测试工具
  16. 花两年时间去面试一个人——给准备面试的启发
  17. 【渝粤教育】国家开放大学2019年春季 24建筑工程管理与实务 参考试题
  18. 定制化电商方案+个性化营销 打造“无淡季”创新模式
  19. 大家给推荐个4k显示器吧,码农,不玩游戏,护眼第一。
  20. 弄懂这56个Python技巧,秒变Python大神

热门文章

  1. 【c语言学习课堂笔记第三天】:int函数有符号整型和无符号整型
  2. Quartus ROM,RAM计组实验
  3. java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...
  4. javaString-StringBuilder-StringBuffer
  5. 数据库系统实现 大学生宿舍管理系统
  6. 硬件设计—数字电路常用设计准则
  7. C语言中静态变量的概念和用法
  8. SMB服务搭建与访问
  9. 手写:下划线转为驼峰命名法
  10. POI给WORD添加水印(亲测可用)