lvs高级配置(持久连接、防火墙标记)

本文介绍LVS负载均衡器中持久连接的三种实现方式:每端口持久、每FWM持久和每客户端持久,并详细展示了如何利用防火墙标记(FWM)来定义集群服务。

lvs高级配置(持久连接、防火墙标记)

一、对于session的绑定

session绑定:lvs sh调度算法对某一特定服务;如果开始http访问需要认证转为https认证就有可能分配到另一台服务期。只能特定单独的服务,不支持高级调度算法。

lvs persistence:lvs的持久连接

 

二、功能:

无论ipvs使用何种调度方法,其都能实现将来自于同一个Client的请求始终定向至第一次调度时挑选出的RS;比sh高级的是可以使用高级调度方法。可以定义持久时长:时间超时用户未离开,自动延长时间。当用户退出后,等待一定的时间计时器超时后从持久连接模板中删除记录条目,之后的连接采用选择的调度方式调度,重启持久连接。

持久连接模板:独立于算法 sourceip rs timer

 

三、持久连接的实现方式:

1、每端口持久:PPC,单服务持久调度,可以定义持久时长。时间超时用户未离开,自动延长时间。

例如:

[root@director ~]# ipvsadm -A -t 192.168.3.1:443 -s rr -p

[root@director ~]# ipvsadm -a -t 192.168.3.1:443 -r 192.168.2.3:443 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:443 -r 192.168.2.4:443 -g

[root@director ~]# ipvsadm -A -t 192.168.3.1:80 -s rr

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.3:80 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.4:80 –g

 

2、每FWM持久:PFWMC,单FWM持久调度,单防火墙标记持久连接,不区分服务。

PORT AFFINITY

例如:

[root@director ~]# ipvsadm -E -f 10 -s rr -p

[root@director ~]# ipvsadm -A -t 192.168.3.1:22 -s rr

[root@director ~]# ipvsadm -a -t 192.168.3.1:22 -r 192.168.2.3:22 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:22 -r 192.168.2.4:22 –g

 

3、每客户端持久:PCC,单客户端持久调度,把所有的服务定义为集群服务,director都调度到一台Real server

例如:

[root@director ~]# ipvsadm -C

[root@director ~]# ipvsadm -A -t 192.168.3.1:0 -s rr -p

[root@director ~]# ipvsadm -a -t 192.168.3.1:0 -r 192.168.2.3 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:0 -r 192.168.2.4 –g

 

director会将用户的任何请求都识别为集群服务,并向RS进行调度

TCP:1-65535

UDP: 1-65535

 

四、FWM,防火墙标记

在mangle表中的PREROUTING上定义:

-j MARK –set-mark 10

ipvs: -A -f 10

通过FWM定义集群的方式:

 

(1) 在director上netfilter的mangle表的PREROUTING定义用于”打标”的规则

~]# iptables -t mangle -A PREROUTING -d $vip -p $protocol –dports $port -j MARK –set-mark #

                $vip: VIP地址

                $protocol:协议

                $port: 协议端口

例如:

[root@director ~]# iptables -t mangle -A PREROUTING -d 192.168.3.1 -p tcp -m multiport –dports 80,443 -j MARK –set-mark 10

 

(2) 基于FWM定义集群服务:

~]# ipvsadm -A -f # -s scheduler

例如:

[root@director ~]# ipvsadm -A -f 10 -s rr

[root@director ~]# ipvsadm -a -f 10 -r 192.168.2.3 -g

[root@director ~]# ipvsadm -a -f 10 -r 192.168.2.4 –g

功用:将共享一组RS的集群服务统一进行定义;

 

 

验证拓扑:

一、初始配置

1、director:

[root@director ~]# yum -y install ipvsadm

[root@director ~]# ifconfig eth1 11.100.45.9/24

[root@director ~]# route add default gw 11.100.45.254

 

[root@director ~]# ifconfig eth2 192.168.2.2/24

[root@director ~]# ifconfig lo:0 192.168.3.1/32 broadcast 192.168.3.1

[root@director ~]# route add -host 192.168.3.1 dev lo:0

 

2、server1:

 

[root@server1 ~]# ifconfig eth2 192.168.2.3/24

[root@server1 ~]# ifconfig eth1 11.100.45.4/24

[root@server1 ~]# route add default gw 11.100.45.254

 

[root@server1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@server1 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_ignore

[root@server1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@server1 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth1/arp_announce

 

[root@server1 ~]# ifconfig lo:0 192.168.3.1/32 broadcast 192.168.3.1 up

[root@server1 ~]# route add -host 192.168.3.1 dev lo:0

 

[root@realserver1 ~]# yum -y install httpd

[root@server1 ~]# yum -y install mod_ssl

[root@realserver1 ~]# service httpd start

二、配置http、https

1、server2:

[root@realserver2 ~]# ifconfig eth2 192.168.2.4/24

[root@realserver2 ~]# ifconfig eth1 11.100.45.7/24

[root@realserver2 ~]# route add default gw 11.100.45.254

 

[root@realserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@realserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_ignore

[root@realserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@realserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth1/arp_announce

 

[root@realserver2 ~]# ifconfig lo:0 192.168.3.1/32 broadcast 192.168.3.1 up

[root@realserver2 ~]# route add -host 192.168.3.1 dev lo:0

 

[root@realserver2 ~]# yum -y install httpd

[root@server2 ~]# yum -y install mod_ssl

[root@realserver2 ~]# service httpd start

 

 

2、ca:

server1:

[root@server1 ~]# mkdir /etc/httpd/ssl -pv

[root@server1 CA]# touch index.txt

[root@server1 CA]# echo 01 > serial

[root@server1 CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)

[root@server1 CA]# openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem

[root@server1 CA]# (umask 077;openssl genrsa -out www.cpe.com.key 2048)

[root@server1 CA]# openssl req -new -key www.cpe.com.key -days 365 -out www.cpe.com.csr

[root@server1 CA]# openssl ca -in www.cpe.com.csr -out www.cpe.com.crt

 

[root@server1 CA]# cp -a www.cpe.com.* /etc/httpd/ssl/

[root@server1 CA]# ssh root@192.168.2.4 mkdir -pv /etc/httpd/ssl

[root@server1 CA]#scp /etc/httpd/ssl/ root@192.168.2.4:/etc/httpd/ssl/

 

[root@server1 CA]# vim /etc/httpd/conf.d/ssl.conf

DocumentRoot “/var/www/html”

ServerName www.cpe.com:443

SSLCertificateFile /etc/httpd/ssl/www.cpe.com.crt

SSLCertificateKeyFile /etc/httpd/ssl/www.cpe.com.key

[root@server1 CA]# scp /etc/httpd/conf.d/ssl.conf root@192.168.2.4:/etc/httpd/conf.d/ssl.conf

 

三、lvs调度测试

lvs:

[root@director ~]# yum -y install ipvsadm

[root@director ~]# ipvsadm -A -t 192.168.3.1:80 -s rr

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.3:80 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.4:80 -g

 

创建lvs调度:

1.非持久连接fw标记.

[root@director ~]# iptables -t mangle -A PREROUTING -d 192.168.3.1 -p tcp -m multiport –dports 80,443 -j MARK –set-mark 10

[root@director ~]# ipvsadm -C

[root@director ~]# ipvsadm -A -f 10 -s rr

[root@director ~]# ipvsadm -a -f 10 -r 192.168.2.3 -g

[root@director ~]# ipvsadm -a -f 10 -r 192.168.2.4 -g

2.改为fwmark持久连接,增加ssh调度,ssh轮训,而http,https是持久调度的

[root@director ~]# ipvsadm -E -f 10 -s rr -p

[root@director ~]# ipvsadm -A -t 192.168.3.1:22 -s rr

[root@director ~]# ipvsadm -a -t 192.168.3.1:22 -r 192.168.2.3:22 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:22 -r 192.168.2.4:22 -g

3.验证基于客户端调度(单个客户段所有的服务被调度到同一台real server上了)

[root@director ~]# ipvsadm -C

[root@director ~]# ipvsadm -A -t 192.168.3.1:0 -s rr -p

[root@director ~]# ipvsadm -a -t 192.168.3.1:0 -r 192.168.2.3 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:0 -r 192.168.2.4 -g

4.基于端口的持久连接(http进行论调,而https进行持久连接)

[root@director ~]# ipvsadm -A -t 192.168.3.1:443 -s rr -p

[root@director ~]# ipvsadm -a -t 192.168.3.1:443 -r 192.168.2.3:443 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:443 -r 192.168.2.4:443 -g

[root@director ~]# ipvsadm -A -t 192.168.3.1:80 -s rr

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.3:80 -g

[root@director ~]# ipvsadm -a -t 192.168.3.1:80 -r 192.168.2.4:80 -g

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值