实现LVS负载均衡NAT模式

1、LVS-NAT实现原理简述    实现LVS负载均衡NAT模式

   注释:

    ipvs:工作于内核上的netfilterINPUT钩子之上的程序,可根据用户定义的集群实现请求转发; 

    VSVirtual Server   虚拟服务

    Director, Balancer   负载均衡器、分发器

    RSReal Server   后端请求处理服务器              

    CIP: Client IP    用户端IP

    Director Virtual IP: VIP  负载均衡器虚拟IP

    Director IP: DIP   负载均衡器IP

               RealServer IP: RIP  后端请求处理服务器IP

  其中:VIP是让用户访问的,DIP是让后端服务器通信的

(1) 当用户请求到达DirectorServer,此时请求的数据报文会先到内核空间的PREROUTING链。此时报文的源IP为CIP,目标IP为VIP

(2)PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链

(3) IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP然后将数据包发至POSTROUTING链。此时报文的源IPCIP,目标IPRIP

(4) POSTROUTING链通过选路,将数据包发送给RealServer

(5) Real Server比对发现目标为自己的IP,开始构建响应报文发回DirectorServer。此时报文的源IPRIP,目标IPCIP

        (6)Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。此时报文的源IP为VIP,目标IP为CIP


2、实验:

实验准备:

  三台主机,一台负载均衡器,两台后端服务器 

    LVS-server 两个网卡,桥接模式,仅主机模式

    后端服务器:仅主机模式   实现LVS负载均衡NAT模式

(1)在LVS-server上配置

    1.安装包

      yum install ipvsadm  

     2.开启一个基于80端口的虚拟服务,调度方式为wrr

    ipvsadm -A -t 172.17.251.106:80 -s wrr

    3.配置web后端服务器real server为net工作方式,权重为1

    ipvsadm -a -t 172.17.251.106:80 -r 192.168.191.107 -m -w 1

    ipvsadm -a -t 172.17.251.106:80 -r 192.168.191.110 -m -w 1

    4.修改内核参数,允许路由转发

        vim  /etc/sysctl.conf 

       修改 net.ipv4.ip_forward = 1 

        sysctl -p 查看生效

(2)在两个real server上添加默认路由指向DIP

    route add default gw 192.168.191.106

(3)为了方便测试。

    在real server上实现LNMP。可以安装下面步骤实现

    http://guanm.blog.51cto.com/13126952/1978354

    在192.168.191.107上

    cd /data/web

    echo site1 > index.html

    在192.168.191.110上   

    cd /data/web

    echo site2 > index.html

(4)在客户端测试 

    curl http://172.17.251.106/index.html 

    可以看到依次出现site1 ,site2 ,因为两者的权重一样   



本文转自 hawapple 51CTO博客,原文链接:http://blog.51cto.com/guanm/1979127

上一篇:使用PolarDB和ECS搭建门户网站


下一篇:NLP技术的应用及思考