wlyyb521 发表于 2019-1-4 10:30:15

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]
查看完整版本: Linux LVS之持久连接