一、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再次查看
主机测试(清除缓存)

主机测试

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

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

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

  2. LB负载均衡集群--LVS

    LB集群: LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.keepalived ,商业的硬件负载设备F5.Netscale. ...

  3. 企业级负载均衡集群——lvs的DR模式(直接路由模式)详细说明

    1.DR模式的原理 其实就是在一台主机上面搭建lvs服务器,设置lvs的工作模式是DR模式,lvs仅仅是一个调度器,它会把客户端的请求转发给后备服务器 DR模式直接由后备服务器把数据返回给客户端,不需 ...

  4. 负载均衡集群LVS模式之DR模型

    在NAT模型下,director的工作能力是很有限的,每个用户访问服务器时,都要先访问director,在一定的范围内director可以承受,但超出这个范围director就无能为力,在较大规模应用 ...

  5. LB负载均衡集群 - NAT

    前提: 客户机 : eth0   192.168.0.200       eth1  192.168.205.129 dir主机: eth0   192.168.0.166       eth1  1 ...

  6. LVS负载均衡集群介绍(4种工作模式10种调度算法)

    文章目录 集群简介 集群的特点 集群的分类 负载均衡 负载均衡集群技术的实现 负载均衡分类 四层负载均衡(基于IP+端口的负载均衡) 七层的负载均衡(基于虚拟的URL或主机IP的负载均衡) 高可用性集 ...

  7. 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建

    负载均衡集群介绍 LVS介绍 lvs的NAT模式介绍 这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务 ...

  8. 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属 ...

  9. 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...

最新文章

  1. [J2ME]Nokia播放音乐时发生MediaException的解决办法
  2. Hadoop集群搭建(27)
  3. 用PHP实现丢手帕问题(约瑟夫问题)
  4. STM32——ADC
  5. 吴恩达机器学习 2.矩阵和向量知识
  6. 反斜杠在C/C++中的作用
  7. PHP APM 对比评测:OneAPM, New Relic, 听云
  8. oc快速生成单例头文件解析
  9. 数据结构——八大排序算法(面试必备)
  10. 深入浅出、通俗易懂的讲解CAN bus。
  11. Webhacking.kr writeup(更新至challenge 29)
  12. 1~3年产品经理经典面试题
  13. 台式电脑计算机打开的快捷键,台式机u盘装系统按f几|台式电脑u盘装系统快捷键是哪个...
  14. 百度云平台BAE空间申请
  15. Kamiya艾美捷抗胸腺嘧啶二聚体单抗(环丁烷嘧啶二聚体CPD)说明书
  16. 计算机网络 理解流量控制与SACK机制
  17. 开发一个从磁力链取得影片截图的命令行工具
  18. js 返回页面顶部的实现( layui)
  19. HD1201 18岁生日
  20. 利用ArcGIS制作圈层分布图(以某一点作为中心)

热门文章

  1. C++文件和文件夹选择
  2. 免费×××帐号 送送送
  3. HVS人眼视觉系统(Human Visual System)
  4. docker linux 快速开窗口_Linux下Docker快速部署LAMP
  5. FEELM利用能源管理系统建设绿色工厂,减少500吨碳排放
  6. 构建高质量充电基础设施,快电精细运营提升充电保障能力
  7. MinGW/MSYS development environment
  8. 关于测试遇到的initializationerror:method initializationerror not found,根据保持分两种情况
  9. 是什么,夺走了我的时间?(2021年1月总结)
  10. 分手后,我依然祝你幸福