LVS的四种工作模式

一、DR模式

LVS-DR

1.1、原理

  • 客户端将访问VIP报文发送给LVS
  • LVS将客户端请求报文的MAC地址改为后端真实服务器的MAC地址;
  • 后端真实服务器得到访问报文后进行IP查看,在确认自己有对应的VIP之后进行请求处理;
  • 后端真实服务器在处理完数据请求后,直接响应客户端;

数据包流转过程:

LVS-DR-Process

1.2、特点

  • 工作在数据链路层(OSI网络模型中的第二层),需要由LVS修改客户端请求的二层数据包的目标MAC地址;
  • LVS和后端真实的服务器需要处在一个广播域(VLan)中;
  • LVS和后端真实的服务器上都需要配置VIP,并且后端真实的服务不应该响应网络中对于该VIP的ARP请求;

1.3、优缺点

  • 优点:
    • LVS只是修改了MAC地址,所以非常快速,并且LVS不会成为瓶颈;
    • 不需要使用隧道结构,绝大多数操作系统都可以用于服务;
  • 缺点:
    • LVS必须和后端真实服务器处于同一VLan中;
    • 后端真实服务器直接响应客户端,对于后端真实服务器来说,并不安全;

1.4、软件应用

  • 待补充;

二、TUNNEL模式

LVS-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模式

LVS-NAT

3.1、原理

  • 客户端将访问VIP报文发送给LVS
  • 当用户请求到达 DirectorServer ,此时请求的数据报文会先到内核空间的 PREROUTING链, 此时报文的源IPCIP目标IPVIP
  • PREROUTING 检查发现数据包的目标IP 是本机,将数据包送至INPUT链
  • IPVS 比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP 地址为 后端服务器IP,然后将数据包发至 POSTROUTING 链, 此时报文的 源IPCIP目标IPRIP ,在这个过程完成了 目标IP 的转换;
  • POSTROUTING链 通过选路,将数据包发送给 Real Server
  • Real Server 比对发现目标为自己的IP,开始构建响应报文发回给 Director Server。 此时报文的源IPRIP目标IPCIP
  • Director Server 在响应客户端前,此时会将 源IP 地址修改为 自己的VIP地址,然后响应给客户端。 此时报文的 源IPVIP目标IPCIP

3.2、特点

  • LVS服务器需要有不同的网段;
  • 真实服务器的网关必须设置为LVS的ip地址;

3.3、优缺点

  • 优点:
    • 节省IP地址;
    • 能够对内部的请求链路进行伪装;
  • 缺点:
    • 由于返回给请求方的数据需要经过调度器,因此执行效率较低;

3.4、软件应用

  • 待补充;

四、FULLNAT模式

LVS-FULLNAT

4.1、原理

  • 客户端将访问VIP报文发送给LVS
  • Director 接过请求,发现是请求后端的集群服务;
  • Director 对请求进行 FULL NAT,把源IP修改为DIP,把目标IP修改为任意后端RSRIP,然后发送给后端;
  • RS收到请求后进行处理并响应,响应报文的源IPRIP目标IP还是DIP,经过内部路由,将响应报文回复给 Director
  • Director 接受到响应报文后,进行 FULL NAT,把源IP修改为VIP目标IP修改为CIP

4.2、特点

  • RIPDIP可以使用私有地址;
  • RIPDIP可以不再同一个网络中,且RIP的网关未必需要指向DIP
  • 支持端口映射;
  • RS 的操作系统可以使用任意类型;
  • 请求报文经由 Director,响应报文也经由 Director
  • 抗攻击,可跨 VLAN,需要重新编译内核;

4.3、优缺点

  • 优点:
    • 解决了跨VLAN的问题;
    • LVSRS的部署在VLAN上将不再有任何限制,大大提高了运维部署的便利性;
  • 缺点:
    • 需要做4次地址转换;

4.4、软件应用

  • 待补充;

五、相关网址

Author: bugwz
Link: https://bugwz.com/2020/06/10/lvs-4-models/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.