实现LVS负载均衡NAT模式

1、LVS-NAT实现原理简述    

注释:

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

VS:Virtual Server   虚拟服务

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

RS:Real 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链。此时报文的源IP为CIP,目标IP为RIP

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

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

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

2、实验:

实验准备:

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

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

后端服务器:仅主机模式   

(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 ,因为两者的权重一样

时间: 2024-10-20 02:15:09

实现LVS负载均衡NAT模式的相关文章

LVS负载均衡—NAT模式

LVS负载均衡-NAT模式 如下图所示,NAT模式中的一大缺点就是无论是请求的数据包,还是返回的数据包,都必须要经过负载的这个点,请求的数据包一般内容较少,问题不是很大,而返回的数据包,一般都是图片,视频等等,这会给中间的调度器带来巨大的负担 一.环境准备准备三台虚拟机LVS主机有两块网卡:VIP=192.168.1.2 (一般为公网IP)DIP=10.168.1.1RIP1=10.168.1.100RIP2=10.168.1.200二.LVS主机准备工作首先安装ipvsadm[root@loc

linux lvs负载均衡nat模式

linux的lvs负载均衡主要用于提高服务器的处理能力,提高服务器的相应能力,提高并发处理能力,以及合理的资源分配. 地址转换:简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口.服务器节点使用私有IP地址.与负载调度器位于同一个物理网络,安全性要优于其他两种方式,但是因为调度器既要提供入口又要提供出口所以性能方面不是很好. LVS现在已成为LINUX内核的一部分,默认编译为ip_vs模块,手动加载ip_vs模块

LVS负载均衡-NAT模式

环境: DIR:192.168.11.190(网卡1:内网).192.168.21.190(网卡2:外网) RS1:192.168.11.160 RS2:192.168.11.20 cilent:192.168.21.180 DIR主机 1. 安装lvs软件包ipvsadm,编辑hosts文件/etc/hosts,修改hostname为dr 命令 yum install -y ipvsadm 2. 编写脚本文件/usr/local/sbin/lvs_nat.sh 内容:  #! /bin/bas

LVS负载均衡DR模式+keepalived

实验拓扑: 实验准备: CentOS6.5-x86-64 node1 10.0.0.11    软件:ipvsadm+keepalived    角色:Director1 node2 10.0.0.12    软件:ipvsadm+keepalived    角色:Director2 node3 10.0.0.13    软件:nginx    角色:Realerver1 node4 10.0.0.14    软件:nginx    角色:Realerver2 一.在两台Director上安装配

LVS搭建集群实现负载均衡-NAT模式

服务介绍: LVS 简称 Linux Virtual Server,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以性能很高 nat 模式: 支持任 何操作系统,以及私有网络,只需要一个公网ip ,系统性能受到限制,每次执行nat需要重写包,有一定延迟. 实验环境 实验环境: xuegod 63   VIP:eth0 192.168.0.103    ; DIP:eth1 192.1

VMware上实现LVS负载均衡(NAT)

本文LVS的实现方式采用NAT模式,关于NAT的拓扑图请参照我的上一篇文章,本文纯粹实验,NAT在生产环境中不推荐使用,原因是Load Balancer容易成为瓶颈! 1.VMware9上安装CentOS-6.5-x86_64-minimal版 2.安装完成后将其hostname设置为LVS-master hostname LVS-master sudo -i 3.之后copy两份虚拟机的文件 成为RS1和RS2 三台虚拟机都采用桥接的网络方式,最大的好处就是直接使用真实的路由 让他们处在同一个

Centos7下lvs负载均衡lvs-tun模式配置

一.架构 director:172.28.18.69 vip:172.28.18.70 real server1:172.28.18.71 real server2:172.28.18.78 二.两台real server上安装nginx 配置nginx yum源 [[email protected] ~]# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/cent

LVS负载均衡DR模式理论讲解

部署LVS_DR群集LVS_DR数据包流向分析为了方便进行原理分析,将Client0与群集机器放在同一网络中,数据包流经路线为1-2-3-41.Client向目标VIP发出请求,Director(负载均衡器)接收.此时IP包头及数据帧信息为:2.Director根据负载均衡算法选择RealServer_1,不修改也不封装IP报文,而是将数据帧的MAC地址改为RealServer_1的MAC地址,然后在局域网上发送.IP包头及数据帧头信息如下:3.RealServer_1收到这个帧,解封装后发现目

LVS负载均衡-DR模式

环境: DIR:172.16.115.100.172.16.115.200(虚拟IP,用于转发) RS1:172.16.115.157 RS2:172.16.115.202 cilent:172.16.115.* DIR主机 1. 安装lvs软件包ipvsadm和nginx,编辑hosts文件/etc/hosts,修改hostname为dr 阿里云扩展源wget http://mirrors.aliyun.com/repo/epel-6.repo  -P /etc/yum.repos.d/ 命令