LVS-NAT原理解析【理论知识】
1、NAT基础图解
通过修改请求报文的目标IP地址,而后根据调度算法挑选出一台Rs节点进行转发。(请求进入负载均衡器LvS时做DNAT,后端返回数据出负载均衡时做SNAT
2、NAT底层实现(New IP)
2.1、主机节点信息
客户端: 10.0.0.1(外网) DS: 172.16.1.100(VIP) 、 172.16.1.3(DIP) RS: 172.16.1.7 、 172.16.1.8 、 Gateway:172.16.1.3
2.2、底层实现流程图
2.3、NAT访问原理解析
1、当用户请求到达 Director Server ,此时请求的数据报文会先到内核空间的 PREROUTING 链。 此时报文的 源IP为CIP , 目标IP为VIP 2、PREROUTING 检查发现数据包的目标 IP 是本机,将数据包送至 INPUT 链。 3、IPVS 比对数据包请求的服务是否为集群服务,若是,通过调度算法挑选一台后端 RS 服务器,并修改数据包的 目标IP 为 RS的IP ,然后将数据包发至POSTROUTING 链。 此时报文的 源IP为CIP , 目标IP为RIP 4、POSTROUTING 链通过选路,将数据包通过 Director Server 的 DIP 发送给 RS 5、RS 发现目标为自己的 IP ,则交给应用程序处理,然后构建响应报文发回给Director Server 。 此时报文的 源IP为RIP , 目标IP为CIP 6、Director Server 在响应客户端前,会将源 IP 地址修改为 VIP 地址,然后响应给客户端。此时报文的 源IP为VIP , 目标IP为CIP
3、NAT特性
1、RS 必须使用私有地址,并需要将网关指向 DS 2、RIP 和 DIP 必须为同一网段内。 3、NAT 模型支持端口映射。 4、RS 可以使用任意操作系统。例如 Linux、Windows 等。 5、请求和响应报文都要经过 DS ,高负载场景中, DS 易称为瓶颈。