lvs 负载均衡 NAT模式

时间:2021-09-23 16:45:04

1.原理

基于NAT机制实现。当用户请求到达director之后,director将请求报文的目标地址(即VIP)改成选定的realserver地址,同时将报文的目标端口也改成选定的realserver的相应端口,最后将报文请求发送到指定的realserver。在服务器端得到数据后,realserver将数据返给director,而director将报文的源地址和源端口改成VIP和相应端口,然后把数据发送给用户,完成整个负载调度过程。

2 环境及组网搭建

所有的虚拟机均是在vmware中搭建的Ubuntu系统,IP分别为192.168.1.106 192.168.1.109 192.168.1.110,作为负载均衡调度的虚拟机上应该有两块网卡,一个用于提供外部访问的VIP,一个作为跟后端RS建立连接的RIP(两个IP可以不在同一个网段,需要保证RIP和后端的RS在同一网段),因此给106机器增加一块虚拟网卡

ifconfig eth0:0 192.168.1.10 netmask 255.255.255.255 broadcast 192.168.1.100

由于这里我所有的IP都是你能够互相ping通的,因此无需设置默认网关

lvs 负载均衡  NAT模式

 

这样通过ifconfig命令查看的网卡信息为:

lvs 负载均衡  NAT模式

给109 110两台rs上安装nginx服务,修改nginx访问nginx主页的信息,如下:

lvs 负载均衡  NAT模式

106机器作为负载均衡器,开启消息转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

 

3 通过ipvsadm配置NAT负载均衡

ipvsadm -A -t 192.168.1.10:9999 -s rr

ipvsadm -a -t 192.168.1.10:9999 -r 192.168.1.109:80 -m

ipvsadm -a -t 192.168.1.10:9999 -r 192.168.1.110:80 -m

  查看配置的ipvs信息

lvs 负载均衡  NAT模式

通过curl命令访问虚拟服务,可以看到lvs按照轮训的方式依次将消息转发给109和110处理

lvs 负载均衡  NAT模式