LVS-NAT的工作流程图:
1:用户发出请求时,请求先到负载均衡分发器的prerouteing(路有前)链,在此判断目标ip是否时时本机IP,若时
2:接着请求到达input链,会与input链上的ipvs记录了定义好的集群服务进行对比,如果用户请求就是定义好的集群服务,此时的ipvs会强行更改用户请求的数据包目标IP
3:postrouteing(路由后)接受到数据包后,会将数据包的IP与后端服务器进行对比,发现刚好是后端服务器,接着将请求发往后端服务器
简而言之就是用户发出请求后,在负载均衡器上将用户发来的数据包上的目标IP改为后端服务器IP,并将数据发往该后端服务器进行处理,处理后,该后端服务器将数据包发给负载均衡器,负载均衡器将数据包的目标IP改为自己的IP,再将数据包发给用户。
lvs-nat 在服务器上的搭建:
准备三台虚拟机:
192.168.11.11(node11) ----->充当负载均衡器
192.168.11.12(node12) ------>后端服务器(RS)
192.168.11.13(node13) ------>后端服务器(RS)
先准备后端服务器:(node13,node12操作如下)
1:安装appache服务器,准备访问后端服务器的页面:
yum -y install httpd -------安装apache
systemctl restart httpd -----------允许开机自启
echo "welcome to node12" > /var/www/html/index.html ----------设置页面内容
vim /etc/sysconfig/network-script/ifcfg-enss33
getway=192.168.11.11 ------------>更改网关就好
systemctl restart network ------>重启网络服务
---------------后端准备好了(node12 node13)------------------
准备负载均衡器及node11
1:先在虚拟机就node11上再加一个网卡
2:给新加的网卡配置ip
ifconfig ----------->发现新加了ens37网卡
cd /etc/sysconfig/network-script/ifcfg-ens37
cp -v ifcfg-ens3 ifcfg-ens37
vim ifcfg-ens77
systemcrl restart network ------->重启网络服务
3:临时开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
4:创建负载均衡集群:
yum -y install ipvasdm ---->安装软件
ipvsadm -Ln -------->查看集群(此时为空)
(IPvsadm -C 清空集群 ) ----->不用做
ipvasdam -A -t 192.168.10.11:80 -s rr 添加负载均衡VIP进集群
ipvasdam -a -t 192.168.10.11:80 -r 192.168.11.12:80 ------添加后端服务IP
ipvasdam -a -t 192.168.10.11:80 -r 192.168.11.13:80 ------添加后端服务IP
最后将虚拟机网络编辑器vment8 z子网ip改为192.168.10.0
测试:win7测试