Linux之lvs负载均衡----DR模式

实验准备:

开启3台虚拟机,配置好yum源

server1  172.25.35.1(调度服务器)

server2 172.25.35.2(后台服务器)

server3 172.25.35.3(后台服务器)

###server1(调度服务器)

1.安装ipvsadm

yum install -y ipvsadm 

Linux之lvs负载均衡----DR模式_第1张图片

2.开启ipvsadm服务
touch  /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
systemctl status ipvsadm.service

Linux之lvs负载均衡----DR模式_第2张图片

3.添加策略
ipvsadm -A -t 172.25.35.100:80 -s rr  ##调度策略为rr轮询算法
ipvsadm -a -t 172.25.35.100:80 -r 172.25.35.2:80 -g  ##添加两个后端服务器rs
ipvsadm -a -t 172.25.35.100:80 -r 172.25.35.3:80 -g
cat /etc/sysconfig/ipvsadm  ##直接查看文件,策略不生效
systemctl restart ipvsadm.service
 cat /etc/sysconfig/ipvsadm ##重启服务后,策略生效

Linux之lvs负载均衡----DR模式_第3张图片


ipvsadm -l    ##查看策略 较慢
 ipvsadm -ln  ##不解析 查看策略 较快

Linux之lvs负载均衡----DR模式_第4张图片
vim /etc/sysconfig/ipvsadm-config  ##修改ipvsadm配置文件
 18 IPVS_SAVE_ON_RESTART="yes"  ##

给调度器添加vip:
ip addr add 172.25.35.100/24 dev eth0
 systemctl restart ipvsadm.service   ##重启服务

Linux之lvs负载均衡----DR模式_第5张图片

#######server2(后台服务器)

systemctl start httpd  ##打开httpd服务
systemctl status httpd
ip addr add 172.25.35.100/24 dev eth0  添加vipLinux之lvs负载均衡----DR模式_第6张图片

###### #server3(后台服务器)
systemctl start httpd  ##打开httpd服务
systemctl status httpd
ip addr add 172.25.35.100/24 dev eth0  ##添加vip
 cd /etc/httpd/conf.d/
 mv vhost.conf  /tmp    ##关闭虚拟服务器,移走vhost.conf文件
systemctl restart httpd ##重启httpd服务

Linux之lvs负载均衡----DR模式_第7张图片

##测试主机:

curl 172.25.35.100

结果:随机添加server1/2/3 中任一MAC主机

若添加server1 MAC地址 可以轮询

若添加server2/3 MAC地址 只可访问2/3 发布目录

Linux之lvs负载均衡----DR模式_第8张图片

##解决方法:

##添加arptable策略解决##
arptables是用户空间工具,用来管理 linux内核中的ARP规则表.这些规则用来
检查ARP帧.arptables类似于iptables,但没有那么复杂.iptables工作于ip层,
用于对ip包进行管理.arptables工作与arp协议层,用于对arp数据帧进行管理.
arptables可以像iptables那样对arp数据帧进行各种规则设置,可以ACCEPT,
DROP等
在两台rs(server2和server3)上安装arptables:

#####server2
yum install -y arptables_jf
arptables -nL  ##查看策略
arptables -A INPUT -d 172.25.35.100 -j DROP

##添加策略,让目的地址为172.25.35.100的访问不能到达rs
-d, --destination [!] address[/mask]目的地址
-j, --jump target跳到目标


arptables -A OUTPUT -s 172.25.35.100 -j mangle --mangle-ip-s 172.25.35.2
arptables-save > /etc/sysconfig/arptables
 cat /etc/sysconfig/arptables
systemctl start arptables.service

Linux之lvs负载均衡----DR模式_第9张图片
#####server3
yum install -y arptables_jf
arptables -nL
arptables -A INPUT -d 172.25.35.100 -j DROP
arptables -A OUTPUT -s 172.25.35.100 -j mangle --mangle-ip-s 172.25.35.3
arptables-save > /etc/sysconfig/arptables
 cat /etc/sysconfig/arptables
systemctl start arptables.service

####测试主机
arp -d 172.25.35.100
curl 172.25.35.100
轮询访问成功


Linux之lvs负载均衡----DR模式_第10张图片

 

 

 

 

你可能感兴趣的:(项目linux)