LVS-NAT模式负载均衡构建配置

过程

Client->VS(两个网卡,一个內网,一个交换机与RS互通,DNAT目标地址转换)->RS(SNAT源地址转换)->VS->Client
客户端发送请求到调度器的vip上,调度器接受到客户端的请求之后,根据调度算法,将客户端的的请求发送给服务器,服务器处理完请求,查看默认路由(NAT模式下需要将服务器的默认网关设置为调度器),调度器接受到响应包以后,将源IP进行修改,然后将响应数据发送给客户端。
原理详情:
LVS-NAT模式负载均衡构建配置_第1张图片
1.客户端请求数据,然后将数据发送给调度器
2.调度器接受到客户端的请求,根据调度算法,将客户端的请求包的源IP和端口,修改为服务器,然后将这条连接信息保存在hash表中
3.数据包经过服务器的处理,服务器的默认网关是调度器,然后将响应数据发给调度器
4.收到服务器的响应包以后,根据hash表中的连接信息,将源IP改为调度器自己,然后将数据发送给客户端

实验环境:

iptables和selinux关闭
redhat6.5
VS:server1 172.25.35.51 vip: 172.25.69.1
RS:server2 172.25.35.52 网关:172.25.35.51
RS:server3 172.25.35.53 网关:172.25.35.51

VS:
首先添加一个网卡
[root@server1 ~]# cd /etc/sysconfig/network-scripts/
[root@server1 network-scripts]# ls
[root@server1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts]# vim ifcfg-eth1 //文件内容如下
//当临时添加ip时需要执行ip link set up eth1激活eth1

这里写图片描述

[root@server1 network-scripts]# /etc/init.d/network restart
[root@server1 network-scripts]# yum install ipvsadm
[root@server1 network-scripts]# /etc/init.d/iptables stop
[root@server1 network-scripts]# ipvsadm -C
[root@server1 network-scripts]# ipvsadm -A -t 172.25.69.1:80 -s wrr
[root@server1 network-scripts]# ipvsadm -a -t 172.25.69.1:80 -r 172.25.35.52 -m -w 1  
//-m表示nat模式,-w设置权重,wrr加权轮叫调度算法
[root@server1 network-scripts]# ipvsadm -a -t 172.25.69.1:80 -r 172.25.35.53 -m -w 1
[root@server1 network-scripts]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.69.1:80 wrr
  -> 172.25.35.52:80              Masq    1      0          0         
  -> 172.25.35.53:80              Masq    1      0          0         
[root@server1 network-scripts]# echo "1" >/proc/sys/net/ipv4/ip_forward  //开启ip转发功能
//临时开启:sysctl -w net.ipv4.ip_forward=1
RS:
server2:
[root@server2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
//添加网关172.25.35.51,是指向调度器的
//临时添加网关:route add default gw 172.25.35.51
[root@server2 ~]# cat /var/www/html/index.html 
www.westos.org-Server2
[root@server2 ~]# /etc/init.d/httpd start

server3:
[root@server3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
//添加网关172.25.35.51
[root@server3 ~]# cat /var/www/html/index.html 
www.westos.org
[root@server3 ~]# /etc/init.d/httpd start
客户端测试:

每测试一次就会发生轮询,当一个服务器坏掉就会报错,就会在坏掉的另外一个正常访问之间来回轮询
LVS-NAT模式负载均衡构建配置_第2张图片

你可能感兴趣的:(运维项目)