这两天在研究LVS的负载均衡,先从最简单的LVS/NAT模式开始入手。

最后配置完之后能够相互之间Ping通,并且能够直接访问real服务器提供的web服务,而且防火墙也已经关闭了。

但是通过访问LVS服务器死活访问不了Real服务器,利用tcpdump和iftop监控软件查看了一下,发现握手出现的问题!

先说一下用于测试LVS/NAT模式的一些配置信息吧。

[真实] PC的网络:

外网IP:xxx.xxx.xxx.xxx这个是运营商动态分配给我的一个公网IP。

内网IP:192.168.123.1  使用Windows的[本地链接/宽带连接]共享互联网络访问到这个虚拟路由器上,这样虚拟机就能够访问互联网了。

内网IP:192.168.100.1

[虚拟机] LVS服务器:

外网IP、VIP:192.168.123.100

内网IP、DIP:192.168.100.10

[虚拟机] Real服务器:

外网IP:192.168.123.101

内网IP:192.168.100.11 网关 192.168.100.10

先说说我为什么要这么配置的理由,使用虚拟机安装的全新的CentOS 7,因为直接使用虚拟机不方便,我需要复制等等一些功能,所以那个192.168.123.x的网段是为了让我的Windows上的SecureCRT软件能够通过固定的IP建立SSH链接,这样我就能够很方便的配置虚拟机上面的Linux服务器了,所以我为两个服务器都配置了一个192.168.123.X的地址。

好了,理想中的一个流程应该是这样的:

客户端访问[192.168.123.100]  -> LVS服务器转发[192.168.100.11] -> Real服务器返回[192.168.100.10] -> LVS服务器返回[192.168.123.1] -> 客户端。

但是坑就出现了,我们知道,LVS/NAT模式本身需要Real服务器进行一些配置,就是上面的192.168.100.X网段,要把Real服务器的这个网关地址设置为LVS的DIP。这样Real服务器就能把东西发送到LVS服务器上,然后LVS服务器就能够继续转发回客户端。

在LVS/NAT模式中,LVS本身不会修改包的来源地址,这是因为Real服务器需要每一个客户端的IP地址,所以自然是万万不能修改的。

好了,有了上面的了解之后,相信大家应该猜出问题的所在了,那就是Real服务器本身拥有192.168.123.101的IP地址。所以被处理完毕的数据,直接被发送到了192.168.123.1上面去了!如下:

客户端访问[192.168.123.100]  -> LVS服务器转发[192.168.100.11] -> Real服务器返回[192.168.123.1] -> 客户端不认这个返回。

解决办法就是关掉Real服务器上面的192.168.123.101的网卡,此时Real服务器就会把数据包发给192.168.100.10也就是我们设置的网关地址。

其实出现这种问题就是路由的配置没有到位,使用默认的路由可能会出现这种情况!

种种巧合[恰好我需要通过SSH去控制虚拟机,恰好我又为每一个虚拟服务器配置了外网IP,恰好这个IP又在同一个网段],造成了这个大坑!

Vmware虚拟机配置LVS/NAT模式遇到的坑。的更多相关文章

  1. vmware中的linux虚拟机配置以nat模式上网,并用xshell连接该虚拟机

    1.  首先确保宿主机上的vmnet8处于启用状态 2.  以管理员身份运行vmware >> 编辑 >> 虚拟机网络编辑器 >> 选中Vmnet8 >> ...

  2. vmware网络配置(NAt模式)

    学习参考: http://www.linuxidc.com/Linux/2017-03/141864.htm(讲解NAT模式) 配置: 1.在virtul Network Editor(虚拟网络编辑器 ...

  3. Linux centosVMware 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建

    一.负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做 ...

  4. VMware虚拟机配置

    VMware虚拟机配置 背景 在做学习Linux时经常会在win环境下安装虚拟机,这其中涉及到一些细节操作,需要对虚拟机工作模式加以理解. 本文在学习hadoop分布式环境搭建时写作. 1.虚拟交换机 ...

  5. 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建

    7月4日任务 18.6 负载均衡集群介绍18.7 LVS介绍18.8 LVS调度算法18.9/18.10 LVS NAT模式搭建 扩展lvs 三种模式详解 http://www.it165.net/a ...

  6. 虚拟机网络设置(NAT模式)

    虚拟机网络设置(NAT模式) linux 1. 设置虚拟机网络 1.1. NAT子网设置 1.2. 网卡配置文件设置 1.3. 重启网络服务 1.4. 配置端口转发 2. 配置网络共享 预期想要搭建本 ...

  7. 【Tools】VMware虚拟机三种网络模式详解和操作

    目录 00. 目录 01. VMware虚拟机三种网络模式 02. Bridged(桥接模式) 03. NAT(地址转换模式) 04. Host-Only(仅主机模式) 00. 目录 @ 参考:htt ...

  8. vmworkstation安装unbuntu server 网络配置:NAT模式

    之前安装虚拟机测试环境的时候,习惯了使用桥接模式或者仅主机模式:今天偶然发现,其实NAT 模式的网络配置还是挺方便的. 在新建虚拟机的时候,选择网络模式为NAT,虚拟机创建完成之后,在vmworkst ...

  9. VMware虚拟机三种网络模式

    VMware三种网络模式 在学习中经常遇到Vmware虚拟机网络设置有问题,可能是因为你没有理解这三种网络模式的工作原理.VMware虚拟机常见的网络类型有bridged(桥接).NAT(地址转换). ...

随机推荐

  1. jQuery ClockPicker 圆形时钟

    ClockPicker.js是一款时钟插件,其实还可以改进,里面的分可以改成短横线. 在线实例 实例预览  jQuery ClockPicker 圆形时钟 使用方法 <div class=&qu ...

  2. 本地部署arcgis by eclipse

    首次来博客园发帖,从本地部署arcgis api开始吧: 首先还是下载arcgis的api包开始,在中国区官网下载arcgis包: 1.http://support.esrichina.com.cn/ ...

  3. iOS多线程简介

    1.进程 什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开迅雷.Xcode,系统就会分别启动2个进程 2.线程 什么是 ...

  4. SharePoint 2013 工作流平台的选项不可用

    问题描述 当我想创建一个SharePoint 2013 工作流的时候,打开SharePoint 2013 Designer(一下简称SPD),发现没有SharePoint 2013 工作流的选项.原来 ...

  5. xp系统下硬盘安装centos6.5

    引言: 电脑系统是Windows XP,电脑没有光驱.手头没有U盘.没有移动硬盘.电脑主板不支持U盘启动,在这种情况下想安装CentOS 6.0,有木有办法? 答案:有办法,请看下面教程! 必备工具: ...

  6. IOS开发基础知识--碎片43

    1:增加手势进行左划效果,针对视图并修改其中一个的坐标,菜单用隐藏跟显示 @property(strong,nonatomic)UISwipeGestureRecognizer *recognizer ...

  7. 记CentOS-7-x86_64-DVD-1503与Windows7单硬盘双系统的安装

    我最初的设想是:Win引导CentOS,最后却变成了CentOS引导Win了.算是‘弄拙成巧’了吧. 因为我打算用U盘刻录镜像直接从U盘启动,所以不需要网上一些教程里面的繁琐的win下引导CentOS ...

  8. TNS-12502: TNS:listener received no CONNECT_DATA from client

    检查我们的一台ORACLE数据库的监听日志发现有不少TNS-12502错误信息.如下所示 TNS-12502: TNS:listener received no CONNECT_DATA from c ...

  9. Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain

    一服务器上的数据库全部被置于紧急模式(EMERGENCY),在错误日志里面能看到大量下面的错误 Failed to create AppDomain "YourSQLDba.dbo[runt ...

  10. winform(四)——简单计算器制作

    效果图: 代码区: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...