Linux LVS之持久连接
大纲一、什么是持久连接
二、PCC示例
三、PPC示例
四、PNMPP示例
一、什么是持久连接
无论使用什么算法,LVS持久连接都能实现在一点时间内,将来自于同一个客户端请求派发至此前选定的realserver。
持久连接依赖于持久连接模板(内存缓冲区:记录每一个客户端及分配的realserver的映射关系),每个新的连接请求,无论客户端的连接状态无论是否断开,只要客户端曾经访问过,LVS就会在持久连接模板中记录信息.经常用于SSL,建立一个SSL连接,需要交换SSL密钥,当启用持久性连接时,只需要做一次验证即可。
持久连接模板查看
# ipvsadm -L -n -c
IPVS connection entries
pro expire state source virtual destination
TCP 00:57SYN_RECV 172.16.1.100:52035 172.16.1.110:80 172.16.1.103:80
TCP 00:57SYN_RECV 172.16.1.100:52034 172.16.1.110:80 172.16.1.104:80 持久连接查看
# ipvsadm -L -n --persistent-conn
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Weight PersistConn ActiveConn InActConn
-> RemoteAddress:Port
TCP172.16.1.110:80 rr persistent 600
-> 172.16.1.103:80 2 0 0 2
-> 172.16.1.104:80 1 1 0 4
二、PPC示例
PPC(Persistent Port Connections)
持久端口连接:将来自于同一个客户端对同一个集群服务的请求,始终定向至此前选定的RS,对某一特定端口服务实现持久
# ipvsadm -A -t 172.16.1.110:80 -s rr -p 600
# ipvsadm -a -t 172.16.1.110:80 -r 172.16.1.103 -g
# ipvsadm -a -t 172.16.1.110:80 -r 172.16.1.104 -g三、PCC示例
PCC(Persistent Client Connections)
持久客户端连接:将来自于同一个客户端对所有端口的请求,始终定向至此前选定的RS;把所有端口统统定义为集群服务,一律向RS转发,对所有端口服务实现持久
# ipvsadm -A -t 172.16.1.110:0 -s rr -p 600
# ipvsadm -a -t 172.16.1.110:0 -r 172.16.1.103 -g
# ipvsadm -a -t 172.16.1.110:0 -r 172.16.1.103 -g四、PNMPP示例
PNMPP(Persistent Netfilter Marked Packet Persistence)
持久防火墙标记连接:将来自于同一个客户端对同一个防火墙标记的集群服务的请求,始终定向至此前选定的RS;对某几个端口服务实现持久
# iptables -t mangle -A PREROUTING -d 172.16.1.110 -i eth0 -p tcp --dport 80 -j MARK --set-mark 10
# iptables -t mangle -A PREROUTING -d 172.16.1.110 -i eth0 -p tcp --dport 443 -j MARK --set-mark 10
# ipvsadm -A -f 10 -s rr -p 600
# ipvsadm -a -f 10 -r 172.16.1.103 -g
# ipvsadm -a -f 10 -r 172.16.1.104 -g
页:
[1]