本篇文档主要是记录NAT模式实现过程,以及各配置步骤的原理。“lvs三种模式工作原理”中描述了LVS的NAT、DR、TUN三种模式的工作原理。

NAT模式是通过director将报文目标IP地址修改,发送给RS,RS将响应报文返回给director,通过director将报文返回给客户端。

部署环境

  director需要两个网卡,一个配置VIP,接受客户端请求报文和发送real server的响应报文;一个配置DIP,用来转发VIP接受到的请求报文和接受real server的响应报文。

LVS服务器(DS) DIP:192.168.1.1 VIP:172.30.100.111
nginx1服务器(RS) RIP:192.168.1.2 网关:192.168.1.1
nginx2服务器(RS) RIP:192.168.1.3 网关:192.168.1.1

LVS服务器配置

  VIP地址正常配置为与客户端通信的公网地址;DIP可以使用私网IP

  

  DIP不需要指定网关,它只是用来作为RS的网关。

  

  NAT模式是把请求报文的目标VIP修改为RIP,然后转发给real server。所以整个director的功能有点像路由器。centos默认是不开启转发功能,所以需要激活ip转发功能。

echo 1 >> /proc/sys/net/ipv4/ip_forward
# 开启ip转发功能

后端服务器配置

  两台real server的RIP必须与DIP是同一网段,并且要把网关设置为DIP

  

ipvs规则配置

  NAT模式支持端口映射,即客户端请求web80端口,lvs可以映射到后端服务的8080端口。

ipvsadm -A -t 172.30.100.111:80 -s wrr
# 添加虚拟服务,指定IP、端口、算法
ipvsadm -a -t 172.30.100.111:80 -r 192.168.1.2:8080 -m -w 2
# 添加nginx1服务器,指定端口,指定NAT模式,指定权重为2
ipvsadm -a -t 172.30.100.111:80 -r 192.168.1.3:8080 -m -w 1
# 添加nginx2服务器,指定端口,指定NAT模式,指定权重为1

验证

   

Linux lvs-NAT模式配置详解的更多相关文章

  1. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  2. Linux lvs-DR模式配置详解

    本篇文档主要是记录DR模式实现过程,以及各配置步骤的原理.“lvs三种模式工作原理”中描述了LVS的NAT.DR.TUN三种模式的工作原理. DR模式是通过director将报文源和目标MAC地址修改 ...

  3. lvs keepalived 安装配置详解

    前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较.F5相当的贵,真不是一般企业能负担的起的.负载均衡软件也用过不少,nginx,apache,hapro ...

  4. linux LVS DR模式配置

    拓扑图: 测试环境:CentOS 6.5 X86 64位 配置步骤: 1.  安装测试环境 [root@UCS-1 ~]# yum -y install httpd [root@UCS-1 ~]# c ...

  5. Linux安装vsftpd及配置详解

    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件.[root@bogon ~]# yum -y install vsftpd 2.FT ...

  6. (总结)CentOS Linux搭建SVN Server配置详解

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

  7. lvs dr 模型配置详解

    前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0: :2意思是eth0的子接口,随便一个数字就 ...

  8. linux串口编程参数配置详解(转)

    1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义#include <stdlib.h>        //标准函数 ...

  9. linux串口编程参数配置详解

    1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义 #include <stdlib.h>        //标准函 ...

随机推荐

  1. IT企业级应⽤开发模式演化

    前端研发流程 传统To B类系统的研发模式 探索 & 思考设计模式库(DPL)设计语⾔设计语⾔详解基于MVVM模式的Web框架 & UI库优化后的开发模式实现价值实践 赋能 赋能授权( ...

  2. CDN的简单理解

    百度百科上的解释:CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调 ...

  3. Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

    Spring boot项目maven的profile多环境配置不自动替换变量的问题解决   在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...

  4. 小米平板7.0系统如何不root激活Xposed框架的方法

    在越来越多公司的引流或业务操作中,基本都需要使用安卓的强大XPOSED框架,这段时间我们公司买来了一批新的小米平板7.0系统,基本都都是基于7.0以上版本,基本都不能够获取root超级权限,即使小部分 ...

  5. Jmeter Beanshell 用法

    Beanshell 的用法 什么是beanshell Beanshell是一种完全符合java语法的脚本语言,并且拥有自己的内置对象和语法 Beanshell是用java写的,一个小型嵌入式java源 ...

  6. php中curl返回false的解决办法

    本文介绍一下自己在使用curl中遇到的问题解决办法.希望可以帮助到大家. 原文地址:代码汇个人博客 http://www.codehui.net/info/37.html 首先来看一个封装的curl函 ...

  7. Bootstrap -- 插件: 提示工具、弹出框、 警告框消息

    Bootstrap -- 插件: 提示工具.弹出框. 警告框消息 1. 提示工具(Tooltip)插件:根据需求生成内容和标记. 使用提示工具: <!DOCTYPE html> <h ...

  8. 每日PA -2019年1月帖-每天更新

    开篇 "每日PA"有什么亮点?

  9. .net prams关键字

    先举个例子: 代码如下: class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.Wr ...

  10. Linux使用IDEA配置maven的web项目骨架archetype(模板) 自定义骨架

    说明:本文说的骨架就是 archetype,也可以理解为模板,总是就是指你创建项目时的基本配置. 前言:在使用IDEA创建maven的web项目时,一般都是直接使用提供的默认web项目,如图 然而创建 ...