LVS | LVS 负载均衡原理(NAT模式)(二)

 LVS-NAT模式:

          NAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射转换成公网地址的一种上网方式(源地址NAT)。如果把NAT的 过程稍微变化,就可以 成为负载均衡的一种方式。

          原理其实就是把从客户端发来的IP包的IP头目的地址在DIR上换成其中一台RealServer的IP地址并发至此 RealServer,而RealServer则在处理完成后把数据经过DIR主机发回给客户端,DIR在这个时候再把数据包的源IP地址改为DIR接口 上的IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过DIR。

 LVS-NAT模式请求说明图 :

整个请求过程示意:

  1. client发送request到LVS的VIP上,VIP根据负载算法选择一个Real-server,并记录连接信息到hash表中,然后修改client的request的目的IP地址为Real-server的地址,将请求发给Real-server;
  2. Real-server收到request包后,发现目的IP是自己的IP,于是处理请求,然后发送reply给LVS;
  3. LVS收到reply包后,修改reply包的的源地址为VIP,发送给client;
  4. 从client来的属于本次连接的包,查hash表,然后发给对应的Real-server;
  5. 当client发送完毕,此次连接结束或者连接超时,那么LVS自动从hash表中删除此条记录。

 实验环境:

Direcotr:
Server1(调度器):双网卡:eth0(对外):172.25.254.10 eth1(对内):172.25.254.1
Realserver:
Server2(服务器):172.25.254.2
Server3(服务器):172.25.254.3
Client:172.25.254.96

server1:

[1] 添加一块网卡:172.25.254.10

[2] 开启路由机制:

[root@server1 ~]# vim  /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@server1 ~]# sysctl -p

[3] 加载NAT模块:

[root@server1 ~]# modprobe iptable_nat

[4] 设置策略:

[root@server1 ~]# ipvsadm  -A -t 172.25.254.10:80  -s rr        ## rr 为轮询算法
[root@server1 ~]# ipvsadm -a -t 172.25.254.10:80 -r 172.25.254.2:80 -m  ##-m 表示nat
[root@server1 ~]# ipvsadm -a -t 172.25.254.10:80 -r 172.25.254.3:80 -m

[5] 保存策略:

[root@server1 ~]# /etc/init.d/ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm:      [  OK  ]

server2:

[1] 配置ifcfg-eth0:

[2] 重启服务:

[root@server2 network-scripts]# /etc/init.d/network start
[root@server2 network-scripts]# /etc/init.d/httpd start

server3:

[1] 配置ifcfg-eth0:

[2] 重启服务:

[root@server3 network-scripts]# /etc/init.d/network start
[root@server3 network-scripts]# /etc/init.d/httpd start

在客户端测试:

猜你喜欢

转载自blog.csdn.net/qq_37048504/article/details/82957596