一、DR模式概念
1.Direct Routing(直接路由),LVS默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变
2.DR模式特点
- Director和各RS都配置有VIP,解决地址冲突的方式有三种:
(1) 在前端网关做静态绑定
(2) 在各RS使用arptables
(3) 在各RS修改内核参数,来限制arp响应和通告的级别,arp_ignore和arp_announce - RS和Director要在同一个物理网络
- 不支持端口映射(端口不能修改)
- LVS无需开启 ip_forward,只需一块网卡
二、LVS-DR模式单网段实例
1.实验平台
Client:192.168.0.6/24 GW:192.168.0.10
Router:
eth0:仅主机,192.168.0.10/24
eth1:NAT,10.0.0.153/24
启用ip_forward
LVS:
lo/VIP:10.0.100/24
ens33/DIP:NAT,10.0.0.8/24 GW:10.0.0.153
RS1:
lo/VIP:10.0.100/24
RSIP1:10.0.0.7/24 GW:10.0.0.153
RS2:
lo/VIP:10.0.100/24
RSIP2:10.0.0.9/24 GW:10.0.0.153
2.实验步骤
2.1实验环境配置
- RS1和RS2安装http服务,做Web页面测试,参考点击这里,设置RS1和RS2网关
#http监听端口为80,/etc/httpd/conf/httpd.conf
Listen 80
#/etc/sysconfig/network-scripts/ifcfg-ens33中增加以下配置
GATEWAY=10.0.0.153
#systemctl restart network
nmcli connection reload
nmcli connection up ens33
route -n #查看路由
#RS1和RS2的IPVS配置
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
#配置lo
ifconfig lo:10.0.100/24
ip a
- Client配置:增加网关
#/etc/sysconfig/network-scripts/ifcfg-ens33中增加以下配置
IPADDR=192.168.0.6
GATEWAY=192.168.0.10
#systemctl restart network
nmcli connection reload
nmcli connection up ens33
route -n #查看路由
- Router配置:eth0和eth1
#/etc/sysconfig/network-scripts/ifcfg-eth0中增加以下配置
#eth0
IPADDR=192.168.0.10
#eth1
IPADDR=10.0.0.153
nmcli connection reload
nmcli connection up eth0
ip a
#开启转发功能
#修改/etc/sysctl.conf,否则lvs返回响应时,无法从LVS到internet
net.ipv4.ip_forward = 1 #启用IP控制IP包转发
#命令查看
sysctl -p
- LVS配置:
#/etc/sysconfig/network-scripts/ifcfg-ens33中增加以下配置
IPADDR=10.0.0.8
GATEWAY=10.0.0.153
#systemctl restart network
nmcli connection reload
nmcli connection up ens33
route -n #查看路由
ifconfig lo:10.0.100/24
ip a
2.2 LVS服务器配置模式和调度算法
#eth0/VIP,-A:增加, -t:tcp协议,-s:调度算法wrr(加权轮询)
ipvsadm -A -t 192.168.0.10:80 -s wrr
#管理集群中RS1和RS2,-g:DR模式,-w:权重
ipvsadm -a -t 10.0.100:80 -r 10.0.0.7 -g -w 5
ipvsadm -a -t 10.0.100:80 -r 10.0.0.9 -g -w 1
ipvsadm -Ln
2.3 在客户端测试
curl 10.0.0.100
三、LVS-DR多网段实例
参考单网段实验上配置多网段即可
#需要更改的配置
Router:
eth0:仅主机,192.168.0.10/24
eth1:NAT,10.0.0.153/24
eth1: NAT,172.24.0.5/24
启用ip_forward
#增加IP
ip addr add 172.24.0.5/24 dev eth1 label eth1:1
ip a
LVS:
lo/VIP:172.24.0.100/32
ens33/DIP:NAT,10.0.0.8/24 GW:10.0.0.153
RS1:
lo/VIP:172.24.0.100/32
RSIP1:10.0.0.7/24 GW:10.0.0.153
RS2:
lo/VIP:172.24.0.100/32
RSIP2:10.0.0.9/24 GW:10.0.0.153
在学习中进步,如有错误,请多多批评指正