设为首页 收藏本站
查看: 1260|回复: 0

[经验分享] 基于lvs的持久性连接

[复制链接]

尚未签到

发表于 2019-1-5 06:20:31 | 显示全部楼层 |阅读模式
虚拟服务持久性连接



拓扑图:


前端的虚拟服务器的ip地址vip为192.168.20.100,后端的node1的rip为192.168.20.10,vip为192.168.20.100

node2的rip为192.168.20.20,vip为192.168.20.100

工作原理:

前端的虚拟服务器接到请求,把请求封装成数据帧,帧的目标mac地址为后方真实的服务器的mac地址,目标ip地址为vip,原地址为客户端的ip地址,原mac为客户端的mac地址,后方的服务器接收到数据帧,把帧拆解成数据包,发现目标ip地址是自己的vip,原ip地址是客户端的ip地址,然后服务器直接把请求的结果发给客户端,不在转发给虚拟服务器。


1:基于客户端的高持续性连接PCC
虚拟服务器上的规则:
ipvsadm-E-t192.168.20.100:0-srr-p
[root@localhost~]#ipvsadm-a-t192.168.20.100:0-r192.168.20.10-g
[root@localhost~]#ipvsadm-a-t192.168.20.100:0-r192.168.20.20-g
0端口代表所有端口,-p默认是360秒,在360秒内,同一客户机一直访问节点一或者节点二。假如客户机1一直访问节点一,那么客户机就会一直访问节点二,超过360秒,将会续约120秒的时间。基于客户端的高持续性连接的有点,客户机一直访问同一web服务器,连接并不发生跳转,一直请求同一节点,保证数据的一致性和完整性。

2:基于端口的高持续性连接PPC
虚拟服务器上的规则:
[root@localhost~]#ipvsadm-A-t192.168.20.100:80-srr-p60
[root@localhost~]#ipvsadm-A-t192.168.20.100:22-srr-p60
[root@localhost~]#ipvsadm-a-t192.168.20.100:22-r192.168.20.10:22-g
[root@localhost~]#ipvsadm-a-t192.168.20.100:80-r192.168.20.20:80-g
root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.20.100:httprrpersistent60
->192.168.20.20:httpRoute100
TCP192.168.20.100:sshrrpersistent60
->192.168.20.10:sshRoute100
当访问http://192.168.20.100时请求被转发到节点2的web服务器上80端口,访问到二节点上的页面内容。
当访问ssh:192.168.20.100时请求被转发到节点1上的25端口,远程登录到一节点上。


3:基于防火墙规则的高持续性连接http服务

防火墙上的规则:
[root@localhost~]#iptables-tmangle-APREROUTING-d192.168.20.100-ptcp--dport80-jMARK--set-mark10
[root@localhost~]#iptables-tmangle-APREROUTING-d192.168.20.100-ptcp--dport443-jMARK--set-mark10

[root@localhost~]#iptables-tmangle-L
ChainPREROUTING(policyACCEPT)
targetprotoptsourcedestination
MARKtcp--anywhere192.168.20.100tcpdpt:httpMARKxset0xa/0xffffffff
MARKtcp--anywhere192.168.20.100tcpdpt:httpsMARKxset0xa/0xfffffff
在虚拟服务器上的规则:

[root@localhost~]#ipvsadm-A-f10-p60-srr
[root@localhost~]#
[root@localhost~]#
[root@localhost~]#ipvsadm-a-f10-r192.168.20.10-g
[root@localhost~]#ipvsadm-a-f10-r192.168.20.20-g
[root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
FWM10rrpersistent60
->192.168.20.20:0Route100
->192.168.20.10:0Route100


打开浏览器进行访问http://192.168.20.100
出现后方的节点1apache服务器的页面内容
访问https://192.168.20.100/
后方出现的内容还是节点1的页面内容
查看虚拟服务匹配规则iplvsadm-l




4:基于防火墙规则的高持续性连接ftp服务
防火墙规则:
[root@localhost~]#iptables-tmangle-APREROUTING-d192.168.20.100-ptcp--dport21-jMARK--set-mark20
[root@localhost~]#iptables-tmangle-APREROUTING-d192.168.20.100-ptcp-mmultiport--dport10000:10002-jMARK--set-mark20
[root@localhost~]#iptables-tmangle-L-n--line-number
ChainPREROUTING(policyACCEPT)numtargetprotoptsourcedestination
1MARKtcp--0.0.0.0/0192.168.20.100tcpdpt:21MARKxset0x14/0xffffffff
2MARKtcp--0.0.0.0/0192.168.20.100multiportdports10000:10002MARKxset0x14/0xffffffff

虚拟服务规则:
[root@localhost~]#ipvsadm-A-f20-srr-p1800
[root@localhost~]#ipvsadm-a-f20-r192.168.20.10-g
[root@localhost~]#ipvsadm-a-f20-r192.168.20.20-g
[root@localhost~]#
[root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
FWM20rrpersistent1800
->192.168.20.20:0Route100
->192.168.20.10:0Route100
查看虚拟服务规则匹配的情况
[root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
FWM20rrpersistent1800
->192.168.20.20:0Route115
->192.168.20.10:0Route100
当客户端1访问ftp://192.168.20.100时,请求到的结果是节点一ftp服务器上的内容,在1800秒内访问的都是节点二。
当客户端2访问ftp://192.168.20.100时,请求到的结果是节点一ftp服务器上的内容,在1800秒内访问的都是节点一。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659417-1-1.html 上篇帖子: LVS之DR脚本 下篇帖子: LVS配置(DR模式)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表