LVS负载均衡-DR模式(ipvsadm)

一.LVS模式一:DR

工作原理:
  1. 客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP
  2. 负载均衡器接收到报文后,发现请求的是在ipvs规则中存在的地址和端口,那么它将客户端请求报文的源MAC地址改为自己的MAC地址,目标MAC改为了Real Server的MAC地址,并将此包发送给Real Server
  3. Real Server发现请求报文中的目标MAC地址是自己,就会把此报文接受下来,处理完请求报文后,将响应报文通过lo接口送给eth0网卡,直接发送给客户端。

VIP地址为调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只是用于处理目标地址为VIP 的网络请求 VIP地址为调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只是用于处理目标地址为VIP 的网络请求。

二.实验环境(RHEL6.5版本)

1.server2与server3安装apache,在默认发布目录/var/www/html下编写发布文件

[root@server2 html]# vim index.html 
[root@server2 html]# cat index.html 

www.westos.org server2

[root@server3 html]# vim index.html [root@server3 html]# cat index.html

www.westos.org server3

2.selinux和iptables状态为disabled
3.Virtual IP:172.25.4.100
4.各主机信息如下:

主机名 IP
server1(调度器) 172.25.4.1
server2(真实服务器) 172.25.4.2
server3(真实服务器) 172.25.4.3

三.DR模式的部署

1.在调度器(server1)上配置ipvsadm:

1).搭建高级yum源

[root@server1 html]# vim /etc/yum.repos.d/rhel-source.repo 
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.4.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.4.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=0

2).安装ipvsadm

[root@server1 html]# yum clean all
[root@server1 html]# yum repolist
repo id           repo name                                               status
LoadBalancer      LoadBalancer                                                4
rhel-source       Red Hat Enterprise Linux 6Server - x86_64 - Source      3,690
[root@server1 html]# yum install ipvsadm -y

LVS负载均衡-DR模式(ipvsadm)_第1张图片
到此ipvsadm以配置完成
3).添加DR模式策略并保存

[root@server1 html]# ipvsadm -A -t 172.25.4.100:80 -s rr
[root@server1 html]# ipvsadm -a -t 172.25.4.100:80 -r 172.25.4.2:80 -g
[root@server1 html]# ipvsadm -a -t 172.25.4.100:80 -r 172.25.4.3:80 -g
[root@server1 html]# ipvsadm -l   ##查看调度(-nl为不做解析)
[root@server1 html]# /etc/init.d/ipvsadm save  ##保存策略(保存文件为/etc/sysconfig/ipvsadm)

-A:添加虚拟设备
-t:指定ip地址
-s:添加指定策略(rr为调度算法:轮询)

LVS负载均衡-DR模式(ipvsadm)_第2张图片
4).添加Virtual IP

[root@server1 html]# ip addr add 172.25.4.100/24 dev eth0
[root@server1 html]# ip addr show  ##查看是否添加上
    inet 172.25.4.100/24 scope global secondary eth0

LVS负载均衡-DR模式(ipvsadm)_第3张图片

2.给真实服务器server1和server2也添加Virtual IP
[root@server2 html]# ip addr add 172.25.4.100/32 dev eth0
[root@server2 html]# /etc/init.d/httpd start  ##开启http服务

[root@server3 html]# ip addr add 172.25.4.100/32 dev eth0
[root@server3 html]#  /etc/init.d/httpd start

LVS负载均衡-DR模式(ipvsadm)_第4张图片
LVS负载均衡-DR模式(ipvsadm)_第5张图片

3.测试:

1).在客户端(真机)上curl 172.25.4.100

[root@foundation64 ~]# curl 172.25.4.100

www.westos.org server3

[root@foundation64 ~]# curl 172.25.4.100

www.westos.org server3

[root@foundation64 ~]# arp -an | grep 100 ##查看MAC绑定地址 ? (172.25.4.100) at 52:54:00:11:dd:c1 [ether] on br0

LVS负载均衡-DR模式(ipvsadm)_第6张图片
在这里插入图片描述
注意:到此步骤功能都可以实现了,但是此时是随机访问的,server1,2,3都有可能被访问,我上面的情况是随机访问到server3(真实服务器),显然在企业中是不可能的,客户端不能访问到真实服务器,所以我们要让真实服务器屏蔽客户端,即客户端就访问不到server2和server3,只能访问到调度器(server1)

4.真实服务器(server2和server3)屏蔽客户端:

1).server2与server3下载arptables_jf,并添加指定策略
arptables:用于管理arp包过滤的软件,基本思路和iptables一样,处理有关arp协议的包

##server2:
[root@server2 ~]# yum install arptables_jf
[root@server2 ~]# arptables -A IN -d 172.25.4.100 -j DROP ##拒绝以100进来的请求
[root@server2 ~]# arptables -A OUT -s 172.25.4.100 -j mangle --mangle-ip-s 172.25.4.2   ##当自身需要通过100在网内发送数据包时,将ip伪装成172.25.4.2
[root@server2 ~]# /etc/init.d/arptables_jf save  ##保存策略


##server3:
[root@server3 ~]# yum install arptables_jf
[root@server3 ~]# arptables -A IN -d 172.25.4.100 -j DROP
[root@server3 ~]# arptables -A OUT -s 172.25.4.100 -j mangle --mangle-ip-s 172.25.4.3
[root@server3 ~]# /etc/init.d/arptables_jf save

2).查看server2和server3策略是否添加成功:arptables -L
LVS负载均衡-DR模式(ipvsadm)_第7张图片
LVS负载均衡-DR模式(ipvsadm)_第8张图片

5.再次客户端测试(真机)

1).先删除之前实验绑定的MAC地址:arp -d 172.25.4.100
2).curl 172.25.4.100访问100时,数据经过调度器进行轮询
LVS负载均衡-DR模式(ipvsadm)_第9张图片
3).在调度器(server1)上ipvsadm -ln查看调度信息
LVS负载均衡-DR模式(ipvsadm)_第10张图片

你可能感兴趣的:(LVS负载均衡-DR模式(ipvsadm))