这两天在研究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获取Table-Input控件值封装

  2. TinyMCE添加图片 路径自动处理成相对路径

    默认情况下会自动转换你的图片路径如: 转换: /path/name.jpg 为 ../path/name.jpg 带有域名的路径也会被转换为相对路径. 需要修改一个设置convert_urls,官方文 ...

  3. JQ基础之选择器

    JQ选择器与CSS/CSS3选择器非常类似,对于学过CSS/CSS3的朋友来说可以是快速上手,下面总结了比较常用的选择器. ID选择器 $('#one') ( '#'代表ID ) CLASS选择器 $ ...

  4. 轻松掌握:JavaScript代理模式、中介者模式

    代理模式.中介者模式 代理模式 在面向对象设计中,有一个单一职责原则,指就一个类(对象.函数)而言,应该仅有一个引起它变化的原因.如果一个对象承担了过多的职责,就意味着它将变得巨大,引起它变化的原因就 ...

  5. Java线程

    线程 线程 线程(Thread)是控制线程(Thread of Control)的缩写,是程序运行的基本单位,它是具有一定顺序的指令序列(即所编写的程序代码).存放方法中定义局部变量的栈和一些共享数据 ...

  6. 从头开始构建LINUX [LFS 脚本]

    脚本共享在这 http://pan.baidu.com/s/1nt6yiH7 version-check.sh : 这个是检查HOST机器的软件依赖情况 host-dep.sh:针对ubuntu10_ ...

  7. 隐藏tabbar的属性hidesBottomBarWhenPushed

    项目中有需求是A视图控制器push之后B视图控制器需要隐藏底部的tabbar,在pop之后A视图控制器仍然显示tabbar. 其实不需要在push操作时敲 self.hidesBottomBarWhe ...

  8. textview设置drawable

    textview可以在上下左右四个方向添加图片,同时也可以动态改变这些图片:   下面有我写的一个例子: 在xml文件中:  <TextView                 android: ...

  9. Android项目实战(二十七):数据交互(信息编辑)填写总结

    前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: 先写实现过程,想要学习的同学可以看看,不需要的同学可以直接拉到最下 ...

  10. Mac 下安装Jenkins

    Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动 ...