关于架设LVS之-DR模式配置(三)
2018-03-20 15:01
246 查看
DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:(1) 在前端网关做静态绑定(2) 在各RS使用arptables(3) 在各RS修改内核参数,来限制arp响应和通告的级别 限制响应级别:arp_ignore (修改为1)0:默认值,表示可使用本地任意接口上配置的任意地址进行响应1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应 限制通告级别:arp_announce(修改为2)0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告1:尽量避免将接口信息向非直接连接网络进行通告2:必须避免将接口信息向非本网络进行通告
设计要点:(1) VS和各RS都配置有VIP(2) 确保前端路由器将目标IP为VIP的请求报文发往VS 在前端网关做静态绑定VIP和VS的MAC地址 在RS上使用arptables工具 arptables -A IN -d $VIP -j DROP arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP 在RS上修改内核参数以限制arp通告及应答级别 (强烈使用) /proc/sys/net/ipv4/conf/all/arp_ignore /proc/sys/net/ipv4/conf/all/arp_announce(3)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP, 以确保响应报文不会经由VS(4)RS和VS要在同一个物理网络(5)请求报文要经由VS,但响应报文不经由VS,而由RS直接发往Client(6)不支持端口映射(端口不能修败)(7)RS可使用大多数OS系统
A路由器: ETH0: 222.222.222.1 (CLIENT网关模拟远端用户网络) ETH1: 172.18.33.1/29 (RS的内部网络) ETH1:1 123.123.123.1/30(VIP的网关模拟公网,对外发布的地址)中间层是有交换机的B:客户端PC ETH0:222.222.222.2 (CLIENT)C:LVS服务器 ETH0:123.123.123.2 (VIP) 172.18.33.2 (DIP)D: RS1服务器 ETH0:172.18.33.3 (RIP) lo1:123.123.123.2 (VIP)E:RS2服务器 ETH0:172.18.33.4 (RIP) lo1:123.123.123.2 (VIP)
1.需要在路由器上开启转发模式,以达到PC端到RS通信 echo net.ipv4_forward=1 >>/etc/sysctl.conf sysctl -p 立即生效 sysctl -a | grep forward
2.配置网卡地址且互联互通 1)按需求配置服务器接口地址 2)客户端PC与RS和VS服务器指向路由器各自接口上的网关 3)RS的网关千万不要指向到VS服务器
3.在两台RS服务器上分别搭建http服务
1)RS1和RS2分别安装httpd
yum -y install httpd
2)RS1和RS2分别写入测试页面
echo RS1 > /var/www/html/index.html
echo RS2 > /var/www/html/index.html
3)RS1和RS2分别开启服务与自启动
systemctl enable httpd
systemctl start httpd
临时关闭防火墙,根据个人情况,实验环境无所谓
systemctl stop firewalld
4)分别在两台RS1和RS2上在lo接口上配置vip地址
ifconfig lo:1 123.123.123.2 netmask 255.255.255.252 123.123.123.2 up
5)分别在RS1和RS2上关闭发送和接收arp消息
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
4)在客户端PC上分别访问测试是否正常
4.配置LVS服务器
1)安装ipvsadm软件包
yum -y install ipvsadm
2)配置VIP地址,此地址必须要配置在VS服务器和RS服务器上且地址必须保证一致
ifconfig ens33:1 123.123.123.2 netmask 255.255.255.252 123.123.123.2 up
3)配置wrr的工作模式
-F 清除所有策略
-A 添加VS服务器 -t / -u TCP或UDP协议 -s 使用的调度类型
-a -t 添加对rs绑定用的 -t / -u TCP或UDP协议 -g 代表DR模式 -w 权重比例
调度类型还有很多种大家可以根据个人情况测试,在架设LVS之-基础知识(一)有讲
iptables -F 清空防火墙
ipvsadm -A -t 123.123.123.2:80 -s wrr
ipvsadm -a -t 123.123.123.2:80 -r 172.18.33.3 -g -w 1
ipvsadm -a -t 123.123.123.2:80 -r 172.18.33.4 -g -w 34)测试当前使用的是wrr权重模式 ,且172.18.33.4与172.18.33.3是3:1的关系,172.18.33.4访问的几率较大
在客户端PC上去访问123.123.123.2测试是否正常
最后附上两个用于便捷配置VS与DR服务器的脚本LVS服务器配置脚本:#!/bin/bash
#Author:DaoKE
vip='123.123.123.2'
iface='ens33:1'
mask='255.255.255.252'
port='80'
rs1='172.18.33.3'
rs2='172.18.33.4'
scheduler='wrr'
type='-g'
rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
echo "The VS Server is Ready!"
;;
stop)
ipvsadm -C
ifconfig $iface down
echo "The VS Server is Canceled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
RS服务器配置脚本
#!/bin/bash
#Author:DaoKe
vip=123.123.123.2
mask='255.255.255.252'
dev=lo:1
rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null
service httpd start &> /dev/null && echo "The httpd Server is Ready!"
echo "<h1>`hostname`</h1>" > /var/www/html/index.html
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig $dev $vip netmask $mask #broadcast $vip up
#route add -host $vip dev $dev
echo "The RS Server is Ready!"
;;
stop)
ifconfig $dev down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "The RS Server is Canceled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
设计要点:(1) VS和各RS都配置有VIP(2) 确保前端路由器将目标IP为VIP的请求报文发往VS 在前端网关做静态绑定VIP和VS的MAC地址 在RS上使用arptables工具 arptables -A IN -d $VIP -j DROP arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP 在RS上修改内核参数以限制arp通告及应答级别 (强烈使用) /proc/sys/net/ipv4/conf/all/arp_ignore /proc/sys/net/ipv4/conf/all/arp_announce(3)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP, 以确保响应报文不会经由VS(4)RS和VS要在同一个物理网络(5)请求报文要经由VS,但响应报文不经由VS,而由RS直接发往Client(6)不支持端口映射(端口不能修败)(7)RS可使用大多数OS系统
A路由器: ETH0: 222.222.222.1 (CLIENT网关模拟远端用户网络) ETH1: 172.18.33.1/29 (RS的内部网络) ETH1:1 123.123.123.1/30(VIP的网关模拟公网,对外发布的地址)中间层是有交换机的B:客户端PC ETH0:222.222.222.2 (CLIENT)C:LVS服务器 ETH0:123.123.123.2 (VIP) 172.18.33.2 (DIP)D: RS1服务器 ETH0:172.18.33.3 (RIP) lo1:123.123.123.2 (VIP)E:RS2服务器 ETH0:172.18.33.4 (RIP) lo1:123.123.123.2 (VIP)
1.需要在路由器上开启转发模式,以达到PC端到RS通信 echo net.ipv4_forward=1 >>/etc/sysctl.conf sysctl -p 立即生效 sysctl -a | grep forward
2.配置网卡地址且互联互通 1)按需求配置服务器接口地址 2)客户端PC与RS和VS服务器指向路由器各自接口上的网关 3)RS的网关千万不要指向到VS服务器
3.在两台RS服务器上分别搭建http服务
1)RS1和RS2分别安装httpd
yum -y install httpd
2)RS1和RS2分别写入测试页面
echo RS1 > /var/www/html/index.html
echo RS2 > /var/www/html/index.html
3)RS1和RS2分别开启服务与自启动
systemctl enable httpd
systemctl start httpd
临时关闭防火墙,根据个人情况,实验环境无所谓
systemctl stop firewalld
4)分别在两台RS1和RS2上在lo接口上配置vip地址
ifconfig lo:1 123.123.123.2 netmask 255.255.255.252 123.123.123.2 up
5)分别在RS1和RS2上关闭发送和接收arp消息
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
4)在客户端PC上分别访问测试是否正常
4.配置LVS服务器
1)安装ipvsadm软件包
yum -y install ipvsadm
2)配置VIP地址,此地址必须要配置在VS服务器和RS服务器上且地址必须保证一致
ifconfig ens33:1 123.123.123.2 netmask 255.255.255.252 123.123.123.2 up
3)配置wrr的工作模式
-F 清除所有策略
-A 添加VS服务器 -t / -u TCP或UDP协议 -s 使用的调度类型
-a -t 添加对rs绑定用的 -t / -u TCP或UDP协议 -g 代表DR模式 -w 权重比例
调度类型还有很多种大家可以根据个人情况测试,在架设LVS之-基础知识(一)有讲
iptables -F 清空防火墙
ipvsadm -A -t 123.123.123.2:80 -s wrr
ipvsadm -a -t 123.123.123.2:80 -r 172.18.33.3 -g -w 1
ipvsadm -a -t 123.123.123.2:80 -r 172.18.33.4 -g -w 34)测试当前使用的是wrr权重模式 ,且172.18.33.4与172.18.33.3是3:1的关系,172.18.33.4访问的几率较大
在客户端PC上去访问123.123.123.2测试是否正常
最后附上两个用于便捷配置VS与DR服务器的脚本LVS服务器配置脚本:#!/bin/bash
#Author:DaoKE
vip='123.123.123.2'
iface='ens33:1'
mask='255.255.255.252'
port='80'
rs1='172.18.33.3'
rs2='172.18.33.4'
scheduler='wrr'
type='-g'
rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
echo "The VS Server is Ready!"
;;
stop)
ipvsadm -C
ifconfig $iface down
echo "The VS Server is Canceled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
RS服务器配置脚本
#!/bin/bash
#Author:DaoKe
vip=123.123.123.2
mask='255.255.255.252'
dev=lo:1
rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null
service httpd start &> /dev/null && echo "The httpd Server is Ready!"
echo "<h1>`hostname`</h1>" > /var/www/html/index.html
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig $dev $vip netmask $mask #broadcast $vip up
#route add -host $vip dev $dev
echo "The RS Server is Ready!"
;;
stop)
ifconfig $dev down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "The RS Server is Canceled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
相关文章推荐
- 关于架设LVS之-NAT模式配置(二)
- 负载均衡(LVS)DR+(HA)heartbeat主备模式配置案例 推荐
- LVS-DR模式配置详解
- LVS 高可用集群 DR 模式基本配置(apache服务)
- CentOS6.4 配置LVS(DR模式)
- lvs的安装和dr模式的配置脚本
- LVS配置(DR模式)
- apache+inotify-tools+keepalived+lvs-DR模式配置高可用负载均衡集群
- CentOS6.4 配置LVS(DR模式)
- LVS集群配置(DR模式)
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- 配置基于DR模式和NAT模式Lvs集群
- Piranha LVS DR 模式 HA 集群配置
- LVS DR模式负载均衡配置详解(配置篇一) 推荐
- CentOS6.4 配置LVS(DR模式)
- Lvs DR模式配置
- 配置基于DR模式Lvs集群
- lvs中dr模式配置脚本
- Centos6 Lvs+Keepalived Dr模式 配置搭建
- linux下的lvs dr模式配置