一、 LVS-DR模式
1、LVS-DR数据包流量分析
- 客户端发送请求到Director Server(负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间
- Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输
- 内核空间判断数据包的目标IP是本机VIP,此时IPVS比对数据包请求的服务是否是集群服务,若是就重新封装数据包。修改源MAC地址为Director Server的MAC地址,修改目标MAC地址为Real Server的MAC 地址,源IP地址与目标IP地址没有改变,最后将数据包发送给Real Server
- 到达Real Server的请求报文的MAC地址是自身的MAC地址,就接收此报文;数据包重新封装报文(源IP地址为VIP,目标CIP),将响应报文通过lo接口传送给物理网卡然后向外发出
- Real Server直接响应报文传送到客户端
2、DR模式的特点
- Director Server 和 Real Server必须在同一个物理网络中
- Real Server 可以使用私有地址,也可以使用公网地址;如果使用公网地址,可以通过互联网对RIP进行直接访问
- Director Server 作为集群的访问入口,但不作为网关作用
- 所有请求报文有Director Server,但回复响应报文不能经过Director Server
- Real Server的网关不允许指向Director Server IP,即Real Server发送的数据包不允许经过Director Server
- Real Server上的lo接口配置VIP的IP 地址
二、实践操作
1、在LVS上配置
1.1首要任务下安装ipvsadm管理工具
1.2 修改网卡的配置信息
1.3 进入/etc/sysctl.conf配置文件中,修改配置文件
1.4 编写一个脚本文件
2、在server1、server2配置
2.1 配置相关网卡信息
2.2 将192.168.159.100禁锢到本地
2.3 配置启动管理执行路由禁锢
2.4 调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免冲突
[root@server1 network-scripts]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
~
2.5 分别在server1、server2上编写网页内容
3、在Windows虚拟机上测试效果
3.1 首先在lvs服务器上执行脚本
3.2 在Windows上测试效果