LVS-NAT工作原理
通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个 后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
NAT模式的优缺点
-
NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点
-
只需要在LB上配置一个公网IP地址就可以了。
-
每台内部的节点服务器的网关地址必须是调度器LB的内网地址。
-
NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。
LVS—NAT 下实现负载均衡
操作环境linux6.5
server1: 双网卡
eth0:172.25.254.103(对外)
eth1:172.25.3.1(对内)
server2: 172.25.3.2
gateway: 172.25.3.1
server3: 172.25.3.3
gateway: 172.25.3.1
在server1
打开内部路由功能
sysctl -a | grep ip_forward
sysctl -w net.ipv4.ip_forward=1
安装ipvsadm
yum install ipvsadm -y
/etc/init.d/ipvsadm start ## 开启服务
## 6.5的环境中没有systemctl
ipvsadm -C ## 清空策略,保证实验环境纯净
ipvsadm -A -t 172.25.254.103:80 -s rr
ipvsadm -a -t 172.25.254.103:80 -r 172.25.3.2:80 -m
## 给vip添加rip,>使用NAT模式
ipvsadm -a -t 172.25.254.103:80 -r 172.25.3.3:80 -m
/etc/init.d/ipvsadm save ## 保存策略
ipvsadm -ln | -l ##查看策略
在server2中:
配置网关
route -n
安装apache
yum install httpd -y
vim /var/www/html/index.html ## 配置apache默认发布页面
<h1>我是server2</h1>
/etc/init.d/httpd start ## 打开apache服务
在server3中
查看网关
route -n
安装apache并配置默认发布页面,开启服务
vim /var/www/html/index.html ## 配置apache默认发布页面
<h1>我是server3</h1>
/etc/init.d/httpd start
测试
注意:此时物理机ip网段必须与eth0在同一网段,且不能于RS在同一网段,否则会不经过网关直接访问RS
在物理机中执行 curl172.25.254.103 ,出现轮询即配置生效