LVS的DR模型实现
DR模型需要LVS服务器和RS服务器必须在一个网段,中间必须是交换机,不能是路由器,DR模型也可也叫直接路由
DR需要在所有的主机上都需要配置VIP
解决地址冲突的方式有三种
(1) 在前端网关做静态绑定
(2) 在各RS使用arptables
(3) 在各RS修改内核参数,来限制arp响应和通告的级别
限制响应级别:arp_ignore
0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
(通俗易懂就是别人发请求我不搭理你)
限制通告级别:arp_announce
0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告
1:尽量避免将接口信息向非直接连接网络进行通告
2:必须避免将接口信息向非本网络进行通告
(对外也不公告)
一、配置路由 IP地址:192.168.1.3(无任何防火墙规则)
1、路由服务器开启路由转发
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
2、路由生效:
sysctl -p
3、返回如下,则表示生效成功
net.ipv4.ip_forward = 1
二、配置RS服务器
1、安装httpd包
yum install httpd -y
2、开启httpd服务,并设置为开机自启
systemctl start httpd
systemctl enable httpd
3、新建测试页面
echo 192.168.1.5 RS1 > /var/www/html/index.html
echo 192.168.1.6 RS2 > /var/www/html/index.html
4、在RS服务器和LVS服务器上都设置网关为路由服务器192.168.1.3
vi /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.1.3
5、在LVS服务器上绑定VIP
添加一个IP地址
ip a a 192.168.1.100/24 dev ens33
6、在后端服务器上绑定VIP脚本,也可以RS服务器之间执行这个脚本
#/bin/bash #Date:2021-5-18 vip=192.168.1.100 mask=255.255.255.255 dev=lo:1 test=192.168.1.100 rpm q- http &> /dev/null || yum -y install httpd &>/dev/null #service httpd start &> /dev/null && echo "The httpd Server is Ready!" #echo "<h1>$test `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 Caneled!" ;; *) echo "Usage: $(basename $0) start|stop" exit 1 ;; esac
7、在LVS服务器上安装IPvsadm包
yum install ipvsadm -y
8、添加ipvsadm 规则 默认dr模型
ipvsadm -A -t 192.168.1.100:80 -s rr ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.5 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.6
9、测试
[05:21:03 root@cliean ~]#curl 192.168.1.100 192.168.1.6 RS2 [05:21:06 root@cliean ~]#curl 192.168.1.100 192.168.1.5 RS1
DR模型,三次握手中的请求报文都需要经过LVS服务器,响应报文则不经过LV服务器,由此可以得出网关不起作用,但必须设置网关
双网卡必须配置在两个不同的网段,否则路由会找不到
绑定在回环网卡上相对来说比较稳定,不会因为物理网络中断而影响配置
-------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774