2019/05/24 LVS的DR模型跨网段实现

在这里插入图片描述
实现DR模型的LVS中,ipforward功能启用了没,不需要启用
NAT模型中,LVS服务器的ipforward是必须启用的
DR模型中,是不需要启用的,因为只是修改了目标的mac地址把源mac和目标mac修改了
开始抓包
在这里插入图片描述
就访问一次
在这里插入图片描述
三次握手
在这里插入图片描述
在这里插入图片描述
syn包是三次握手的第一次握手
但是下面一个也是syn(请求包原本只有一个,现在有两个,就是修改了mac地址

在这里插入图片描述
在这里插入图片描述
源地址是CIP,目标地址是VIP,
但是mac地址是路由器接口的mac地址,目标mac是LVS服务器的mac地址
先看看30.200接口mac地址是多少

在这里插入图片描述
lvs服务器网卡地址是多少
在这里插入图片描述
还有rs1,rs2
在这里插入图片描述
现在分析一下数据报文
在这里插入图片描述
收到以后会把mac地址的报文拆开,重新封装一个新的 mac地址,所以还是syn包
在这里插入图片描述
源地址和目标地址是不变的,修改的是mac地址
请求报文之后,应该有回应报SYN,ACK,就一个包

在这里插入图片描述
因为回应报文不需要经过LVS服务器,就直接回来了
在这里插入图片描述
在这里插入图片描述
ack又是两个报文,客户都向lvs服务器发的请求报文(最后的确认报文)
这是第三次握手,只要是请求报文就两个包,回应报文就一个包
请求报文需要经过LVS服务器,响应报文不需要经过LVS服务器

接下来实现更常见的场景
VIP是公网IP,DIP和RIP都是私网地址,私网地址和公网地址混在一个网段里
lvs服务器和rs服务器必须在一个网段里

在这里插入图片描述
上次实验的基本配置好了,现在配置路由器
还缺一个10的地址
在这里插入图片描述
加一个地址在这里插入图片描述
路由器配置好了,接下来配置三个主机
在这里插入图片描述
在这里插入图片描述
rs1就缺一个VIP了
在这里插入图片描述rs2也一样
在这里插入图片描述
还有一个30.7的机器
在这里插入图片描述
刚才做实验是30.100
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在试着拿脚本执行
在这里插入图片描述
在这里插入图片描述
根据start就是跑一遍
在这里插入图片描述
另外一个rs也跑一遍。复制过去
在这里插入图片描述
在这里插入图片描述
地址就绑定上去了
在这里插入图片描述
lvs服务器也修改下
在这里插入图片描述
在这里插入图片描述
-g就是dr模型
在这里插入图片描述
现在用客户端测一下,就成功了
在这里插入图片描述
试试lvs网关随便指是否可以
在这里插入图片描述
为了干净,彻底重启一下
在这里插入图片描述
这才是生产中,用到的场景
在这里插入图片描述
lvs启动了,现在重启一下
在这里插入图片描述试试配10.地址的网关
在这里插入图片描述
在这里插入图片描述
不通 了
在这里插入图片描述
说明虽然是随便配置,但是也是有一定范围的随便配,配置DIP网段的是随便配的
在这里插入图片描述
重新配置一下
在这里插入图片描述
有arp缓存,就记住了之前的网关,需要重启一下
在这里插入图片描述
在这里插入图片描述
跑跑脚本就实现了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
作为http服务来讲经常和https一起使用,原来的做法的是80一个集群,443一个集群,这就需要分别调度了
在这里插入图片描述
一个用户访问http调度到1机器,后面的用户因为是轮循,就也可能调度到1机器上去
现在希望不论http和https都轮循,第一个访问http,第二个访问https就往下一个机器调度
以前是分两个集群服务,现在能否定为一个集群服务
FWM防火墙标签
在数据报文头部,添加一个标记,只要访问http 80 和https443 都打上标签,标签带来的好处就是ipvs规则中,可以根据标签来集群调度
就是选项f

在这里插入图片描述
-t代表tcp协议,u是代表udp协议,-f防火墙标签
在这里插入图片描述
在这里插入图片描述
请求是https,因为不支持端口映射,随意返回响应的时候也是走的https
如何打标签
在这里插入图片描述
用到mangle表了,之前用的是filter,nat表,prerouting这个链接上-,-d目标地址。收到请求后,-p 协议
-m multiport 80和443都写上,
如果目标地址来自哪里和协议时tcp,端口是80,443,就贴标签
就在防火墙打上标签
在ipvsadm规则中就可以使用-f了+标签对应数字
在这里插入图片描述
不去申请证书,直接mod_ssl(本身就会生成连个文件,一个私钥一个证书,只不过是自签名的

在这里插入图片描述
在这里插入图片描述
把服务启动一下,应该会自动打开443端口
在这里插入图片描述
在这里插入图片描述
由于这两个服务器的443端口并没有发布出来,所以现在并不能去调度
把443和80作为一个集群服务来进行调度,先把lvs上的先停了

在这里插入图片描述
在这里插入图片描述
这个时候就能看到这个标签在这里插入图片描述
在这里插入图片描述
现在就可以针对这个来定义ipvs规则了
顺便绑定VIP地址

在这里插入图片描述
先测一下自己是否能访问自己
在这里插入图片描述
因为是轮询,所以访问http和https应该是轮询的
在这里插入图片描述
现在已经靠标签来区分了
在这里插入图片描述
在这里插入图片描述
现在是轮询的,轮询带来的结果就是这次访问这个机器,下次就轮到其他机器上去了
在这里插入图片描述
这样就不利于会话保存,
现在想即使是rr,轮询,上次访问了rs1,下次尽可能也调度到rs1比较好
(之前的sh,源地址只要是同一个,就固定的往同一个服务器上调度)
如何让在rr的情况下也能短期内往同一服务器上调度

在这里插入图片描述
只需要加-p timeout
在这里插入图片描述
-p默认时间300秒,5分钟不动,就往同意机器上调度
在这里插入图片描述
文档有错误,其实是360秒
在这里插入图片描述
360秒以内,一直往一台机器上调度
在这里插入图片描述
在这里插入图片描述
持久链接实现,基于某个端口,
也可以基于某个防火墙
0代表所有端口(只要访问lvs的任意端口,就调度到其他机器上去,访问22,就调度到内部的22端口上去,就等于把企业内部的端口都发布到了互联网上去了

在这里插入图片描述
现在有一个麻烦问题,当服务器宕机 了
在这里插入图片描述
但是还往这里调度
在这里插入图片描述
先把持久链接关闭了
在这里插入图片描述
现在有一个机器出了故障了,另外一个是好的
在这里插入图片描述
一个机器死 了,还调度就不符合逻辑
可以自己写一个脚本在lvs上定期探测后端服务器是否正常使用,不行的就自动从ipvsadm列表删除
5秒查一次

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值