首页 > 代码库 > LVS集群类型之lvs-nat

LVS集群类型之lvs-nat

前言

LVS的组成

ipvs:工作于内核上的netfilter的input钩子上的程序,可根据定义的集群实现请求转发

ipvsadmin:用户空间的命令行程序,主要用于配置集群服务

netfilter:正常情况下,发往本机的报文经由prerouting,然后Input后进入内核,转发的报文经由prerouting后,forward,由postrouting转发出去,本机发出的报文由output,postrouting发出。但是LVS工作在input钩子上,发现符合定义的报文,虽然目标IP是本机,但是强行修改报文经由prerouting,input后不经内核,直接posting转发出去。

Client IP : CIP 客户端IP

Director Virtual IP : VIP  调度器虚拟出来的IP,为客户端请求的目标IP

Director IP :DIP  调度器本身的IP

RealServer IP :RIP  后端真实响应用户请求的服务器IP


lvs-net:通过修改请求报文的目标IP地址(同时可以修改目标IP的端口)至挑选出来的某RealServer的RIP的地址实现转发

特点:

1> RIP与DIP应该使用私网地址,且RealServer的网关需要指向DIP;

2>请求和响应报文都要经由Director转发,高负载情况下Director可能成为性能瓶颈;

3>支持端口映射;

4>RealServer 可以使用任意 OS;

5>RIP与DIP必须在同一网络;

技术分享

模型如上,工作流程大致如下:

客户端发送的报文经由层层路由转发到到达调度器Directory,此时,报文原地址为CIP,目标地址为VIP;

LVS通过定义的规则,将请求报文发往后端的真实响应客户端请求的服务器,此时报文原地址是DIP,目标地址是RIP的某一个;

RealServer的网关指向DIP,响应报文的原地址是RIP,目标地址是DIP;

Directory收到RealServer发送的报文后,转发给Client,此时原地址是VIP,目标地址是CIP;

 

LVS集群类型之lvs-nat