一、DR模式
1.1、原理
- 客户端将访问VIP报文发送给
LVS
; - LVS将客户端请求报文的MAC地址改为后端真实服务器的MAC地址;
- 后端真实服务器得到访问报文后进行IP查看,在确认自己有对应的VIP之后进行请求处理;
- 后端真实服务器在处理完数据请求后,直接响应客户端;
数据包流转过程:
1.2、特点
- 工作在数据链路层(OSI网络模型中的第二层),需要由LVS修改客户端请求的二层数据包的目标MAC地址;
- LVS和后端真实的服务器需要处在一个广播域(VLan)中;
- LVS和后端真实的服务器上都需要配置VIP,并且后端真实的服务不应该响应网络中对于该VIP的ARP请求;
1.3、优缺点
- 优点:
LVS
只是修改了MAC地址
,所以非常快速,并且LVS
不会成为瓶颈;- 不需要使用隧道结构,绝大多数操作系统都可以用于服务;
- 缺点:
LVS
必须和后端真实服务器处于同一VLan
中;- 后端真实服务器直接响应客户端,对于后端真实服务器来说,并不安全;
1.4、软件应用
- 待补充;
二、TUNNEL模式
2.1、原理
- 客户端将访问
VIP报文
发送给LVS
; - LVS收到豹纹后,发现请求的IP是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层 IP 报文,将源地址改为LVS机器的IP,目标地址改为后端真实的服务器IP ,并将此包发送给对应的后端真实的服务器;
- 后端真实服务器将请求报文后,会首先拆开第一层封装,然后发现里面还有一层 IP 首部的目标地址是自己 lo 接口上的
VIP
,所以会处理次请求报文; - 后端真实服务器在处理完数据请求后,直接响应客户端;
2.2、特点
- 工作在网络层(OSI网络模型中的第三层),需要由
LVS
进行二次封装报文; LVS
和后端真实服务器上都要有VIP
;- 由于会存在二次报文封装,所以请求的报文不能太大;
2.3、优缺点
- 优点:
- 可处理巨大的请求量;
- 缺点:
- 服务器需要支持
IP Tunneling
协议;
- 服务器需要支持
2.4、软件应用
- 待补充;
三、NAT模式
3.1、原理
- 客户端将访问
VIP报文
发送给LVS
; - 当用户请求到达
DirectorServer
,此时请求的数据报文会先到内核空间的PREROUTING链
, 此时报文的源IP
为CIP
,目标IP
为VIP
; PREROUTING
检查发现数据包的目标IP
是本机,将数据包送至INPUT链
;IPVS
比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP
地址为后端服务器IP
,然后将数据包发至POSTROUTING 链
, 此时报文的源IP
为CIP
,目标IP
为RIP
,在这个过程完成了目标IP
的转换;POSTROUTING链
通过选路,将数据包发送给Real Server
;Real Server
比对发现目标为自己的IP
,开始构建响应报文发回给Director Server
。 此时报文的源IP
为RIP
,目标IP
为CIP
;Director Server
在响应客户端前,此时会将源IP
地址修改为自己的VIP地址
,然后响应给客户端。 此时报文的源IP
为VIP
,目标IP
为CIP
;
3.2、特点
- LVS服务器需要有不同的网段;
- 真实服务器的网关必须设置为LVS的ip地址;
3.3、优缺点
- 优点:
- 节省IP地址;
- 能够对内部的请求链路进行伪装;
- 缺点:
- 由于返回给请求方的数据需要经过调度器,因此执行效率较低;
3.4、软件应用
- 待补充;
四、FULLNAT模式
4.1、原理
- 客户端将访问
VIP报文
发送给LVS
; Director
接过请求,发现是请求后端的集群服务;Director
对请求进行FULL NAT
,把源IP
修改为DIP
,把目标IP
修改为任意后端RS
的RIP
,然后发送给后端;RS
收到请求后进行处理并响应,响应报文的源IP
为RIP
,目标IP
还是DIP
,经过内部路由,将响应报文回复给Director
;Director
接受到响应报文后,进行FULL NAT
,把源IP
修改为VIP
,目标IP
修改为CIP
;
4.2、特点
RIP
,DIP
可以使用私有地址;RIP
和DIP
可以不再同一个网络中,且RIP
的网关未必需要指向DIP
;- 支持端口映射;
RS
的操作系统可以使用任意类型;- 请求报文经由
Director
,响应报文也经由Director
; - 抗攻击,可跨
VLAN
,需要重新编译内核;
4.3、优缺点
- 优点:
- 解决了跨
VLAN
的问题; LVS
和RS
的部署在VLAN
上将不再有任何限制,大大提高了运维部署的便利性;
- 解决了跨
- 缺点:
- 需要做4次地址转换;
4.4、软件应用
- 待补充;