一、NAT模式简介 Virtual Server via Network Address Translation(VS/NAT) 通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。 二、LVS-VAT模式的系统结构图: 该模式的原理如下: 1)客户端将访问vip报文发送给LVS服务器; 2)LVS服务器将请求报文的目的地址修改为后端真实服务器(DNAT),发送给后端真实服务器; 3)后端服务器在处理完之后要将响应的报文返回给客户端,但是却不在同一网段; 4)LVS根据自己的追踪技术将后端真实服务响应客户端的报文原地址改为自己的ip地址(SNAT),发送给客户端。 要求: 1)LVS服务器需要有不同的网段。 2)真实服务器的网关必须设置为LVS的ip地址 优点: 1)安全 2)可以实现不同网段的数据请求。 缺点: 因为在 VS/NAT 中请求和响应报文都需要通过负载调度器,伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身 有可能成为系统的新瓶颈。 二、LVS-NAT模式下的负载平衡 实验环境: Load Balance 双网卡: eth0:172.25.88.1(对外) eth1:192.168.88.1(对内) Virtual IP: 172.25.88.1 gateway: 192.168.88.1 server2(RS): 192.168.88.2 server3(RS): 192.168.88.3 1、在server1中 1)配置网络 ip link set up eth1 #激活eth1网卡 ip addr add 192.168.88.1/24 dev eth1 #添加网络 ip addr #查看网络 2)配置yum仓库 vim /etc/yum.repos.d/rhel-source.repo 添加: 清除yum缓存并列出可使用的包 3)打开内部路由功能 sysctl -a | grep ip_forward sysctl -w net.ipv4.ip_forward=1 4)安装ipvsadm yum install ipvsadm -y /etc/init.d/ipvsadm start #开启服务 ipvsadm -C #清空策略 ipvsadm -A -t 172.25.88.1:80 -s rr ipvsadm -a -t 172.25.88.1:80 -r 192.168.88.2:80 -m #给vip添加rip,使用NAT模式 ipvsadm -a -t 172.25.88.1:80 -r 192.168.88.3:80 -m /etc/init.d/ipvsadm save #保存策略 ipvsadm -ln #查看策略 2、在server2中: 将为172.25.88.2的ip修改为192.168.88.2 1)配置网关 route add default gw 192.168.88.1 #NAT工作路径源路经返回,只需要指定网关即可 route -n #查看网关 2)安装apache yum install httpd -y vim /var/www/html/index.html <h1>server2</h1> /etc/init.d/httpd start 3、在server3中: 将sever3上的ip172.25.88.3改为192.168.88.3 1)配置网关 route add default gw 192.168.88.1 #NAT工作路径源路经返回,只需要指定网关即可 route -n #查看网关 2)安装apache yum install httpd -y vim /var/www/html/index.html <h1>server3</h1> /etc/init.d/httpd start 4、测试: 此时物理机ip网段必须与eth0在同一网段,且不能于RS在同一网段,否则会不经过网关直接访问RS 在物理机中执行curl 172.25.88.1,出现轮询表示配置成功