前期准备:
试验环境 Red Hat Enterprise Linux 5
软件版本 ipvsadm-1.25.tar.gz
搭建实验环境,三台虚拟机,一台作为Director、两台作为RealServer
通过yum库安装ipvsadm软件包,并配置各个物理网卡地址成为:
DIP:192.168.0.43 RIP1:192.168.0.45 RIP2:192.168.0.46,网关为:192.168.0.47
LVS-DR持续链接网络拓扑图
基于LVS-DR集群的持久链接实验_第1张图片
打开Director的路由转发功能(在实际应用中,DIP和VIP处于不同的网段,所以要打开路由转发功能)。
基于LVS-DR集群的持久链接实验_第2张图片
ifconfig eth0:0 192.168.0.49 broadcast 192.168.0.49 netmask 255.255.255.255 up
route add –host 192.168.0.49 dev eth0:0
基于LVS-DR集群的持久链接实验_第3张图片
基于LVS-DR集群的持久链接实验_第4张图片
所以要配置Iptables规则来标记通过防火墙的数据请求。添加完成后要查看一下是否添加成功。
基于LVS-DR集群的持久链接实验_第5张图片
基于LVS-DR集群的持久链接实验_第6张图片
接下来就是加载Director的Rules规则:
添加一条ipvsadm规则,这是一条使用防火墙标记的基于加权最少活动链接的默认持久链接为600秒的ipvsadm规则。配置完成后用ipvsadm –L –n 命令查看刚才配置好的规则。
基于LVS-DR集群的持久链接实验_第7张图片
添加ipvsadm规则,这是一条使用防火墙标记为1的RIP为192.168.0.45的权重为1的基于LVS-DR转发类型的ipvsadm规则。第二条规则的RIP为192.168.0.46,权重为2,配置完成后查看刚刚配置好的规则。
基于LVS-DR集群的持久链接实验_第8张图片
RealServer服务器配置:
重启一下本地换回地址。
基于LVS-DR集群的持久链接实验_第9张图片
将RealServer1的VIP绑定到本地环回地址:
ifconfig lo:0 192.168.0.49 broadcast 192.168.0.49 netmask 255.255.255.255 up
并添加环回路由,route add –host 192.168.0.49 dev lo:0
基于LVS-DR集群的持久链接实验_第10张图片
当CIP发出需找VIP的ARP广播求情时,为了避免RealServer响应ARP请求,需要隐藏RealServer的VIP,具体命令如下图所示:
因为本地网卡和换回地址网卡处于不同的文件中,所以要分别导入这两个文件。
基于LVS-DR集群的持久链接实验_第11张图片 基于LVS-DR集群的持久链接实验_第12张图片
RealServer1的配置也结束了,接着就是重启web服务。确保本机测试可以正常访问。
RealServer2的服务配置与RealServer1相同,在此演示步骤省略。
测试配置:
选择一台主机,ip设置192.168.0.42 ,来访问http://192.168.0.49, 测试一下刚才的劳动成果。反复刷新网页,每次出现的网页不同则表示成功。
(此处显示的以http://开头是为了和后面的配置进行对比。与本次试验无关)
基于LVS-DR集群的持久链接实验_第13张图片
在Director上连续执行ipvsadm –L –n命令,可以发现链接到RealServer服务器的数据变化,并且是只有一台RealServer服务器的数据发生变化,另一台RealServer的链接数一直保持为0.此时,我们就可以宣布试验成功了。庆祝一下吧?^_^
还记得试验目的吧?就是实现基于LVS-DR的持久链接,这个链接时间是刚才我们在Director上配置的600秒。过了600秒以后,再到客户端上继续刷新,有可能会链接到192.168.0.45,也有可能会是192.168.0.46
基于LVS-DR集群的持久链接实验_第14张图片
再来设置一种新假设。如果客户端的访问请求是链接到电子商务类网站,需要输入网上货币流通,此时对RealServer服务的要求就是要保证数据的安全性,防止信息的泄露。那么RealServer服务器端要做的就是增加web服务的访问安全机制。这该如何设置呢?
我们可以使用基于安全目标tcp通道的https协议。这就要在RealServer上分别配置基于SSL的证书来认证(有关签证可以参考本人另一篇博客《如何实现安全web服务》)。
验证结果为:
基于LVS-DR集群的持久链接实验_第15张图片
基于LVS-DR集群的持久链接实验_第16张图片
基于LVS-DR集群的持久链接实验_第17张图片
再打开另外一台客户端来连接RealServer的web服务,保持两台客户端不断刷新页面。切换到Director机器上,执行ipvsadm –L –n来查看访问的数据请求。可以发现两台RealServer都接受到了数据访问。
基于LVS-DR集群的持久链接实验_第18张图片