设为首页 收藏本站
查看: 644|回复: 0

[经验分享] lvs持久性

[复制链接]

尚未签到

发表于 2019-1-3 08:49:26 | 显示全部楼层 |阅读模式
  http是一种无状态的协议,但是此时如果用户访问一个购物网站,如果网站不
能确认用户的话,则用户访问一个网页就得验证一次,否则在购物车里买的东西
发现付了钱了,东西没了。此时就需要一种机制来定义用户访问的持久性。
  持久连接类型
pcc :持久客户端连接,在服务没有超时的时候,一个用户访问的所有服务都被定向到一个
  realserver上
ppc :端口持久连接,用户只有在访问特定端口的时候才做定向连接。
PNMP : 持久防火墙标记的连接:指定用户的姻亲关系。如,定义80与443定义在姻亲关系,如果用户
  访问80被定向到第一台realserver
  此时在昨天实验的基础上进行,两台realserver的ip为172.16.99.11和172.16.99.12,二者都在lo上配置
  了vip172.16.99.68
director为vip:172.16.99.68 dip为:172.16.99.10
他们之间建立的lvs-dr模型
  port:0表示所有服务的端口。(0端口)
  

PCC:实现将客户端发起的请求,在定义时间内定向到那他realserver上。此种方法现在用的不多了。
使用0作为端口。
ipvsadm -C    清除以前的定义
ipvsadm -A -t 192.168.0.220:0 -s rr -p
  此时定义到0端口,此时他转发所有请求,只要不超时,后续操作都被定向到那个realserver上
ipvsadm -A -t 172.16.100.1:0 -s wlc -p 300
ipvsadm -a -t 172.16.100.1:0 -r 172.16.100.11 -w 4 -g
ipvsadm -a -t 172.16.100.1:0 -r 172.16.100.12 -w 2 -g
此时你再访问,就始终定义到那台主机,不超时的情况下,只要访问就定义到那台。
此时你使用网页访问的话,打开的网页就不会跳转了,始终被定义到你访问的那台realserver上了。
之前我定义的是两个网页不同,一个为www1 ,一个为www2,此时你再访问,它只显示www2并且在你访问
  期间不会改变,
过300秒之后再访问的话,有可能改变,如此时是www1,则需要再过300秒才有可能改变。
  二
PPC:实现将客户的web请求,在定义的时间内重定向到那台realserver上。而ssh服务,在定义时间内,
  则与web服务可以
定向到同一台也可以定向到不同的realserver上。这种方法比较常用
指定超时时间为600秒
ipvsadm -E -t 172.16.99.68:80 -s wlc -p 600
ipvsadm -a -t 172.16.99.68:80 -r 172.16.99.11 -g
ipvsadm -a -t 172.16.99.68:80 -r 172.16.99.12 -g
包正在超时时间内,对所有的80端口访问都在一台realserver上,只要不超时,对所有的22好端口
访问都在同一台realserver上。
ipvsadm -A -t 172.16.99.68:22 -s rr -p 300
ipvsadm -a -t 172.16.99.68:22 -r 172.16.99.11 -g
ipvsadm -a -t 172.16.99.68:22 -r 172.16.99.12 -g
  此时通过访问,在300秒之内,你的访问,都会被重定向到后台的某个realserver上。
  三
基于防火墙标记的访问机制
一个用户访问,当经过input的时候,ipvs重定向到postrouting,不经过本机内部的prerouting。
  如访问80端口的防火墙标记的
iptables -t mangle -A PREROUTING -d 172.16.99.68 -p tcp --dport 80 -j MARK --set-mark 10
  -f 指定标记是谁的
此时只需要指定防火墙标记就好了,不用再指定端口。
ipvsadm -A -f 10 -s wlc
ipvsadm -a -f 10 -r 172.16.99.11 -g -w 4
ipvsadm -a -f 10 -r 172.16.99.12 -g -w 2
  此时使用防火墙标记的主要目的是将443端口和80端口,实现姻亲关系的。
  其中两台realserver要配置证书,此时两台主机要使用它同一个证书。如果不用同一个,访问一个就得验
  证一个,会带来麻烦的。
此时在两台realserver上安装mod_ssl使其能够支持ssl
yum install mod_ssl -y
cd /etc/pki/tls/certs/
make httpd.pem(里面包含证书和私钥,这样做只是为了快速实现生成密钥,在做的时候不建议这样用)
主机名要与访问主机名一样,一定要一样,否则会出错。
www.a.org
www@a.org
  拷贝证书
cp httpd.pem /etc/httpd/
cd /etc/httpd/conf.d/
vim ssl.conf
定义端口,
开启
DocumentRoot '/var/www/html'
ServerName www.a.org:443
  SSLCertificateFile /etc/httpd/httpd.pem
SSLCertificateKeyFile /etc/httpd/httpd.pem
  :wq
  service httpd restart
此时通过网页访问试试,会出现验证的页面。
https://172.16.99.11
  拷贝配置到第二台realserver上。
此时使用的是本地相对路径,因为此时我正在此目录中。可以把目录写全。/etc/httpd/httpd.pem
另外一个/etc/httpd/conf.d/ssl.conf
yum install mod_sll -y
scp httpd.pem 172.16.99.12:/etc/httpd
scp conf.d/ssl.conf 172.16.99.12:/etc/httpd/conf.d
此时把所有的证书信息都拷贝到另外一台realserver上了。
在上面直接service httpd restart就好了。
此时访问
https://172.16.99.12
是否出现验证的页面呢?
  
director上
iptables -t mangle -A PREROUTING -d 172.16.99.68 -p tcp --dport 443 -j MARK --set-mark 10
ipvsadm -E -f 10 -s wlc -p 300
  此时你使用http访问,和使用https都是访问的同一个网页。
这就实现了端口的姻亲关系。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658819-1-1.html 上篇帖子: lvs使用和管理 下篇帖子: LVS参数说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表