持久连接即是不考虑LVS的转发方法,确保所有来自同一个用户的连接转发到同一个RealServer上
-p N 后面加上持就连接的时间
1.PCC(persistent client connector,持久用户连接)同一个用户所有的请求在超时范围之内都被定位到同一个RealServer上,这个时候在指定端口的时候使用的是0端口,就是所有的请求都转发出去。
2.PPC(persistent port connector)用户的所有请求在超时范围内按照端口定位到不同的RS上。
3.防火墙标记:把相关联的端口在防火墙上打上同样的标记,用户在访问两个相关联的服务的时候,就会定位到同一个RealServer上。
4.FTP connection:由于ftp使用的是两个端口号,所以需要单独列出来。
Directory-------RealServer1(192.168.1.172)
|
|____RealServer2(192.168.1.178)
VIP=192.168.1.80
Directory上的配置:
#ifconfig eth0 192.168.1.78/24
#ifconfig eth0:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev eth0:0
#echo 1 >/proc/sys/net/ipv4/ip_forward
#ipvsadm -A -t 192.168.1.80:0 -s rr -p 600
#ipvsadm -a -t 192.168.1.80:0 -r 192.168.1.172:0 -g
#ipvsadm -a -t 192.168.1.80:0 -r 192.168.1.178:0 -g
#ifconfig eth0 192.168.1.172/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#yum install httpd
#echo "rs1" > /var/www/html/index.html
#service httpd start
#ifconfig eth0 192.168.1.178/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#yum install httpd
#echo "rs2" > /var/www/html/index.html
#service httpd start
依然是上面的图
两个RealServer配置不变
在Directory上重新配置:
#ipvsadm -C //清空ipvs表
#iptables -t mangle -A PREROUTING -d 192.168.1.80 -p tcp --dport 80 -j MARK --set-mark 10 把目的地为1982.168.1.80:80标记为10
#ipvsadm -A -f 10 -s rr -p 60 //使用上面标记的10定义集群服务
#ipvsadm -a -f 10 -r 192.168.1.172 -g //为集群定义RealServer
#ipvsadm -a -f 10 -r 192.168.1.178 -g
在浏览其中输入http://192.168.1.80可以访问到网页,但是如果使用ssh连接192.168.1.80的话,就只能呗定向到192.168.1.78上也就是Directory上,实验完成
依然使用上面的拓扑图:
1.首先在RS上做证书
#yum install mod_ssl
#cd /etc/pki/tls/certs
#make httpd.pem //在设置的时候,Common Name设置和Directory的主机名一样就行了
#mkdir /etc/httpd/ssl
#cp httpd.pem /etc/httpd/ssl
#vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/ssl/httpd.pem
SSLCertificateKeyFile /etc/httpd/ssl/httpd.pem
ServerName node1.a.org:443 //我的Directory的主机名是node1.a.org
#service httpd restart
2.其他的配置和上面一样,同样RealServer2上也采取同样的配置,我这里就不演示了
只需要在iptables上多添加一条命令如下
#iptables -t mangle -A PREROUTING -d 192.168.1.80 -p tcp --dport 443 -j MARK --set-mark 10 //这里的标记和http的80端口的标记是一样的,这个时候在访问的时候,就会建立姻亲关系,其他的配置和C的配置一样,不多演示了