LVS集群之DR模式

本文详细介绍了Linux Virtual Server(LVS)的IP虚拟服务器技术,包括其工作原理、数据包转发方法和负载均衡算法。通过实例展示了如何在Red Hat 7.6系统上配置LVS DR模式,涉及添加VIP、安装ipvsadm、设置arptables策略以及真实服务器的配置。此外,还讨论了如何通过arptables管理和清理缓存,确保集群的正常运行。
摘要由CSDN通过智能技术生成

虚拟服务器(LVS)

LVS(Linux Virtual Server)虚拟服务器是一个高度可扩展性和高可用性的服务器,建立在一个集群的服务器中。服务器集群的架构对用户是完全透明的,并且用户使用起来感觉它只有一个高性能虚拟服务器。

IP虚拟服务器

ipvs称之为IP虚拟服务器(IP Virtual Server,简写为IPVS)。是运行在LVS下的提供负载平衡功能的一种技术
IP虚拟服务可将两个或更多节点的集群构建可伸缩网络服务,集群中主节点将服务请求重定向到将实际执行服务的服务器主机集合
集群目前支持的协议为:TCP和UDP
三种数据包转发方法(NAT,隧道和直接路由)
八种负载均衡算法(roundrobin,加权循环,最小连接,加权最小连接,基于位置)

通过直接路由实现虚拟服务
客户端向目标vip发出请求,lvs接收 ,LVS根据负载均衡算法选择一台活跃的的节点,将此节点的ip所在网卡的mac地址作为目标mac地址发送到局域网,节点在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文,随后重新封装报文,发送到局域网。此时IP包的目标ip是客户端,源ip是自己的vip地址。

server1:172.25.12.1

yum install -y ipvsadm

在这里插入图片描述
在这里插入图片描述
ipvsadm: 是LVS linux虚拟服务的一个控制命令,可以使用ipvsadmin来定义负载均衡分发策略,管理各个节点

ipvsadm常用的命令

    -A :在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。	
	-E :编辑内核虚拟服务器表中的一条虚拟服务器记录。	
	-D :删除内核虚拟服务器表中的一条虚拟服务器记录。
	-C :清除内核虚拟服务器表中的所有记录。
	-R :恢复虚拟服务器规则
	-S :保存虚拟服务器规则,输出为-R选项可读的格式
	-a :在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。也就是在一个虚拟服务器中增加一台新的真实服务器	
	-e :编辑一条虚拟服务器记录中的某条真实服务器记录
	-d :删除一条虚拟服务器记录中的某条真实服务器记录
	-L|-l :显示内核虚拟服务器表

lvs的使用—DR模式

数据传输方式是客户请求client–>调度器virtaul server–>real server -->客户client,lvs必须和服务器在一个局域网内,通过修改MAC地址来访问 direct server

1、配置环境:

	三台redhat7.6版本虚拟机(server1,server2,server3)
	server1作为vs
	server2和server3作为rs
	关闭防火墙及selinux

1- 添加VIP
2- 安装lvs管理工具——ipvsadm服务
3- 设置arptables的访问策略
4- RS服务器搭建apache资源
5- CS客户测试端测试

(1)server1的配置

  • 在server1主机的网卡上添加IP:172.25.12.100
ip addr add 172.25.12.100/24 dev eth0

在这里插入图片描述

添加虚拟ip:ipvsadm -A -t 172.25.12.100:80 -s rr

 -t:添加虚拟IP和端口; -s:添加调度方法; rr表示轮询方式

添加服务端:
ipvsadm -a -t 172.25.12.100:80 -r 172.25.12.2:80 -g
ipvsadm -a -t 172.25.12.100:80 -r 172.25.12.3:80 -g

-r:添加真实服务器ip和端口;-g:使用DR模式,直接路由模式

ipvsadm -ln :查看LVS规则表

在这里插入图片描述

vim /etc/sysconfig/ipvsadm-config
在这里插入图片描述
在这里插入图片描述

(2)server2的配置

  • 安装httpd软件,server2的默认发布文件:echo server2 >/var/www/html/index.html
  • 添加ip:ip addr add 172.25.12.100/32 dev eth0
  • 安装arptables _jf
    arptables处理arp协议有关的包,这些包在iptables中并不会处理·arptables可用于灵活的arp管理,如果善于运用的话,不失为一个优秀的arp防火墙.既能防止别的机器对自己进行arp欺骗,又能防止本机病毒或错误程序向其他机器发起arp攻击。
    在这里插入图片描述
    设置172.25.254.100/24作为vip,不可以和外部通信,所以设用arptables将其的访问全部DROP,出去的包全部转化为本机的ip
arptables -A INPUT -d 172.25.12.100 -j DROP
arptables -A OUTPUT -s 172.25.12.100 -j mangle --mangle-ip-s 172.25.12.2

在这里插入图片描述
arptables-save > /etc/sysconfig/arptables :将策略写入配置文件

(3)server3和server2的配置相似

echo server3 >/var/www/html/index.html
ip addr add 172.25.12.100/32 dev eth0

在这里插入图片描述

 arptables -A INPUT -d 172.25.0.100 -j DROP
  ###不对100这个ip的访问回应
 arptables -A OUTPUT -s 172.25.12.100 -j mangle --mangle-ip-s 172.25.12.2
 ###真实地址是172.25.12.2,但是以100这个ip输出数据

arptables-save > /etc/sysconfig/arptables :将策略写入配置文件
在这里插入图片描述

在这里插入图片描述
在测试主机上查看缓存:arp -an
在这里插入图片描述
访问172.25.12.100时,server2和server3轮流调度

过滤访问172.25.12.100的缓存信息,查看mac地址,因为这个方式的数据传输方式是客户请求client–>调度器virtaul server–>real server -->客户client,这样我们的真实服务端的信息有概率会暴露给外部

在这里插入图片描述

实现只对调度机(server2)的操作

arptables -F:刷新server2的arptables策略
在这里插入图片描述
arp -d 172.25.12.100 :清除缓存
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值