lvs实现持久连接

简介:

   先说说lvs的持久连接能干什么:无论你选择lvs的何种转发策略,如果你想确定来自某一个客户端的所有连接均返回到同一台real server,就需要LVS的持久连接了。经常用于SSL,建立一个SSL连接需要交换SSL密钥,当启用持久性连接时,只需要做一次验证即可。

显然LVS持久连接的定义也就知道了:某一个周期(时间段)之内,来自于同一个用户的请求,都转向同一个real-server

持久连接模板:

    当使用LVS持久连接时,分发器使用一个连接跟踪(持久连接模板)使所有来自同一客户端的连接被标记为相同的real server;而当客户端向集群服务器请求连接时,分发器(director)会查看持久连接模板,是否real server已经被标记为这种类型的连接,若没有,director重新为每次连接创建一个正常连接的跟踪记录表(持久连接模板)。

持久连接超时:

我们可以在director使用ipvsadm为持久连接模板规定一个具体的时间段,如果记数器归零,而且是激活状态(客户端一直在和real server通信),不管你设置的持久连接时长是多少,记录器将会重置一个默认值2分钟,并开始计数,下降为零后,再开始再一下重置。

持久连接类型:

PCCpersistent client connections):持久的客户端连接,也叫做零端口的持久连接;

PPCpersistent port connections):持久的端口连接,一个持久端口连接到同一个real server强制所有从客户端计算机的连接为一个特定的目的端口号

Persistent Netfilter Marked Packet persistence:基于防火墙标记的持久性连接,这种防火墙标记仅在数据包在分发器上时有影响,数据包一旦离开director,就不再被标记。

 案例示意拓扑:

案例1 ppc

director配置:

ipvsadm  -At 192.168.2.254:0 -s rr -p

ipvsadm  -at 192.168.2.254:0 -t 192.168.2.10 -g

ipvsadm  -at 192.168.2.254:0 -t 192.168.2.10 -g

service ipvsadm save    //保存配置

service ipvsadm start   //启动服务

server1server2同:

[root@smb html]# echo 1 >  /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@smb html]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@smb html]# echo 1 >  /proc/sys/net/ipv4/conf/all/arp_ignore

[root@smb html]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# ifconfig lo:0 192.168.2.254 netmask 255.255.255.255    配置回环接口

# route add -host 192.168.2.254 dev lo:0               添加默认路由

案例2ppc

#ipvsadm -C    //清除ipvsadm规则表

#ipvsadm -At 192.168.2.254:80 -s rr -p 1800     //80端口

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

# ipvsadm -At 192.168.2.254:3306 -s rr -p 1800   

# ipvsadm -at 192.168.2.254:3306 -r 192.168.2.10 -g

 

# ipvsadm -At 192.168.2.254:22 -s rr -p       //22端口,使用默认时间360秒

# ipvsadm -at 192.168.2.254:22 -r 192.168.2.10 -g 

# ipvsadm -At 192.168.2.254:80 -s rr -p

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start   //启动服务

 

可通过ipvsadm -Ln来查看策略匹配情况,

 

案例3: ftp持久连接,防火墙标记

#ipvsadm -C     //清除ipvsadm规则表

# iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 21 -j  MARK --set-mark 10

# iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 10000:20000 -j  MARK --set-mark 10 

# ipvsadm  -A -f  10 -s rr -p 1800

# ipvsadm -a -f 10 -r 192.168.2.10 -g

# ipvsadm -a -f 10 -r 192.168.2.20 -g 

#service ipvsadm save    //保存配置

#service ipvsadm start   //启动服务

 

案例4:http与https

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 80 -j  MARK --set-mark 80

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 443 -j  MARK --set-mark 80

#ipvsadm -C

# ipvsadm  -A -f  80 -s rr -p 300     //修改时间为300

# ipvsadm -a -f 80 -r 192.168.2.10 -g   

# ipvsadm -a -f 80 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start   //启动服务

 

对于ca的配置略,

实验结束。



本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1104178


相关文章
|
网络协议 Apache 开发工具
|
负载均衡 算法 网络协议
|
网络安全 算法 调度
|
监控 网络协议 开发工具
|
3天前
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
51 4
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
100 8
LVS+Keepalived 负载均衡