来源于:http://www.aneasystone.com/archives/2015/04/three-network-modes-of-vmware-in-action.html

一、实验目的

最近在使用VMware搭建虚拟网络环境时遇到了很多问题,经过对VMware网络模式的一番学习和实战,总算是对其有了一定的认识。所以决定完成一次比较完整的针对VMware网络配置的实验,并写下这篇博客记录整个实验的过程。在进行虚拟机实验时,我们往往关注下面这三个问题:

  • 虚拟机和主机能不能互相访问
  • 虚拟机能不能访问Internet
  • 外部网络如何访问虚拟机中的服务

我们会通过后面的实验分别利用VMware的不同网络模式来解决这三个问题。VMware提供了三种不同的网络模式,分别是Bridged(桥接模式)、NAT(网络地址转换模式)、Host-only(主机模式)。不同的网络模式适用于不同的网络环境,实现不同的需求,你需要根据实际情况选择合适的模式。 就网络环境来说,我们常见的家庭网络拓扑结构有下面两种:

  • 主机通过拨号直接连接Internet
  • 主机处于局域网环境中,通过路由器拨号连接Internet

如果你是属于第一种网络环境,由于是ISP分配你的公网IP(假设只有一个地址),则不能使用桥接模式,因为桥接模式需要你拥有属于你机器相同网段内的另一个IP地址。这种情况下可以使用NATHost-only。而如果是属于第二种网络环境,则三种模式可以任意选用。 就需求来说,你可能只是想简单配置一个虚拟机来玩玩,也可能是为局域网内的其他机器提供服务,或者是进行一些特殊目的的网络实验,这个就要具体情况具体对待了。

二、实验环境

本次实验软硬件环境如下:

  • 操作系统:Windows 7 旗舰版(32位)
  • CPU:Intel(R) Core(TM) i3
  • 内存:4G
  • 虚拟机:VMware® Workstation 8.0.0 build-471780

网络环境为家庭局域网,由路由器通过PPPOE拨号上网,如下图所示:

三、实验步骤

了解了我们的需求和网络环境之后,就开始我们的实验之旅吧。首先是下载并安装VMware Workstation,然后下载虚拟机上需要的操作系统镜像,并安装到虚拟机中。我这里创建了三个虚拟机,分别是Windows XP、Ubuntu和Backtrack操作系统。

3.1 桥接模式

桥接模式是三种模式中最简单的一种,VMware安装的时候默认就使用这种配置方式。在这种模式下,虚拟机相当于局域网中的一台独立机器,和主机处于同一个网段,公用同一个网关。桥接模式使用的是虚拟机的VMnet0网卡,一般情况下,在虚拟机中将网络设置成自动获取IP就能直接联网。示意图如下:

在桥接模式下,虚拟机和主机可以互相ping通,虚拟机可以访问Internet,虚拟机上的服务也可以通过虚拟机IP地址在本机直接访问,如果有任何问题,可以按下面的步骤检查各个配置:

  1. 检查本地连接的属性里,是否勾选了VMware Bridge Protocol,如果没勾选上,则虚拟机和本机不能互相ping通,如下图:

  1. 检查虚拟机的IP地址,看是否和本机处于同一个网段内,如果不是,可以手工设置下IP地址,网关和DNS服务器配置可以参考本机,和本机一样即可
  2. 检查本机防火墙和虚拟机防火墙

3.2 NAT模式

上面也说了,如果你不在局域网内,只有一个IP,那么NAT模式正适合你。当然如果你在局域网内,NAT模式也未尝不可,不过使用NAT模式后,主机就变成了双网卡:本身的网卡连接Internet或连接拨号的路由器,另一个虚拟网卡VMnet8连接由虚拟机组成的一个虚拟网络。从外部网络来看,无法直接访问这个虚拟网络。虚拟网络则通过本机上的NAT虚拟服务器进行转发访问Internet。示意图如下:

NAT模式是让虚拟机实现访问Internet最快的方式,几乎不用任何配置,只要主机能上网,那么虚拟机也就肯定能上网。如果有任何问题,可以通过下面的步骤进行排查:

  1. 检查主机上VMware的NAT服务和DHCP服务是否开启,如下图:

  1. 检查虚拟机的IP地址,是否和虚拟机NAT配置的Subnet Address在同一个网段内,选择Edit -> Virtual Network Editor可以看到NAT的配置信息
  2. 检查主机和虚拟机的防火墙设置 默认情况下,NAT配置好之后,主机和虚拟机之间应该可以互相访问,虚拟机也可以借助主机上的NAT访问Internet,但是外部网络无法访问虚拟机上的服务。如果需要让同一个局域网内的其他机器(譬如:192.168.0.100)访问虚拟机上的WEB服务,可以通过NAT的端口转发(Port Forwarding)功能来实现,如下图。具体的配置细节可以看参考链接

3.3 Host-only模式

Host-only模式和NAT一样,也相当于主机双网卡,网络拓扑和NAT也是一样,只是主机不提供NAT功能了,所以虚拟网络只能和主机访问,不能访问Internet。如果需要一个完全隔离的网络环境,则Host-only最合适不过。Host-only相当于使用双绞线直接连接虚拟机和主机,这是最原始的网络结构,当然也是最灵活的。这种情况下虚拟机就不能访问Internet了吗?局域网下的其他机器就不能访问虚拟机上的服务了吗?当然不是。如果我们自己在主机上搭建起我们自己的NAT服务和DHCP服务,那么Host-only其实和NAT是一样的。从下面的示意图也可以看出,Host-only和NAT的唯一区别就在于,主机上少了NAT这个部分。

类似于NAT,具体的配置这里略过。下面通过Windows上的ICS服务(Internet Connection Sharing,Internet连接共享)来实现Host-only模式的虚拟机访问Internet。ICS是Windows上的一种共享网络访问的服务,类似于mini版NAT,提供了NAT地址转换和DHCP的功能,但不支持端口转发(Port Forwarding)。 首先在网络连接里找到当前正在使用的连接,选择属性 -> 共享,选中“允许其他网络用户通过此计算机的Internet连接来连接”,然后在网络连接下拉框中选择Host-only对应的虚拟网卡(这里是VMnet1),如下图:

在确定的时候,可能会弹出对话框提示错误:“Internet连接共享访问被启用时,出现了一个错误(null)”,这时去服务中找到Windows Firewall,启动即可。 ICS配置好之后,Host-only就和NAT一样了,在虚拟机中设置自动获取IP或手工设置IP,保证和VMnet1处于同一个网段内,如果一切顺利,就可以在虚拟机中访问Internet了。

四、总结

通过这次的实验,重新学习并巩固了计算机网络的相关知识。特别是NATPort Forwarding,是网络管理中很重要的手段。虽然模式各不相同,但是在局域网环境下,通过各种技术手段,最终都能实现相同的目的:虚拟机和主机互相访问(三种模式都可以),虚拟机访问Internet(Bridged和NAT直接可以访问,Host-only通过ICS也可以),外网访问虚拟机上的服务(Bridged直接访问,NAT通过端口转发也可以,Host-only通过架设自己的NAT服务也应该可以)。 本次实验环境比较简单,也没有考虑双网卡的情况,可以参考下面的链接进一步研究。

实战VMware的三种网络模式的更多相关文章

  1. VMware 虚拟机三种网络模式详解

    一.前言 Vmware 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-only(仅主机模式). 二.VMware 的几个常见虚拟设备 打开 V ...

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

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

  3. vmware虚拟机三种网络模式详解_转

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于L ...

  4. Vmware虚拟机三种网络模式详解

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...

  5. 四、Vmware虚拟机三种网络模式详解

    转载自: http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 1. ...

  6. vmware虚拟机三种网络模式的区别

    首先安装了VMware,在其中安装了Ubuntu系统,正常启动之后开始考虑怎么才能够让主机和虚拟机实现网络互连并且由主机向虚拟机发送文件,通过在网上查阅相关资料,记录学习笔记如下. 学习参考资料: l ...

  7. 【转】VMware虚拟机三种网络模式超详解

    [原文]https://www.toutiao.com/i6596228488666022403/ 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那 ...

  8. 【转】VMware虚拟机三种网络模式详解

    由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations ...

  9. Vmware虚拟机三种网络模式详解(转)

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...

随机推荐

  1. 如何同步两台Linux机器的时间?

    除了用NTP服务器之外,下面的命令可以做到让几台机器的时间都跟一台机器同步. date --set="$(ssh root@10.245.110.101 date)" 参考资料 = ...

  2. BUG的严重级别分类 BUG状态标准

    英文参考 BUG的严重级别分类 Severity This field describes the impact of a bug. Blocker Blocks development and/or ...

  3. 【站长起步】阿里云+Ubuntu+java 7+ Tomcat 7 +Nginx1.6 +Mysql 5.6

    本文记载了在阿里云ubuntu+java 镜像环境下搭建站点server环境中遇到的的错误和解决方式. 作为一个年轻人,是肯定不会去用alidata这个现成的环境的.怎么办? 所有删除.立刻创建一个 ...

  4. javascript中addEventListener(attachEvent)具体解释

    addEventListener 有三个參数:第一个參数表示事件名称(不含 on,如 "click").第二个參数表示要接收事件处理的函数:第三个參数为 useCapture.样例 ...

  5. JAVA基础编程50题(4-6题)具体解释

    一.描写叙述 1.将一个正整数分解质因数.比如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完毕: (1)假设这个质数恰等于n,则说明 ...

  6. 使用Nexus管理maven仓库,setting文件理解

    来到新公司对很多陌生的技术一头雾水,以前在工作中没有真正使用过maven,于是强迫自己蛋定下来一个一个的突破,下面是我对maven的setting配置文件的理解,由于是现学的,难免可能会理解偏差,还请 ...

  7. springmvc转换JSON数据

    1.引入jackson包 要想在springmvc框架下支持json的转换,需要引入jackson的包,在pom.xml中添加如下代码: <dependency> <groupId& ...

  8. Swift语言精要 - Dictionary(字典)

    字典以键值对的形式存储数据. 键不能重复,但是值可以重复. 基本语法用例: var states : Dictionary<String, String> = ["CA" ...

  9. LintCode: Longest Words

    C++ class Solution { public: /** * @param dictionary: a vector of strings * @return: a vector of str ...

  10. linux 查看网线断开 网卡是否关闭

    linux 查看网线断开 网卡是否关闭 探测是否存在网络接口:  SIOCGIFFLAGS