阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

LVS的持久连接

70次阅读
没有评论

共计 2210 个字符,预计需要花费 6 分钟才能阅读完成。

不论你用的什么调度算法,在一定时间内来之同一个客户的请求都会发给同一个服务器,默认连接超时是 360 秒,但这个值你可以自己定义,如果超时后,客户的连接依然存在,则默认以 2 分钟的方式依次增加。

持久连接的类型

(1)PCC 将某个客户的所用访问请求在超时时间内都定向到同一台 server 上 基于客户端的持久连接

(2)PPC 将某个客户的某个服务访问请求在超时时间内都定向到同一台 server 上 基于会话的持久连接

(3)Netfilter Mark 基于防火墙标志的持久连接

 

 

PCC例子

director 上配置

 

Ipvsadm -A -t 192.168.2.1:0 -s rr -p 360

Ipvsadm -a -t 192.168.2.1:0 -r 192.168.2.100 -g

Ipvsadm -a -t 192.168.2.1:0 -r 192.168.2.200 -g

 

查看

LVS 的持久连接

 

通过访问 vip 地址 192.168.2.1再次查看

LVS 的持久连接

 

连接一直处在 192.168.2.200server

 

PPC的例子

当访问 80 端口使定向到 2.100,当访问22 端口是定向到 2.1002.200

ipvsadm -C —清空上述的配置

ipvsadm -A -t 192.168.2.1:22 -s rr -p

ipvsadm -A -t 192.168.2.1:80 -s rr -p

ipvsadm -a -t 192.168.2.1:22 -r 192.168.2.100 -g

ipvsadm -a -t 192.168.2.1:22 -r 192.168.2.200 -g

ipvsadm -a -t 192.168.2.1:80 -r 192.168.2.100 -g

查看

LVS 的持久连接

 

访问 vip80端口 http://192.168.2.1/ 再次查看如下

LVS 的持久连接

 

访问 vip22端口 ssh://192.168.2.10:22 查看如下:

LVS 的持久连接

 

 

 

Netfilter Mark 例子

 

对于电子商务网站来说,用户在挑选商品的时候使用的是 80 端口来浏览的,当付款的时候则是通过 443ssl加密的方式,当然当用户挑选完商品付款的时候我们当然不希望 https443跳转到另外一台 REALSERVER,很显然应该是同一REALSERVER 才对 。通过 基于防火墙标记的持久连接 来实现

 

首先在两台 server 上搭建 CA 认证中心,并为 web 站点颁发证书,以实现https,关于这部分内容请参考前期的博文,这里就不写了。

 

1、在 iptables 添加规则,给客户的请求打上标签

 

iptables -t mangle -A PREROUTING -d 192.168.2.1 -i eth0 -p tcp -m multiport –dport 80,443 -j MARK –set-mark 10 —把从 eth0 进来的到 192.168.2.1 去的目标端口为 80443 的打上标签10

2、虚拟规则

ipvsadm -C

ipvsadm -A -f 10 -s rr -p –f firewallMark

ipvsadm -a -f 10 -r 192.168.2.100 -g

ipvsadm -a -f 10 -r 192.168.2.200 -g

 

LVS 的持久连接

 

LVS 的持久连接

 

通过访问 vip 的端口 80443 http://192.168.2.1/https://192.168.2.1/ 再看如下

LVS 的持久连接

 

 

 

 

如果后方的服务是 FTP 服务,怎么才能持久连接呢

这里的 FTP 服务是 PSAV 模式,其中 21 端口是控制端口,20端口是数据传输端口。

被动连接是 FTP 服务器从大于 1024 端口中选取一个作为回应端口号,因此我们要限制一下

这个回应端口号的范围。

 

vim /etc/vsftpd/vsftpd.conf

pasv_min_port=2000

pasv_max_port=2100

 

[root@localhost ~]# iptables -t mangle -A PREROUTING -i eth0 -d 192.168.2.1 -p tcp –dport 21 -j MARK –set-mark 10

[root@localhost ~]# iptables -t mangle -A PREROUTING -i eth0 -d 192.168.2.1 -p tcp –dport 2000:2100 -j MARK –set-mark 10

 

[root@localhost ~]# ipvsadm -A -f 10 -s rr -p

[root@localhost ~]# ipvsadm -a -f 10 -r 192.168.2.100 -g

[root@localhost ~]# ipvsadm -a -f 10 -r 192.168.2.200 -g

 

 

访问我的 VIPFTP服务

LVS 的持久连接

 

在用另一台 client 访问一下就会定向到 192.168.2.100 这台 ftp 服务器上。

 

上述的访问或登录都没截图,给人感觉贴上有点乱,但是都是验证过的!!!

相关阅读:

通过 LVS 实现 WEB 站点的 MySQL 高可用 http://www.linuxidc.com/Linux/2013-06/86390.htm

LVS+Apache+PHP+MySQL 读写分离 http://www.linuxidc.com/Linux/2012-12/77027.htm

MySQL LVS 负载均衡 http://www.linuxidc.com/Linux/2012-09/69862.htm

企业 Web 高可用集群实战之 LVS+Keepalived+MySQL HA http://www.linuxidc.com/Linux/2012-09/70097.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2210字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中