深入浅出VMware的组网模式

转载 2012年03月23日 23:04:04

深入浅出VMware的组网模式

2038人阅读 评论(8) 收藏 举报
大家都知道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并没有桥接任何宿主机上的任何物理网卡。

深入浅出VMware的组网模式

大家都知道VMWare的三种组网模式,分别为Bridge,NAT,Host-Only。VMWare认为使用这三种组网模式则可以搭建出任意的网络拓扑了,事实上也正是如此。如果你对网络很精通,那么应该很容...
  • blakegao
  • blakegao
  • 2013年09月23日 21:08
  • 574

深入浅出VMware的组网模式 .

大家都知道VMWare的三种组网模式,分别为Bridge,NAT,Host-Only。VMWare认为使用这三种组网模式则可以搭建出任意的网络拓扑了,事实上也正是如此。如果你对网络很精通,那么应该很容...
  • u011650620
  • u011650620
  • 2013年08月10日 00:34
  • 212

VMWare组网攻略

在实际情况中,在没有现实的网络环境的情况下,常常需要模拟网络的环境,利用 VMware     可以模拟一个虚拟局域网的环境,该虚拟局域网可以供那些没有网络环境的读者来测试、实践书中所介绍的入侵与防...
  • tycoon1988
  • tycoon1988
  • 2014年07月29日 19:37
  • 449

VMWare组网模式

2012-03-17 10:25 2632人阅读 评论(9) 收藏 举报 大家都知道VMWare的三种组网模式,分别为Bridge,NAT,Host-Only。VMWare认为使用这三种组网模式...
  • TomMengdle
  • TomMengdle
  • 2012年03月26日 09:35
  • 423

VMware的组网模式详解

原文地址:http://blog.csdn.net/dog250/article/details/7363534 这个博客对网络相关的东西讲得很不错 大家都知道VMWare的三种组网模式,分别...
  • ricky_hust
  • ricky_hust
  • 2012年08月25日 21:50
  • 563

深入浅出设计模式(十四):23种设计模式概念总结

创建型模式 5种1.单例模式(Singleton)单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。eg.数据库。连...
  • liuquan0071
  • liuquan0071
  • 2016年02月25日 17:47
  • 3911

负载均衡器组网

原则: 保证连接的完整性; 满足业务需求,提升业务性能; 方便部署,对原有网络影响越小越好,对服务器端影响越小越好,越靠近服务器越好; 组网方式分为:单臂部署、双臂...
  • u010472499
  • u010472499
  • 2017年03月22日 10:24
  • 304

深入分析VMware虚拟机的三种组网模式

深入分析VMware虚拟机的三种组网模式 时间:2012-03-23 10:45来源:未知 作者:ぺ倒計べ_時 点击:269次       大家都知道VMWare的三种...
  • luanxxy
  • luanxxy
  • 2016年12月30日 19:01
  • 162

wlan组网介绍(HW)

原文链接 http://net.zol.com.cn/424/4249406_all.html
  • wang_xya
  • wang_xya
  • 2014年07月22日 14:32
  • 1773

VMware Workstation学习之路——网络设置——仅主机模式

本篇博客只是为了记载自己在学习VMware Workstation的过程中所做的记录,以便以后查看,如果没有解决您的问题,小编我深感抱歉。如果能后解决您出现的问题,小编我甚是激动。 仅主机模式: 当装...
  • duanxiong2014
  • duanxiong2014
  • 2016年05月17日 16:09
  • 714
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入浅出VMware的组网模式
举报原因:
原因补充:

(最多只允许输入30个字)