防火墙标签解决轮询错误

接上文(LVS实验——部署DR模式集群),以http和https为例,当在RS中同时开放80和443端口,那么默认控制是分开轮询的,这样就出现了一个轮询错乱的问题

当第一次访问80被轮询到RS2后下次访问443仍然可能会被轮询到RS2上

目录

一、实验环境

二、问题呈现

1、下载

2、LVS中设置调度

3、测试问题

三、防火墙标记解决轮询调度问题

四、测试


一、实验环境

二、问题呈现

1、下载

在RS1和RS2中安装mod_ssl并重启apache
[root@webserver1 ~]# yum install mod_ssl -y
[root@webserver1 ~]# systemctl restart httpd

[root@webserver2 ~]# yum install mod_ssl -y
[root@webserver2 ~]# systemctl restart httpd

2、LVS中设置调度

[root@lvs ~]# ipvsadm -A -t 192.168.0.50:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 192.168.0.50:80 -r 192.168.0.10:80 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.50:80 -r 192.168.0.20:80 -g -w 2

[root@lvs ~]# ipvsadm -A -t 192.168.0.50:443 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.0.50:443 -r 192.168.0.10:443 -g 
[root@lvs ~]# ipvsadm -a -t 192.168.0.50:443 -r 192.168.0.20:443 -g 

3、测试问题

三、防火墙标记解决轮询调度问题

FWM:FireWall Mark

MARK target 可用于给特定的报文打标记, --set-mark value

其中:value 可为0xffff格式,表示十六进制数字借助于防火墙标记来分类报文,而后基于标记定义集群服 务:可将多个不同的应用使用同一个集群服务进行调度

在打标记做策略之前应将之前的策略清空 

[root@lvs ~]# iptables -t mangle -A PREROUTING -d 192.168.0.50 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 66

[root@lvs ~]# ipvsadm -A -f 66 -s rr
[root@lvs ~]# ipvsadm -a -f 66 -r 192.168.0.10 -g
[root@lvs ~]# ipvsadm -a -f 66 -r 192.168.0.20 -g

四、测试

[root@client ~]# curl -k https://192.168.0.50
[root@client ~]# curl http://192.168.0.50; curl -k https://192.168.0.50

由此,此时的流量分布均衡,解决了轮询错乱的问题,当第一次访问443被轮询到RS2后下次访问80不会被轮询到RS2上,而是被轮询到RS1上。

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值