lvs三种工作模式

本文详细介绍了LVS的三种工作模式:NAT模式,DR工作模式和TUN工作模式。NAT模式下,调度器通过修改请求的源和目的地址实现负载均衡;DR模式利用MAC地址进行通信,服务器直接响应客户端,减少VS处理压力;TUN模式通过IP隧道技术,服务器处理请求后直接回应客户端,避免VS成为瓶颈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、NAT模式

1、工作原理:调度器上双网卡,一个ip为内网ip和节点一个网段,一个ip为VIP,为外网ip,和客户机一个网段,在调度器上设置调度策略,通过客户端访问调度器,调度器修改请求的源和目的地址后发送给要调度的服务器,服务器处理完请求之后,返回数据到调度器(服务器的默认路由是调度器),调度器修改源和目的地址,通过调度器返回数据到客户端
缺点:请求和响应的数据包都必须经过vs,而且需要修改源ip和目的ip,vs的处理能有限,形成瓶颈。
2、lvs调度器:
1)、网络配置:
Lvs调度器:两个网卡,一个内网,和web1,web2处于同一个网段
在这里插入图片描述
2)、策略配置

yum install ipvsadm										
ipvsadm -A -t 172.25.2.101:80 -s rr			
ipvsadm -a -t 172.25.2.101:80 -r 172.25.1.102:80 -m -w 1
ipvsadm -a -t 172.25.2.101:80 -r 172.25.1.103:80 -m -w 1

-A 添加vip
-t 指定vip
-s 指定调度策略
-a 添加策略
-r 指定真实服务器ip
-m 是指nat模式
-w 权重
3、服务器
Web1:172.25.1.102
Web2:172.25.1.103
4、测试:
客户机:172.25.2.100
在这里插入图片描述
在这里插入图片描述

二、DR工作模式

1、工作原理:
在vs和rs上都设置有同一个vip,vs和rs都有两个ip地址,除了vip之外的ip,他们是统一个网段的能够相互通信,在vs上设置轮询策略,在rs设置上丢掉访问vip的请求的策略,那么在client访问vip的时候,就只能唯一经过vs的vip,也就是只能通过vs请求资源,因为他们处于同一个网段,所以使用MAC地址进行通信,在vs上边修改请求的源MAC和目的MAC,不改变源cip和目的ip(vip),所以rs处理完请求后,所以rs直接通过网关直接返回数据包(源vip,目的cip)给客户端,不经过vs。
注意:调度器要有所有服务器的的解析,并且每个主机的两个ip都在同一个网卡上

server1:调度器 IP:172.25.1.101
	         VIP:172.25.1.200
server2:服务器 IP:172.25.1.102
	         VIP:172.25.1.200
server3:服务器 IP:172.25.1.103
	         VIP:172.25.1.200
测试机:172.25.1.1

3、 配置:
server1:

	yum install ipvsadm
	systemctl start ipvsadm
	touch /etc/sysconfig/ipvsadm
	ipvsadm -nL
	ipvsadm -C
	ipvsadm -A -t 172.25.1.200:80 -s rr
	ipvsadm -a -t 172.25.1.200:80 -r 172.25.1.102:80 -g
	ipvsadm -a -t 172.25.1.200:80 -r 172.25.1.103:80 -g
	systemctl restart ipvsadm

server2:

	systemctl start htttpd
	yum install arptables_js
	arptables -nL
	arptables -A INPUT -d 172.25.1.200 -j DROP
	arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.102
	arptables-save > /etc/sysconfig/arptables			保存策略

server3:

	systemctl start httpd
	yum install arptables_js
	arptables -nL
	arptables -A INPUT -d 172.25.1.200 -j DROP
	arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.103
	arptables-save > /etc/sysconfig/arptables

4、测试:

curl 172.25.1.200
arp -d 172.25.1.200				清理缓存
三、TUN工作模式

1、工作原理:
比起NAT技术,由于请求和响应都需要通过VS进行地址的改写,那么当客户端的请求越来越多的时候,VS的处理能力就会成为一个瓶颈。为了解决这个问题,VS通过IP隧道,将客户端的请求(源(cip),目的(vip))通过IP隧道(此过程是对请求数据包进行封装,在原来请求数据的基础上添加头部(包括新的源(vip)和目的rip)),发送给真实的服务器,服务器打开封装(封装里边cip,vip不变),处理请求,处理完成后,直接通过网关直接返回响应给客户端,不经过vs。
原理图:

2、实验环境
注意:调度器要有所有服务器的的解析,server1,server2,server3的vip在tunl0(隧道虚拟网卡)上边
lsmod 查看是否有ipip模块
modprobe ipip 下载隧道模块
ipaddr addr add 172.25.1.200/24 dev tunl0 添加vip
ip link set up tunl0 激活tunl0

server1:调度器 IP:172.25.1.101
	         VIP:172.25.1.200
server2:服务器 IP:172.25.1.102
	         VIP:172.25.1.200
server3:服务器 IP:172.25.1.103
	         VIP:172.25.1.200
测试机:172.25.1.1

3、配置:

server1:

	ipvsadm -C 
	ipvsadm -A -t 172.25.1.200:80 -s rr
	ipvsadm -a -t 172.25.1.200:80 -r 172.25.1.102 -i
	ipvsadm -a -t 172.25.1.200:80 -r 172.25.1.103 -i
	cat /etc/sysconfig/ipvsadm

server2:

	yum install arptables_js
	arptables -nL
	arptables -A INPUT -d 172.25.1.200 -j DROP
	arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.102
	arptables-save > /etc/sysconfig/arptables			保存策略
	sysctl -a | grep rp_filter
	sysctl -w			 	将为1的设置为0,让响应可以从服务器的eth0网卡出
	sysctl -p				重新读取配置

server3:

	yum install arptables_js
	arptables -nL
	arptables -A INPUT -d 172.25.1.200 -j DROP
	arptables -A OUTPUT -s 172.25.1.200 -j mangle --mangle-ip-s 172.25.1.103
	arptables-save > /etc/sysconfig/arptables			保存策略
	sysctl -a | grep rp_filter
	sysctl -w 	...			将为1的设置为0,让响应可以从服务器的eth0网卡出去
	sysctl -p				重新读取配置

4、测试:
curl 172.25.1.200
看轮询是否正常即可

LVS(Linux Virtual Server)是一个用于构建高性能、高可用性的服务器集群的软件。它支持四种工作模式,它们是: 1. NAT模式(Network Address Translation):在NAT模式下,负载均衡器将客户端请求的源IP地址和端口转换为负载均衡器自身的IP地址和端口,并将请求转发给后端服务器。这种模式适用于需要隐藏后端服务器真实IP地址的场景。 2. IP隧道模式(Tunneling):在IP隧道模式下,负载均衡器将客户端请求封装在一个新的IP包中,并将该包的目的IP地址设置为后端服务器的IP地址,然后将请求发送给后端服务器。该模式适用于需要直接将请求发送给后端服务器的场景。 3. DR模式(Direct Routing):在DR模式下,负载均衡器将客户端请求的目标MAC地址设置为后端服务器的MAC地址,并将请求转发给后端服务器。后端服务器处理完请求后,直接发送响应给客户端,不经过负载均衡器。这种模式适用于后端服务器和负载均衡器在同一子网内的场景。 4. TUN模式(Routing):在TUN模式下,负载均衡器将客户端请求封装在一个新的IP包中,并将该包的目标IP地址设置为后端服务器的IP地址,然后将请求发送给后端服务器。后端服务器处理完请求后,将响应发送给负载均衡器,再由负载均衡器发送给客户端。这种模式适用于后端服务器和负载均衡器在不同子网内的场景。 这些工作模式的选择取决于具体的应用场景和网络架构需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值