首页 > 代码库 > 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