Lvs - NAT

这里写图片描述

Virtual Server via Network Address Translation(VS/NAT)
通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

LVS/NAT原理

1. 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
2. PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
3. IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP
4. POSTROUTING链通过选路,将数据包发送给Real Server
5. Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP
6. Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP

LVS-NAT模型的特点

1. RS应该使用私有地址,RS的网关必须指向DIP
2. DIP和RIP必须在同一个网段内
3. 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈
4. 支持端口映射
5. RS可以使用任意操作系统

Lvs-NET模式流程

NAT模型:地址转换类型,主要是做地址转换,类似于iptablesDNAT类型,它通过多目标地址转换,来实现负载均衡,
一个Director最多负载提供10Real Server主机

1> client发送requestLVSVIP上,VIP选择一个Real-server,并记录连接信息到hash表中,然后修改clientrequest的目的IP地址为Real-server的地址,将请求发给Real-server;

2> Real-server收到request包后,发现目的IP是自己的IP,于是处理请求,然后发送replyLVS;

3> LVS收到reply包后,修改reply包的的源地址为VIP,发送给client;

4> client来的属于本次连接的包,查hash表,然后发给对应的Real-server5> client发送完毕,此次连接结束或者连接超时,那么LVS自动从hash表中删除此条记录。

1.、Director Server 的配置
1). 安装ipvsadm客户端
3). 配置eth0的ip为172.25.254.1,eth1的ip为172.25.66.100
这里写图片描述
这里写图片描述

2、Real Server2的配置与Real Server3的配置一样,vip为172.25.66.100
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
3、配置ipvsadm
/etc/init.d/ipvsadm save
这里写图片描述
这里写图片描述
4、开启ip转发
vi etc/sysctl.conf 设置 net.ipv4.ip_forward = 1
这里写图片描述
5、测试
客户端浏览器输入 172.25.66.100

在真机输入 curl 172.25.66.100

都会发生轮询。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/janenancy/article/details/81294224