在前面我们已经讲过关于LVS负载均衡的DR模式,那么我们再来讲一下LVS的NAT模式
NAT(Network Address Translation)即网络地址转换,其作用是通过数据报头的修改,使得位于企业内部的私有IP地址可以访问外网,以及外部用用户可以访问位于公司内部的私有IP主机。
NAT模式的体系结构如下图所示,再一组服务器前有一个调度器,他们是通过Swith/HUB像连接的,这些服务器提供相同的网络服务,相同的内容,即不管请求被发送到哪一台服务器,执行结果都是一样的。
NAT模式数据走向
client->vs->rs->vs>client(原路返回)
用户请求为客户端IP到调度器的虚拟IP,(CIP-VIP)—->LVS调度DIRECTOR,在此处调度器会将报文再次封装一个RS的IP头,即此时的数据包是((CIPVIP)+RIP),调度器将再次封装后的数据发到RS,—>用户请求到达RS,
RS解包数据相应处理再发回调度器,由调度器返回客户端。此阶段RS也会在本地LO回环接口上绑定VIP别名并抑制ARP相应,因此RS发送到调度器DIRECTOR的数据包是VIP-CIP,不会是RIP-CIP。
NAT模式下,RS响应后的数据包封装成(VIP-CIP),为什么调度器能收到?是因为NAT模式下,调度器IP必须是RS的网关,RS响应后的数据包必须通过调度器返回客户端。该模式调度器负载较大,一般不用。
配置LVS的NAT模式
1.实验环境
在server1上添加一块网卡eth1,给该网卡加上外网ip,激活网卡
2.在server2和server3上添加网关,因为NAT模式下数据包的走向是原路返回,要带着返回的数据包经过调度器回到客户端。
3.在server1中打开ip转换功能
sysctl -a | grep ip_forward
查看得到是net.ipv4.ip_forward=0的,我们应该将其改为1
4.在server1上添加调度策略
5.在真机中测试
6.查看调度器情况