深入浅出VMware的组网模式

VMWare的三种组网模式,分别为Bridge,NAT,Host-Only。VMWare认为使用这三种组网模式则可以搭建出任意的网络拓扑了,事实上也正是如此。如果你对网络很精通,那么应该很容易就可以理解VMWare的网络配置模式,然而即使如此,VMWare由于只是一个虚拟机,没有形象的拓扑展示出来。本文简单的给出三种组网模式的形象化的图示,另外,VMWare的帮助文档中也有相当详细的介绍VMNet的章节。
一.Bridge模式顾名思义,Bridge模式就是桥接模式,虚拟机里面的网卡直接桥接在宿主机的某一个物理网卡所在的网段。示意图如下:

这种方式很多时候是为懒人提供的,然而在非DHCP的情况下,很容易造成IP地址冲突,因此如果不是非要将虚拟机配置在一个网段,就不要用Bridge模式。Bridge模式的组网拓扑如下:

二.NAT模式所谓NAT模式就是将虚拟机网卡隐藏在了一个NAT设备之后,在外界看来,只能看到宿主机物理网卡,甚至连NAT设备都看不到,NAT设备默默地转换着虚拟机内部出来的连接的源地址,如下图所示:

然而,有一个细节,那就是上图中的菱形到底是如何实现的,VMWare到底如何在不同的宿主操作系统下模拟出一个一致的NAT设备的。为了实现的一致和简单,VMWare使用了用户态连接代{过}{滤}理的方式来实现NAT设备,因此NAT设备其实就是一个用户态进程,它来执行地址转换,如下图所示:

所谓的地址转换其实不是真正的IP网络意义上的地址转换,而是一个代{过}{滤}理。虚拟机里面发起的连接在宿主机的NAT进程中完全被截获,然后NAT进程偷梁换柱代替虚拟机里面的连接单独向目的地发起一个连接,随后和目的地通信,然后将数据转发给虚拟机。我们可以通过一个简单试验来说明这一点:
1.只允许本地的TCP syn包发出去,禁止任何回包iptables -A OUTPUT -p tcp --tcp-flags SYN SYN -j ACCEPT
iptables -A OUTPUT -j DROP
iptables -A INPUT -j DROP
2.在虚拟机中建立到百度的tcp连接telnet 74.125.128.94 80
3.查看宿主机上的用户态nat进程的文件描述符lsof -p 271 -n
...
vmnet-nat 271 root    7u    IPv4 0xffffff8017b62160       0t0    TCP 192.168.1.101:49256->74.125.128.94:http (ESTABLISHED)
...
4.结论虚拟机里面只能发出syn包,然而宿主机里面到74.125.128.94的连接已经建立,说明nat进程是一个用户态的连接代{过}{滤}理。同样的结论还可以通过tcp抓包来观测到,怎么观测呢?很简单,查看序列号即可,虚拟机里面抓取的数据包的序列号和确认号和宿主机上抓取的“同样连接”(实际上不是一个连接,而是被代{过}{滤}理的)的序列号以及确认号不是一致的,而我们知道,常规的NAT只修改五元素,不会修改序列号。
        可见,由于NAT是一个代{过}{滤}理,NAT模式可能会造成目的主机TCP连接统计的不准确,比如上述实验中,虚拟机明明没有连接成功目的地,然而宿主机的NAT进程却已经建立了一个TCP连接。使用NAT模式,就需要知道它所带来的一切副作用。最后NAT模式的组网拓扑如下:

三.Host-Only模式这种模式其实是最纯粹的了,虚拟机和宿主机的一块网卡(虚拟网卡)直连,仅此而已,如下图所示:

可是Host-Only模式的虚拟机如何连接外网呢?虚拟机可以将宿主机作为一台路由器来看待,如此一来,剩下的问题就是如何来配置这个路由器了。以下步骤是必须的:
1.在虚拟机中将默认网关指向宿主机的虚拟网卡vmnet1,如果你不嫌麻烦也可以配置主机路由2.打开宿主机的路由功能Linux:sysctl -w net.ipv4.ip_forward=1
Mac OS:sysctl -w net.inet.ip.forwarding=1
Windows:打开Tcpip的IPEnableRouter注册表项
3.以下方法选其一3.1.配置SNAT。Linux使用iptables配置出口网卡的SNAT;Mac OS使用natd以及ipfw配置;Windows使用网卡的“共享”上网来配置3.2.配置纯路由,主要是解决回程路由的问题,然而很多外网服务器的路由我们没法配置,因此这个只适用于实验环境Host-Only模式的组网拓扑如下所示:

四.vnnetX的含义VMWare在宿主机中虚拟了几块网卡,这些网卡实际上都是一些带有多个port的二层或者三层网络设备。本文到此为止没有谈到DHCP,实际上每种组网模式都可以有一台DHCP服务器插入这些虚拟设备的port,为虚拟机里面的网卡分配IP地址。
        默认情况下,VMWare提供了vmnet0/1/8三块虚拟网卡,vmnet0外界看不到,它实际上是一个纯链路层Bridge,该Bridge设备没有任何三层功能,该Bridge的其中一个port就是宿主机的某一块物理网卡。vmnet1专门给Host-Only来使用,vmnet8专门用于NAT,这两个虚拟网卡都有三层的功能,都可以配置IP地址,实实在在是一块宿主机上可见的网卡啊,除此之外,这两块网卡同时也是Bridge设备,只是该Brdige并没有桥接任何宿主机上的任何物理网卡。

时间: 2025-01-16 19:22:49

深入浅出VMware的组网模式的相关文章

VMware网络连接模式说明及故障排查

一.VMware网络连接模式-桥接.NAT以及仅主机模式的详细介绍和区别 VMware 桥接模式 VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同).简而言之,这就好像在上图所示的局域网中添加了一台新的.独立的计算机一样.因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问.桥接模式网络连接支持有线和无线主机网络适配器.如果

vmware中NAT模式下,虚拟机与主机能ping通 为什么虚拟机不能上网

vmware中NAT模式下,虚拟机与主机能ping通 为什么虚拟机不能上网? 方案一: 1.把虚拟机的网络连接设置为桥接或NAT都可以的2.把虚拟机和主机设置为同一网段主机网络邻居属性3.双击打开本地连接,显示本地连接状态4.选择详细信息5.查看ip地址和掩码6.在本地连接状态中选择属性7.双击打开ip协议8.勾选使用下面的ip地址,输入刚才查看的ip地址和掩码,保险起见,默认网关一定要输入(本人实验过N次) 9.关闭虚拟机"防火墙" 方案二: 桥接方式都连不上网,那有两个可能.要么是

vmware 仅主机模式 ip配置

首先关闭防火墙 主机(宿主机器 win7) 虚拟机(xp) 3..重要提示:  如果ping不通首先考虑防火墙的问题!!! vmware配置: nat模式下玩耍: 1. 配置nat的虚拟网卡: 2. 配置虚拟机的2个ip: 一个用于与真实机器进行ssh连接, 一个用于与外部网络环境进行连接下载文件,查询,浏览网页等等... 来自为知笔记(Wiz)

Datalogic组网模式下通讯

1.首先要在visiset工具下,设置好地址端口号,组网模式master slave参数: 2.打开工具hercules,选择TCP Client选项,设置参数好连接并通讯,发送打开.关闭 按钮指令,一般是1和2: 代码demo: 定义: //datalogic Socket datalogicClient = null; SocketError errorCode; IPEndPoint _remoteEndPoint = null; 初始化: IPAddress IP = IPAddress

深入浅出设计模式 ------ Prototype(原型模式)之深度克隆

继上篇深入浅出设计模式 ------ Prototype(原型模式)的浅克隆实现, 本文进入Prototype(原型模式)的进阶篇----深度克隆. 深度克隆 ---- 序列化方式实现 把对象写到流里的过程是序列化(Serilization)过程,而把对象从流中读出来的过程则叫做反序列化(Deserialization).写在流里的是对象的一个克隆(新的, 独立的), 而原对象仍存在于JVM内存模型里.因此, 以下代码采用序列化方式实现深度克隆. 第一步: 将上篇的代码做些许改动, 加入对象引用

VMWare 网络连接模式(bridged、NAT、host-only)详解

host-only 在某些特殊的网络调试环境中,如何要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式.在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的,VMWare虚拟机不能访问互联网. 提示: 在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连. 在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址.网关地址.DNS服务器等),都是由VMnet1(host-onl

Vmware虚拟机网络模式及虚拟机与物理机通信方法

Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,目前Vmware提供行业最专业的虚拟机,而Vmware虚拟机的网卡模式也分为几种,下面诚恺科技小编主要同大家一起分享VMware虚拟机网络模式以及使用何种模式完成虚拟机与物理机通信? 一.虚拟机网卡模式分类 虚拟机网卡模式,共5种,如下,在此主要讲解前三种,即桥接模式,NAT模式,仅主机模式. 二.虚拟机环境 物理机系统:win7旗舰版 虚拟机系统:RedHat6.5 虚

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

2017年1月10日, 星期二 VMware网络连接模式-桥接.NAT以及仅主机模式的详细介绍和区别 在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥接模式.NAT模式.仅主机模式.自定义网络连接模式.那么这几种网络连接模式都各自有什么主要用途,它们之间又有哪些区别呢? 磨刀不误砍柴工,为了更好地使用虚拟机,了解这几种连接模式的主要用途以及它们之

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

在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥接模式.NAT模式.仅主机模式.自定义网络连接模式.如下图 在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络.在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量