LVS:

lvs是一个负载均衡的一个集群软件,由内核集成,性能强大,支持百万计并发。

LVS集群的相关概念:

  • VS:虚拟服务器,指LVS服务器自身

  • RS:提供服务的服务器

  • CIP:客户端ip地址

  • VIP:lvs服务器对外发布的ip地址,用户通过vip访问集群

  • DIP:LVS连内网的ip地址叫DIP,用于接收用户请求的ip叫做VIP

用户访问流程:
  客户端通过 CIP—>VIP—>DIP—->RIP

LVS的四种工作模式:

  • lvs-nat:修改请求报文的目标IP,多目标IP的DNAT

  • lvs-dr:操纵封装新的MAC地址

  • lvs-tun:在原请求IP报文之外新加一个IP首部

  • lvs-fullnat:修改请求报文的源和目标IP

LVS的NAT模式

SNAT:
  私网—>公网 修改的是源计算机的地址,源地址会发生改变 内网访问外网的时候,需要将内部私有网络地址通过一个公网地址转化为公有地址

DNAT:
  公网—>内网 修改的是目标计算机的地址,目标地址会发生改变 内网采用的是私网地址,无法直接访问。外部访问先访问一个公网地址,通过这个公网地址转发到内网地址。

lvs-nat:

工作流程:

  • 客户端发送请求报文,用户发请求访问的就是lvs的vip,此时源地址是cip,目标地址是vip

  • 请求到达lvs服务器的vip后,将请求转发到内网的指定服务器。转发的时候将原有数据报文的目标地址改为了内网的RIP,端口号可能也会跟着改变。

  • 经过内网,指定的RIP服务器收到了用户的请求并处理请求,回应请求的时候,源端口为自己的RIP,目标IP为客户端的CIP。

  • 响应报文经过到达lvs服务器时,lsv从vip网卡发送报文出去的时候,将源ip改为自己的VIP,目标IP为客户端用户的CIP。最后通过互联网发送给用户。


lvs的nat工作模式和普通DAT的区别:

  • iptables的DAT:只能实现一对一。转发的时候只能转发到一个固定的机器上。

  • lvs-nat:本质是多目标IP的DNAT,转发的ip和端口可以映射到不同的机器上。

说明:

  • (1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP

  • (2)请求报文过去,响应报文也应该原路返回(请求报文和响应报文都必须经由Director转发)

  • (3)VS(lvs机器)必须是Linux系统,RS可以是任意OS系统