原理
(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
2. LVS-NAT模型的特性
· RS应该使用私有地址,RS的网关必须指向DIP
· DIP和RIP必须在同一个网段内
· 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈
· 支持端口映射
· RS可以使用任意操作系统
· 缺陷:对Director Server压力会比较大,请求和响应都需经过director server
NAT模式配置
一台director服务器,两台real服务器
Director服务器有两个网卡(外网网卡:192.168.1.86)(内网网卡:192.168.92.22)
Real服务器ip分别为192.168.92.20 , 192.168.92.21
Real服务器安装nginx服务
Director服务器安装ipvsadm服务
注:Real服务器的网关必须是192.168.92.22
ipvsadm -A -t 192.168.1.86:11000 -s rr
ipvsadm -a -t 192.168.1.86:11000 -r 192.168.92.20:30001 -m
ipvsadm -a -t 192.168.1.86:11000 -r 192.168.92.21:30001 -m
以上是实现192.168.1.86的11000端口代理
192.168.92.20的30001端口和
192.168.92.21的30001端口
常用:ipvsadm -ln ; ipvsadm -C