LVS 工作图

一、工作模式

1、NAT模式

-----主要是修改目标IP地址为RS的IP地址。即请求进入负载均衡器时做DNAT,响应出负载均衡器时做SNAT。

 

 

工作方式:

1)客户端请求网站,经过路由器到达负载均衡器,请求源地址是CIP(客户端IP),目标地址为VIP(负载均衡器地址)。(源地址:CIP,目标地址:VIP)

2)负载均衡器(VIP),将客户端请求的目标地址改为后端服务器的RIP地址。(源地址:CIP,目标地址:RIP)

3)RealServer收到请求后,将响应发送到LVS。(源地址:RIP,目标地址:CIP)

4)lvs将源地址改为VIP,并发送给客户端。(源地址:VIP,目标地址:CIP)

注意:在NAT模式中,RealServer的网关必须指向LVS,否则报文无法送达客户端。

 

1)当用户请求到达Director Server,此时请求的数据报文会先到达内核的PREROUTING链,此时报文的源IP是CIP,目标IP是VIP。

2)PREROUTING链检查发现数据包的目标IP是本机,将数据包送至INPUT链。

3)IPVS内核模块比对数据包请求的服务是否为集群服务,如果是,则修改数据包的目标IP为后端服务器的IP,然后将数据包发至POSTROUTING链,做DNAT转换。此时报文的源IP是CIP,目标IP是RIP

4)POSTROUTING链通过选路,将数据包发送到Real Server。

5)Real Server比对发现目标IP是自己的IP,开始建立响应报文发回给Director Server,此时报文的源IP是RIP,目标IP是CIP.

6)Director Server在响应客户端之前,此时会将源IP地址修改为自己的IP地址,然后响应给客户端,做SNAT转换。此时报文的源IP是VIP。目标IP是CIP。

 ---------------------------------------------------------------------------------------------------------------------------

2、DR模式

--- 将请求报文的目标MAC地址设定为RS的MAC地址。即做MAC地址转换。

 

1)客户端将请求发往负载均衡器。(源地址:CIP C-MAC,目标地址:VIP V-MAC)。

2)负载均衡器收到请求后,请求在规则里面存在的地址,将客户端源MAC改为DIP的MAC,目标MAC改为RIP的MAC,并将发送给RS。(源地址:CIP D-MAC,目标地址:VIP R-MAC )。

3)RS发现请求目的MAC是自己,先接受报文,并处理请求报文,将响应报文通过lo接口发送eth0网卡,eth0直接发送给客户端。(源地址:VIP V-MAC,目标地址:CIP C-MAC )。

注意:需要设置lo接口的VIP,不能响应本地网络内的arp请求(也叫ARP抑制)。

 

1.当用户请求到达Director Server,此时请求的数据报文huixiandao内核空间的PREROUTING链,此时报文的IP是CIP,目标IP是VIP。

2.PREROUTING链检查发现数据包的目标IP是本机,将数据包送至INPUT链,

3.IPVS内核模块比对数据包请求的服务是否为集群服务,如果是,将请求报文中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改为RIP的MAC地址,然后将数据包发至POETROUTING链中,此时的源IP和目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标MAC地址为RIP的MAC地址。

4.由于DS和RS实在同一网络中,所以两者之间的通信时通过二层协议来传输。POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时数据包将会发至Real Server。

5.RS发现请求报文的MAC地址是自己的MAC地址,就接受此报文,处理完成以后,将响应报文通过LO接口传送给eth0网卡,然后向外发出,不经过负载均衡器。此时源IP地址为VIP,目标IP是CIP。

 

src macdst macsrc ipdst ip
00:0c:29:f3:1f:de 00:0c:29:50:d5:63 192.168.188.111 192.168.188.120

 

src macdst macsrc ipdst ip
00:0c:29:50:d5:63 00:0c:29:e4:4d:1f 192.168.188.111 192.168.188.120

 

src macdst macsrc ipdst ip
00:0c:29:e4:4d:1f 00:0c:29:f3:1f:de 192.168.188.120 192.168.188.111

 ---------------------------------------------------------------------------------------------------------------------------------------

3、.lvs-tun模式

在原有的IP报文外再次封装多一层IP首部,内部IP首部(源地址为CIP,目标地址为VIP)外部IP地址首部(源地址为DIP,目标地址为RIP)

 

  1. 当用户请求报文到达DS,此时请求的数据报文会先到内核的PREROUTING链。此时源IP是CIP,目标IP是VIP。

  2. PREROUTING链检查发现数据包的目标IP是本机,将数据包送至INPUT链。

  3. IPVS比对数据包请求的服务是否为集群服务,如果是,在请求报文的首部再次封装一层IP报文,封装源IP为DIP,目标IP是RIP,然后发至POSTROUTING链。此时源IP是为DIP,目标IP是RIP。

  4. POSTROUTING链根据最新封装的IP报文,将数据包发至RS(因为外层封装多了一层IP首部,所以可以理解为此时通过隧道传输)。此时源IP是DIP,目标IP是RIP。

  5. RS收到报文后发现是自己的IP地址,就会将报文接受下来,拆除最外层的IP后,会发现里面还有一层IP首部,而且目标地址是自己的lo接口VIP,那么此时RS开始处理此请求,处理完成滞后,通过lo接口送给eth0网卡,然后向外传递。此时的源IP地址为VIP,目标IP为CIP。

 

posted on 2018-09-13 10:42  五光十色  阅读(235)  评论(0编辑  收藏  举报

导航