Linux企业实战(十一)——LVS(2)

1 LVS的DR模式

在这里插入图片描述

工作过程:

  • 1 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。此时报文的源IP为CIP,目标IP为VIP;
  • 2 PREROUTING检查发现数据包的目标IP是本机,将数据包发送至INPUT链;
  • 3 IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改为RIP的MAC地址,然后将数据包发至POSTROUTING链。此时的源IP和目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标MAC地址为RIP的MAC地址;
  • 4 由于DS和RS在同一个网络中,所以是通过二层来传输。POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时数据包将会发送至Real Server;
  • 5 RS发现请求报文的MAC地址是自己的MAC地址,就接受此报文。处理完成后,将响应报文通过lo接口传送给eth0网卡然后向外发出。此时的源IP地址为VIP,目标IP为CIP;
  • 6 响应报文最终送达至客户端。

2 LVS-DR模型的特性

特性:

  • 1 保证前端路由将目标地址为VIP报文统统发给Director Server ,而不是RS;
  • 2 RS跟Director Server必须在同一个物理网络中;
  • 3 所有的请求报文经由Director Server,但响应报文必须不能经过Director Server;
  • 4 不支持地址转换,也不支持端口映射;
  • 5 RS可以是大多数常见的操作系统;
  • 6 RS的网管决不允许指向DIP(因为我们不允许它经过director)RS上的lo接口配置VIP的IP地址;

缺陷:

  • RS和DS必须在同一个机房

3 搭建实验环境

(1)实验准备

在这个实验中我们需要准备3台虚拟机分别为:sever1 sever2 sever3
server1作为lvs调度器,而server2和server3作为后端服务器

  • 在server2和server3中安装apache,并且写好测试页:
yum install httpd -y
cd /var/www/html/
vim index.html
systemctl start httpd

在这里插入图片描述
在这里插入图片描述

(2)配置ipvsadm

在server1中进行ipvsadm的相关配置

yum install ipvsadm -y
ipvsadm -l		#查看策略(解析ip与域名的对应关系,查看速度较慢)
ipvsadm -ln		#-n不解析(速度快)
ipvsadm -A -t 172.25.0.100:80 -s rr	#添加策略:tcp,通过80端口访问172.25.0.100,以轮询的调度算法
ipvsadm -a -t 172.25.0.100:80 -r 172.25.0.2:80 -g	#添加策略:tcp,通过80端口访问172.25.0.100,以轮询的调度算法,使用DR(直接路由)模式,转发到172.25.0.2的80端口
ipvsadm -a -t 172.25.0.100:80 -r 172.25.0.3:80 -g	##添加策略:tcp,通过80端口访问172.25.0.100,以轮询的调度算法,使用DR(直接路由)模式,转发到172.25.0.3的80端口
ipvsadm -ln

在这里插入图片描述

(3)添加VIP

然后在server1 server2 server3上分别添加VIP地址

ip addr add 172.25.0.100/32 dev eth0	#添加VIP地址到eth0上,这里掩码为32,表示对外不可见
ip addr show

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)测试

在真机上来进行测试:

在这里插入图片描述

注意:这里出现了一个问题,我们刚刚设置的是轮询模式,但是这里在访问172.25.0.100时,出现的是server2的测试界面。

原因是:我们在上面配置LVS时,在server1 server2 server3上都配置了172.25.0.100的信息,而我们的实验是在一个局域网的环境中进行的,在同一个局域网中通信,数据的传输是依赖MAC地址而非IP地址,故当我们用classroom来对172.25.0.100进行访问时,server1 server2 server3就会来进行“抢答”,谁能够抢到,我们访问到的就是那个的测试页。

1)当server1抢到时,显示的就是轮询

在这里插入图片描述

在这里插入图片描述

2)当server2抢到时,自然就是绑定了server2的MAC地址

在这里插入图片描述

在这里插入图片描述

3)当server3抢到时,自然就是绑定了server3的MAC地址

在这里插入图片描述
在这里插入图片描述

(5)解决上述问题的方法——让MAC地址固定为server1的,然后进行轮询

配置server2和server3的arp路由策略:为arptables网络的用户控制过滤的守护进程

  • server2上:
yum whatprovides arptables/*
yum install arptables-0.0.4-8.el7.x86_64 -y      #安装arptables命令,arptables是一个同户空间程序,它可以管理内核中的arp规则表,
arptables -A INPUT -d 172.25.0.100 -j DROP		 #当局域网内广播172.25.0.100这个IP时,它丢弃所有局域网内的请求,不予以理睬
arptables -A OUTPUT -s 172.25.0.100 -j mangle --mangle-ip-s 172.25.0.2	#当它自身需要在局域网内发包时,伪装为自己原本的IP 172.25.0.2

在这里插入图片描述

  • server3上:
yum install arptables-0.0.4-8.el7.x86_64 -y     
arptables -A INPUT -d 172.25.0.100 -j DROP		 
arptables -A OUTPUT -s 172.25.0.100 -j mangle --mangle-ip-s 172.25.0.3

在这里插入图片描述

(6)修改后再次在classroom上进行测试

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值