一、NAT模式

    NAT(Network Address Translation,网络地址转换)。数据包传输过程就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的源IP地址改为自己的IP。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。它的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad(用的较多)。实质上是ip地址的转换。

   优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。   

   缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢

二、NAT工作原理图

  整个请求过程示意:

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

三、NAT负载均衡的配置

   1)在server1中添加一块物理网卡eht1.

   ---> ip  link set  up  eth1              # 激活网卡设备

   ---> ip  addr add 172.25.2.3/24  dev eth1    # 添加ip

   ---> ip  addr

   2)修改内部路由设置

   打开ip转换功能:当servre1收到请求后,得到一个公网的ip,和目的主机server2和server3不在一个网段。所以要想数据发送给服务器,就必须对这个数据包进行ip转换,然后再进行数据的转发。处于安全考虑,linux系统默认是禁止数据包的ip地址转换的,所以,要配置linux系统的设置,打开系统的转发功能。

   --->  vim  /etc/sysctl.conf          # 只修改一行,把以下参数的默认值改为1即可

         net.ipv4.ip_forward = 1

   --->  sysctl  -p                     # 保存修改

   3)添加ipvsadm策略

   --->  ipvsadm  -A  -t  172.25.254.3:80  -s  rr

   --->  ipvsadm  -a -t 172.25.254.3:80 -r 172.25.2.2:80  -m

   --->  ipvsadm  -a -t 172.25.254.3:80 -r 172.25.2.3:80  -m

   --->  ipvsadm  -Ln

   4)在server2和server3中打开httpd服务(添加默认发布文件),并添加网关。

   --->  route add default  gw  172.25.2.1          # 临时设置,开机取消

   5)在物理机中进行测试:轮询

   # 在server1中的显示结果

LVS-fullnat模式:
   1.客户端将访问vip报文发送给LVS服务器;
   2.LVS服务器将请求报文的目的地址修改为后端真实服务器(DNAT),源地址改为自己的ip地址(SNAT),发送给后端真实服务器;
   3.后端服务器在处理完之后要将响应的报文返回给lvs;
   4.LVS将返回的数据包源地址改为自己(SNAT),目的地址改为客户端(DNAT),发送给客户端。
   fullnat模式和nat模式相似,但是与nat不同的是nat模式只做了两次地址转换,fullnat模式却做了四次。

LVS模式三:NAT模式的更多相关文章

  1. LVS负载均衡NAT模式实现

    LVS负载均衡之NAT模式配置 NAT 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed ...

  2. [lvs]lvs的三种模式

    回顾了下lvs的三种模式的调度机制 1.lvs的dr模式中的arp的抑制,eth用自己口arp回应. 2.keepalive是否直接操作rs? 不直接操作, 只操作dr(配lvs) 3.tunnel模 ...

  3. LVS系列一、LVS集群-NAT模式

    一. 集群概述 1. 什么是集群? 一组各自相互独立且又相互依赖的,通过高速网络互联的计算机组成的一个计算机组, 以单一的系统模式加以管理, 为用户提供服务, 对用户来说, 用户只会认为对方是一个服务 ...

  4. 虚拟机的三种联网模式(桥接模式、NAT 模式、仅主机模式)

    虚拟机的网络连接方式分为三种,分别是桥接模式.NAT 模式.和仅主机模式,三种连接模式存在着一定的差异,那么我们该如何选择适合自己的连接模式呢? 1.桥接模式:在此模式下,虚拟机相当于一台独立的电脑, ...

  5. VMware网络连接模式——桥接模式、NAT模式以及仅主机模式的介绍和区别

    在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥 ...

  6. 桥接模式和NAT模式差别

    bridged networking(桥接模式)      在这样的模式下.VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它能够訪问网内不论什么一台机器. 在桥接模式下.你须要手工为虚 ...

  7. (转)VMware中桥接模式与NAT模式的区别

    bridged networking(桥接模式) 在这样的模式下.VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它能够訪问网内不论什么一台机器. 在桥接模式下.你须要手工为虚拟系统配置 ...

  8. 虚拟机中桥接模式和NAT模式以及仅主机模式的区别

    桥接模式和NAT模式 网络连接类型的选择,网络连接类型一共有桥接.NAT.仅主机和不联网四种. 桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上. NAT:NAT模 ...

  9. 高可用与负载均衡(6)之聊聊LVS的三种模式

    LVS的赘述 IPVS,ipvs ,ip_vs是负载均衡器中的内核代码 LVS是完整的负载均衡器+后端服务器.这些组件组成了虚拟服务器. LVS是一个4层负载均衡方案,标准的客户端-服务器网络语义也被 ...

  10. LVS负载均衡NAT模式原理介绍以及配置实战

    LVS基本原理 流程解释: 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 PREROUTING 链首先会接收到用户请求,判断目标 IP 确定是本机 IP ...

随机推荐

  1. [pixhawk笔记]7-MAVLink添加自定义消息

    前一篇学习了uORB,用于px4中各个模块的进程间通信,下来学习MAVLink,用于飞控和地面站之间的通信.教程中主要给出了使用MAVLink的发送和接收消息的方法.完整的MAVLink消息列表见该网 ...

  2. 20145329《Java程序设计》第八周学习总结

    教材学习内容总结 日志 1.java.util.logging包提供了日志功能相关类与接口. 2.使用日志的起点是Logger类,Longer类的构造函数标示为protected,不同包的类药取得Lo ...

  3. BZOJ3236: [AHOI2013]作业

    BZOJ3236: [AHOI2013]作业 题目描述 传送门 行,我知道是Please contact lydsy2012@163.com! 传送门2 题目分析 这题两问还是非常,emmmm. 首先 ...

  4. 【semantic segmentation】Pyramid Scene Parsing Network(转)

    论文地址:https://arxiv.org/pdf/1612.01105.pdf源码地址:https://github.com/hszhao/PSPNet 来自:Semantic Segmentat ...

  5. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛-A banana·

    2017-09-09 16:41:28 writer:pprp 题意很好理解就不说了,实现比较清晰,选择邻接表来做 但是我用的是链表来实现的,所以导致出现了很多问题,最后卡的最长时间的一个问题是 应该 ...

  6. 使用IP spoofer 功能

    有个问题请教:使用IP spoofer 功能后,很多vuser都会挂掉,这个怎么解决呢? LR

  7. arm-linux-gcc安装使用教程

    arm-linux-gcc如何下载安装2(转) [转]ubuntu下交叉编译环境构建(arm-linux-gcc-3.4.1.tar.bz2 ) 2009-03-03 10:05 1.下载arm-li ...

  8. C# Page基础功能,用于各页面继承

    IBasePage.cs文件 /// <summary> /// 用于页面或用户控件 /// </summary> public interface IBasePage { / ...

  9. codeforces291E Tree-String Problem

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  10. Springboot依赖注入 Service类中使用静态变量

    @Component public class ServerHandler extends IoHandlerAdapter { @Autowired protected HealthDataServ ...