11.4.2 LVS—NAT
Virtual Server via NAT(VS-NAT)
用地址翻译实现虚拟服务器。
地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址。
外界看起来包是来自地址转换器本身,,它能判断出应该将包送到内部网的哪个节点。优点是节省IP 地址,能对当外界包送到转换器时内部进行伪装;
缺点是效率低,因为返回给请求方的流量经过转换器。
LVS负载均衡NAT工作模式
(a). 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
(b). PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
(c). IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP
(d). POSTROUTING链通过选路,将数据包发送给Real Server
(e). Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP
(f). Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP
lvs-nat:本质是多目标的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发
1 RIP和DIP应在同一IP网络,且应使用私网地址;RS网关要指向DIP 2 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈 3 支持端口映射,可修改请求报文的目标PORT 4 VS必须是Linux系统,RS可以是任意OS系统