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

[经验分享] linux集群系列(4)

[复制链接]

尚未签到

发表于 2019-1-6 09:13:16 | 显示全部楼层 |阅读模式

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


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




1.2. 持久连接模板:


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




1.3. 持久连接超时:


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




1.4. 持久连接类型:


PCC(persistent client connections):持久的客户端连接,也叫做零端口的持久连接;
#ipvsadm -A 192.168.0.10:0 -s rr -p [6000](只需将VIP的端口设为0接口表示所有端口都持久)


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


# ipvsadm -A 192.168.0.10:80 -s rr -p [6000]



PNMPP(Persistent Netfilter Marked Packet persistence):基于防火墙标记的持久性连接;
这种防火墙标记仅在数据包在分发器上时有影响,数据包一旦离开director,就不再被标记。
把多个目标端口标记为同一个标记mark(1~99),持久后保证可以cookie、session可用。
# ipvsadm -A -f mark -s rr -p [600]
# ipvsadm -a -f mark -r 192.168.10.12 -g
# ipvsadm -a -f mark -r 192.168.10.13 -g



案例示意拓扑:






二、手动配制示例


2.1. 实验环境:



案例1. 持久的端口连接ppc




director配置:


ipvsadm  -A -t 192.168.2.254:0 -s rr -p


ipvsadm  -a -t 192.168.2.254:0 -t 192.168.2.10 -g  //-g:使用网关直接路由


ipvsadm  -a -t 192.168.2.254:0 -t 192.168.2.10 -g








service ipvsadm save    //保存配置
service ipvsadm start   //启动服务
server1与server2同:


[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        添加默认路由









案例2:持久的客户端连接ppc




#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端口,使用默认时间300秒
# ipvsadm -at 192.168.2.254:22 -r 192.168.2.10 -g   //-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  //-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  //-g:使用网关直接路由


# ipvsadm -a -f 80 -r 192.168.2.20 -g
#service ipvsadm save                //保存配置
#service ipvsadm start                //启动服务

对于ca的配置略,







案例5:

Real Server: 10.109.134.203 /10.109.134.204
[root@localhost ~]# chkconfig telnet on
[root@localhost ~]# service xinetd restart
Stopping xinetd:              [  OK  ]
Starting xinetd:              [  OK  ]
[root@localhost ~]# netstat -tnlp

...
tcp     0      0 :::80      :::*     LISTEN      7983/httpd
tcp     0      0 :::22      :::*     LISTEN      1501/sshd
tcp     0      0 :::23      :::*     LISTEN      8350/xinetd
...
[root@localhost ~]# useradd hadoop
[root@localhost ~]# passwd hadoop


DR:10.109.134.210
[root@localhost ~]# ipvsadm -A -t 10.109.134.210:23 -s rr
[root@localhost ~]# ipvsadm -a -t 10.109.134.210:23 -r 10.109.134.203 -g -w 2
[root@localhost ~]# ipvsadm -a -t 10.109.134.210:23 -r 10.109.134.204 -g -w 1
[root@localhost ~]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port      Forward Weight ActiveConn InActConn
TCP  10.109.134.210:http rr persistent 900
  -> 10.109.134.204:http    Route   3   0     0
  -> 10.109.134.203:http    Route   1   0     0
TCP  10.109.134.210:telnet rr persistent 3600
  -> 10.109.134.204:telnet   Route   1   1     0
  -> 10.109.134.203:telnet   Route   2   1     0


若要实现持久连接
[root@localhost ~]# ipvsadm -E -t 10.109.134.210:23 -s rr -p 3600


若要实现多服务的标记持久连接
ipvsadm -C
iptables -t mangle -A PREROUTING -d 10.109.134.210 -i eth0 -p tcp --dport 80 -j mark 6
iptables -t mangle -A PREROUTING -d 10.109.134.210 -i eth0 -p tcp --dport 23 -j mark 6
ipvsadm -A -f 6 -s rr -p 600

ipvsadm -a -f 6 -r 10.109.134.203 -g -w 2
ipvsadm -a -f 6 -r 10.109.134.204 -g -w 1




---end---

  





运维网声明 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-659856-1-1.html 上篇帖子: linux集群系列(3) 下篇帖子: 如何利用lvs
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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