####企业——LVS-NAT模式负载均衡构建配置###
NAT技术:为可解决IPV4地址匮乏,引入的机制
1.过程
Client -> VS(两个网卡,一个内网,一个交换机与RS互通,DNAT目标地址转换) -> RS(SNAT源地址转换) -> VS -> Client
客户端发送请求导调度器的vip上,调度器接受到客户端的请求之后,根据调度算法,将客户端的请求发送给服务器,服务器处理完请求,查看默认路由(NAT模式下需要将服务器的默认网关设置为调度器),调度器接受到响应包以后,将源IP进行修改,然后将响应数据发送给客户端
原理详情:
(1)客户端请求数据,然后将数据发送给调度器
(2)调度器接受大批客户端的请求,根据调度算法,将客户端的请求包的源IP和端口,修改为服务器,然后将这条连接信息保存在hash表中
(3)数据包经过服务器的处理,服务器的默认网关是调度器,然后将响应数据发送给调度器
(4)收到服务器的响应包以后,根据hash表中的连接信息,将源IP改为调度器自己,然后将数据发送给客户端
2.NAT模式的优点:
(1)安全 (2)目标地址不仅可以替换,端口号也可以参与替换
(3)可以实现不同网段的数据请求
3.NAT模式的缺点:
因为在VS/NAT中请求和响应报文都需要通过负载调度器,响应报文实体内容增大,会导致压力倍增,伸缩能力有限,当服务器节点数目升到20时,调度器本生有可能成为系统的新瓶颈
4.实验环境
iptables和selinux关闭
rhel6.5
VS: vm1 172.25.254.1 vip 172.25.0.1
RS: vm2 172.25.254.2 网关 172.25.254.1
RS: vm3 172.25.254.3 网关 172.25.254.1
<1>VS
(1)先给vm1,添加两块网卡,一块做内网,一块和RS互通
(2)给两个网卡添加IP
cd /etc/sysconfig/network-scripts/
ls
cp ifcfg-eth0 ifcfg-eth1
ls
vim ifcfg-eth1
/etc/init.d/network resart
注意:如果是临时添加IP的话,要执行 ip link set up eth1 ##激活
(3)下载并安装ipvsadm
yum install ipvsadm -y
/etc/init.d/ipvsadm start ##开启服务
ipvsadm -C ##清空celue
ipvsadm -L ##查看是否写入策略
ipvsadm -A -t 172.25.0.1:80 -s wrr
ipvsadm -a -t 172.25.0.1:80 -r 172.25.254.2 -m -w 1
ipvsadm -a -t 172.25.0.1:80 -r 172.25.254.3 -m -w 1
## -m 表示NAT模式 -w设置权重 wrr加权轮叫调度算法
ipvsadm -ln
echo "1" >/proc/sys/net/ipv4/ip_forward ##开启ip转发功能
注意:临时开启 sysctl -w net.ipv4.ip_forward=1
=============================================================
上面的开启ip转发功能,如果开启不了的话
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
=============================================================
<2>RS
vm2,3同样的操作
vim /etc/sysconfig/network-scripts/ifcfg-eth0
GETWAY=172.25.254.1 ##添加的网关是指向调度器的
/etc/init.d/network restart
cat /var/www/html/index.html
<h1>vm2-westos.com</h1>
/etc/init.d/httpd start
<3>真机测试
vim /etc/sysconfig/network
GATEWAY=172.25.254.1
systemctl restart network
curl 172.25.0.1 ##或者是 curl http://172.25.0.1
返回到调度器:
ipvsadm -ln ##查看