这个是rocks 群里面个人一个朋友分享的,我觉很好并且描述的很清楚,这是一个作事的态度问题。html
1 VMWare虚拟机bridged、host-only和NAT网络模式的区别和用法node
VMWare提供了三种工做模式,它们是bridged(bridged模式:对应网卡vment0)、NAT(网络地址转换模式:对应网卡vment8)和host-only(主机模式:对应网卡vment1)。三个网卡能够理解为三个通道。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工做模式。
(在Linux下面ifconfig显示eth0第一个网卡IP,(eth就是ethernet以太网,在这里指网络接口),也是vment0,装了VMware才会出现vmnet0,vment1,vment8,vment就是VMware Network Adapter(网络适配器或称网卡)的缩写,在Linux下面ifonfig的结果和windows下面装了VMware后ipconfig的结果相似)linux
1.bridged(桥接模式)apache
在bridged模式下,VMWare虚拟出来的操做系统就像是局域网中的一台独立的主机,它能够访问网内任何一台机器。在bridged模式下,你须要手工为虚拟系统配置IP地址、子网掩码,并且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通讯。同时,因为这个虚拟系统是局域网中的一个独立的主机系统,那么就能够手工配置它的TCP/IP配置信息,以实现经过局域网的网关或路由器访问互联网。windows
使用bridged模式的虚拟系统和宿主机器的关系,就像链接在同一个Hub上的两台电脑。想让它们相互通信,你就须要为虚拟系统配置IP地址和子网掩码,不然就没法通讯。服务器
若是你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择bridged模式。网络
这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不一样地址相似,其实是将网卡设置为混杂模式,从而达到侦听多个IP的能力。app
在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,能够想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。ide
使用这种方式很简单,前提是你能够获得1个以上的地址。对于想进行种种网络实验的朋友不太适合,由于你没法对虚拟机的网络进行控制,它直接出去了。工具
2.NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,经过宿主机器所在的网络来访问公网。也就是说,使用NAT模式能够实如今虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,没法进行手工修改,所以虚拟系统也就没法和本局域网中的其余真实主机进行通信。采用NAT模式最大的优点是虚拟系统接入互联网很是简单,你不须要进行任何其余的配置,只须要宿主机器能访问互联网便可。
这种方式也能够实现Host OS与Guest OS的双向访问。但网络内其余机器不能访问Guest OS(能够加端口映射吗?没有试过),Guest OS可经过Host OS用NAT协议访问网络内其余机器。NAT方式的IP地址配置方法是由VMware的虚拟DHCP服务器中分配一个IP ,在这个IP地址中已经设置好路由,就是指向192.168.138.1的。
若是你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
这种方式下host内部出现了一个虚拟的网卡vmnet8(默认状况下),若是你有过作nat服务器的经验,这里的vmnet8就至关于链接到内网的网卡,而虚拟机自己则至关于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8。
你会发如今这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可使用dhcp服务。更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,因此这种状况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的。(这个路由IP也存在,就是网关IP,DNS Server IP也是这个。跟Host OS vmnet8查到的IP在一个网段内。好比,若是要静态设置的话就设置网关、DNS IP为192.168.2.1,而其余动态分配或设置成192.168.2.X)很显然,若是你只有一个外网地址,此种方式很合适。
3 host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,全部的虚拟系统是能够相互通讯的,但虚拟系统和真实的网络是被隔离开的。
提示:在host-only模式下,虚拟系统和宿主机器系统是能够相互通讯的,至关于这两台机器经过双绞线互连。
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
若是你想利用VMWare建立一个与网内其余机器相隔离的虚拟系统,进行某些特殊的网络调试工做,能够选择host-only模式。
这应该是最为灵活的方式,有兴趣的话能够进行各类网络实验。和nat惟一的不一样的是,此种方式下,没有地址转换服务,所以,默认状况下,虚拟机只能到主机访问,这也是hostonly的名字的意义。
默认状况下,也会有一个dhcp服务加载到vmnet1上。这样链接到vmnet1上的虚拟机仍然能够设置成dhcp,方便系统的配置。
是否是这种方式就没有办法链接到外网呢,固然不是,事实上,这种方式更为灵活,你可使用本身的方式,从而达到最理想的配置,例如:
a。使用本身dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一。
b。使用本身的nat,方便加入防火墙。windows host能够作nat的方法不少,简单的如windows xp的internet共享,复杂的如windowsserver里的nat服务。
c. 使用本身的防火墙。由于你能够彻底控制vmnet1,你能够加入(或试验)防火墙在vmnet1和外网的网卡间。
从以上能够看出,hostonly这种模式和普通的nat server带整个内网上网的情形相似,所以你能够方便的进行与之有关的实验,好比防火强的设置等。
提VMware Host only工做方式
在这种工做方式下,Guest由DHCP服务器分配IP地址。而且能够在192.168.222.X之间保持通讯。可是在Guest机器上并不能Ping通Host的172.16.1.210这个地址。由于通讯被限制在主机(因此叫作Host Only)。这种方式看起来是很像NAT方式,可是在这种方式下Guest只能和Host之间通讯,而不能同在局域网的计算机进行通讯,除非在HOST上作转发或路由。
示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不须要用户自行设置。VMnet8和Mnet1提供DHCP服务,VMnet0虚拟网络则不提供。#P#
VMware三种网络链接上网设置
1.bridge :
默认使用vmnet0
将虚拟机的ip设置与主机同网段未使用ip,其他与主机相同:
例如主机ip是192.168.2.46,设置虚拟机ip为192.168.2.254。netmask,broadcast,gateway,dns都与主机
相同便可实现虚拟机<--->主机虚拟机<---->互联网通讯。
2.nat :
默认使用vmnet8
DHCP:默认的状态下是DHCP。
只要物理机能连通网络,虚拟机也就能够连通的
手动设置:
(这一点很重要,你要以在物理机的网络属性下打开vmnet8的属性,查看其默认的地址。但不要更改哦)ip设置与vmnet8同网段,gateway设置成vmnet8的gateway(xxx.xxx.xxx.2)中能够查到vmnet8的gateway,一般是edit->virtualnetwork Editor->Host Virtual Network Mapping ,找到VMNET8,单击左箭头的图标,选取NAT,你就能够看到Gateway netmask,broadcast设置与vmnet8相同,dns设置与主机相同。(DNS省也可,他会自动让网关转换解析)例如 vmnet8 ip:192.168.187.1gw :192.168.187.2 这里是系统的默认,不能够更改的哦。
虚拟机设置: ip:192.168.187.254 gw: 192.168.187.2 dns:(空)或者:202.102.224.68 (实际上,你们想一想,这样的设置实际上和DHCP分配是同样的,没有什么特别,也显得没有什么意义)
注意:nat方式相似于路由器(就像云计算实验室的路由器同样,外网访问不过来机群的node某节点,除非作nat映射),因此vmware workstation设置了nat后虚拟机是能够上网的,可是外网访问不过来(除非作端口映射,下文中有讲解)
3.host-only :
默认使用vmnet1
DHCP:默认下是DHCP
组成与独立的与物理网络相隔离的虚拟网络
但有一点是能够和宿主机器通讯。
固然你能够手动指定IP,但网头一要选择VMNET1的IP哦
详解:
host-only这种模式下是独立主机的模式,意思是不能够和外界通讯的。可是咱们能够这样理解,这种模式使用的是vmnet1,也就是一台虚拟的交换机。
不能上网的缘由分析:
虚拟机自己是根据自身的DHCP分配的IP,自己和物理机不是一个段内的。你们要问了,若是手动分配与物理机机段内的IP与相同的DNS解析不就能够了吗??可是告诉你们这样也是不能够的。没有桥接与NAT这些共享与转换IP的模式,也是连不通的(这只是个人我的理解。)难道就不能上网了吗?看看就知道了。
上网:
1、在物理主机的本地链接设置对 vmnet1的共享(必定要是vmnet1哦,为何不用我说了吧^_^)这样vmnet1链接的IP也就变成了192.168.0.1,这和咱们平时物理机的共享链接是同样
2、手动设置与物理机相同段内的IP,与相同的DNS解析(或者是物理主机的IP),网关设为
192.168.0.1
例:HOST(VMNET1):192.168.0.1 NETMASK 255.255.255.0
GUEST: 192.168.0.2 NETMASK 255.255.255.0DNS 192.168.0.1
说白了,咱们利用的也只是把虚拟机看成物理机来进行的共享的网络设置,在这里问一下,那么若是用代理呢,想一想吧,不要什么都问我哦。我也是在学。
在这里咱们主要是理解下下虚拟机的链接与主机链接的一个默契。不正确的地方你们更正补充吧。
2 外网访问VMware Workstation中经过NAT联网的虚拟机
目的
实现从主机或主机所在网络其余主机访问虚拟机资源,例如访问虚拟机里面搭建的WEB站点等。
背景
主机:Windows 7(64bit)
虚拟工具:VMwareWorkstation 7.1
虚拟机:UbuntuLinux 10.4(32bit)
主机IP:192.168.1.100
虚拟机IP:192.168.174.128
过程
1.虚拟工具设置虚拟机经过NAT联网,以下图所示,若主机能上网,虚拟机里面该也能上网。
2.虚拟机里面站点建好,例如Tomcat建立的默认站点:http://localhost:8080/,打开以下图所示。
3.打开“Edit”→“VirtualNetwork Editor”,选择NAT方式的那张虚拟网卡,以下图所示。
4.打开“NAT Setings”→“Add”,增长影射结果以下图所示。
实现过程以下。
(1)打开“Add”以下图所示。
(2)往“Host port”中填入想其余机器访问用的端口号,例如主机IP为192.168.1.100,若将“Host port”设为332538859,则访问Tomcat的URL则为:http://192.168.1.100:332538859。这里将“Host port”设为8080。
(3)往“Virtual machine IP address”中输入虚拟机的IP地址(能够用ifconfig-a查看到),例如192.168.174.128。
(4)往“Vitual machine port”中输入虚拟机里资源端口号,例如Tomcat搭建的站点默认端口号为8080,那么这里就输入8080。(看来若是是搭建其余的东西,则须要搞到默认端口号)
(5)往“Description”中输入对该端口影射的注释信息,例如输入“虚拟机里面的Tomcat端口影射”之类的描述都是能够的。
(6)设置好后,最好保存并应用。
5.经过本主机访问虚拟机里面的Tomcat站点,输入网址:http://localhost:8080便可打开网页以下所示(???是输入http://192.168。1.100:8080吧)。若要从主机所在网络的主机访问虚拟机里面的Tomcat站点,则须要指定主机地址,例如主机地址为192.168.1.100,那么访问的URL为:http://192.168.1.100:8080。
后记
曾经配置成功过虚拟机端口影射,今晚忽然须要用到这个功能,一时想不起来,从网上搜索了一番,花了很多时间才找到答案,一来本身搜索不够聪明,二来搜索引擎搜索也不够聪明,因而浪费了很多时间。
对于曾经作成功过的事,若能记录下来,以备他日查阅,该更有意义。一来本身能够避免犯二错,二来本身作成功的事情能够与其余任何人共享,都是一件及其有乐趣的事情。
——于2010年10月9日凌晨
apache安装在虚拟机上,经过局域网的ip地址可以在本机上对它进行访问,可是在外网就不能经过外网的IP地址对它进行访问了。apache的端口我已经改为了8000,虚拟机用的是Ubuntu9.10操做系统,防火墙也关掉了,不知道有没有办法让外网访问个人apache啊。
1 你的虚拟机的网络要使用桥接方式. 若是不是桥接方式而是NAT 则要在虚拟机网络设置里为你的虚拟机添加端口映射 .
(这说明虚拟机作服务器提供对外服务,简单方法是桥接,若是没有IP的话,就用NAT+端口映射去实现)
2 在你的外网路由器上要将端口映射到你的虚拟机获取的IP上(这是桥接方式时), 若是不是桥接方式. 那就要把外网路由器的端口映射到你本机的端口上.
3 关掉本机及虚拟机的网络防火墙. 若是不想关, 则要在网络纺火墙里添加相应的规则, 以便让数据能正确到达虚拟机.
又见:VMware_Workstation实例二:单IP的虚拟机提供外网访问
2008年,我写了一篇如何设置VMware Workstation虚拟机的双网卡来实现让外网访问虚拟机,此后有很多朋友给我发邮件或是留言,询问单网卡局域网下或是单公网IP下如何实现相似功能。在我一一进行答复后,内心头就想写一篇来解答朋友们的疑问。时隔两年多后,我们来分享VMware Workstation虚拟机单网卡单公网IP下实现让外网访问虚拟机的方法。
首先呢,通常状况下,除了机房托管的机器外,单位或是我的家庭等的网络服务器通常会比较少直接分配公网IP,三种网络模式简图以下:
知道了以上的网络拓扑结构后,我们要作的事情就很清晰了。首先,了解VMware三种网络模式的区别在哪里。其次,根据不一样的网络环境,使用不一样的VMware网络设置:
家用和公司或单位,由于机器处于内部局域网,能用的IP地址比较多,所以能够采用默认的Bridged方式,Bridged方式通常无需设定,创建虚拟机的时候一路next,默认的就是Bridged方式。若是要实现双网卡模式,能够参考我上一篇文章:《VMware Workstation虚拟机实例:让外网访问虚拟机》。
本文重点,也是众多朋友询问过的:机房里单IP的服务器安装虚拟机给外网提供服务的模式。也就是上方图片中的模式3。这种模式下,因为IP地址惟一,没法使用Bridged方式了。Host-Only模式为全封闭的模式,只能访问到宿主(Host),甚至连外网都没法连通,因此Host-Only模式排除掉。因而,咱们眼里就剩下NAT模式了。
根据上面的分析,我们的思路很明确。就是使用VMware 的NAT网络模式。那么接下来主要有以下两个要点:
使用VMware的NAT网络模式后,找到虚拟机的IP地址。虚拟机的网卡为DHCP模式,请进入虚拟机内查到虚拟机的IP地址,好比本文中的例子是Ubuntu的虚拟机,下图中的红圈内的就是虚拟机的IP地址:
在VMware Workstation主界面上点“编辑”-“编辑虚拟网络”,以下图:
打开VMware Workstation的虚拟网卡编辑界面。
找到模式是NAT的那张虚拟网卡,点中后,再点下面的NAT Settings… 以下图红圈位置:
在NAT Settings的标签页中,找到Port Forwarding的内容,按以下图的红圈中的那个Add按钮开始添加:
在弹出的标签中,从上到下填写和选择宿主监听的端口、端口协议类型、虚拟机的IP地址、虚拟机监听的端口、描述。设置好后,一路按OK回到虚拟机主界面便可。下图是我虚拟机对外开放HTTP服务的80端口的设置图:
须要注意,如此设置的时候,Host port的端口必须是宿主并未监听的端口,不然会出错。
设置成功后,使用netstat命令便可看到宿主已经监听了咱们填写的端口,监听该端口的程序是vmnat.exe
如上设置后,剩下的就是测试了。若是是家庭或是企业,可能还须要在路由器或是防火墙上设置端口映射到宿主
通过设置后,外网访问80端口的时候,NAT的Port Forward就会把访问请求转发到虚拟机上,大体以下图:
这个比较难说清楚,不一样品牌的路由器、防火墙的设置方式都不同。我这里给出D-Link DI-624的端口映射的截图:
关于这部分的设置,你们能够去百度和google上搜索看看,有不少的教程。至于防火墙,通常都有详细的说明书或是厂家提供技术支持。
配置好了以后,还须要进行网络测试。
得知目前的外网IP地址(固定IP的用户能够胡略此步骤),打开 ip138这个网站就能够知道本身当前的IP地址。
请您网络上的朋友帮忙测试。
使用网络上一些免费的网站状态检测服务,这能够从搜索引擎上找到很多。
结束语,时隔两年,炜煜本身电脑中使用的虚拟机已经从VMware Workstation6变为VMware Workstation7了。很多朋友问的就是VMwareWorkstation7的虚拟网卡设置,其实你们仔细看图的话,会发现虚拟网卡设置这部分变化不大。另外,这篇文章写得很粗浅,目的是为了帮助你们在最短的时间内实现目标,能够说只是一个治标的方法。可是炜煜我的能力有限,工做重心也不是这个,因此面对深层次的东西就无能为力了。若是对于文章内容有任何想法,欢迎留言或是发邮件讨论。
3大话虚拟机上网之NAT篇
虚拟机之家Virtual原创 转载请注明出处 谢谢
在论坛上混了那么长时间,发现问的最多的问题仍是虚拟机如何上网。
我就我的对虚拟机的理解,把虚拟机上网最方便的也是最难理解的NAT方式和你们一块儿聊聊,由于是大话NAT,因此说的会罗嗦点,不过主要是照顾新人。:)
老鸟就赶快飞吧 呵呵
先说一点别的,作为引子
假设如今R老师带3个班的学生,分别为a班、 b班、 c班 。如今就出现了两个交流方式:
第1种交流方式:
本班内交流,好比说a班的一个同窗想和另外一个同窗交流,就能够直接在班里喊那个同窗的名字。这个就向计算机内的同一个网段的计算机的交流方式-广播。
第2种交流方式:
班与班之间的学生交流,这个时候在a班里面直接喊b班同窗名字就没做用了,由于隔着墙,根本就听不见。这个相似不一样网段的计算机没办法通讯。这个时候两个班的学生要是想交流必需要经过R老师来作传话人。这个相似于网络里的网关。a班的同窗把要说的话告诉R老师,R老师把话转告给b班的同窗。
咱们把这个例子对接到网络学习里,方便你们理解
学校=互联网
班=网段
学生=计算机
老师(传话人)=虚拟的NAT服务器
很差意思 女友叫我上街 ,先写到这,下次接着写
还有什么虚拟机的知识, 要我大话的,请在下面跟贴说明
对不起你们了,我回来晚了 接着上次的写
虚拟机用NAT上网的方式和我举例子中的第2种交流方式很类似。
桥接则和第1种交流方式很是吻合。
好比说你安装了虚拟系统而且选择是Nat模式,虚拟的NAT服务器就象R老师的做用同样。负责虚拟机(a班的同窗)和因特网上的计算机(c班的同窗)通讯。
画个小图1给你们说明
有了图就说的方便多了
nat的上网方式的特色
1.主机的虚拟网卡不用设置(默认为自动得到)
2.虚拟系统中的网卡不用设置(默认为自动得到)
这条两个实现的前提是虚拟的dhcp服务器正常工做 给你们图2
在看一个关于nat的图3
看了这个3个图后,你们基本上也就明白了。可是这样没有说服力,下面我再来作个解释
其中192.168.2.2至关与R老师的地位,在图1就标有虚拟NAT服务器
图3规定了NAT的ip地址。
主机的ipconfig 图4
虚拟机的ipconfig图5
如今用一个命令trcert 说明虚拟机上网是经过NAT服务器 192.168.2.2
Tracert命令用来显示数据包到达目标主机所通过的路径,并显示到达每一个节点的时间。命令功能同Ping相似,但它所得到的信息要比Ping命令详细得多,它把数据包所走的所有路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。
咱们如今在虚拟机上trcert 百度 看看虚拟机的数据包书如何到达baidu.com
看看里面有没有192.168.2.2(虚拟的nat服务器)
图6
VMware虚拟网络相关知识
1.虚拟网桥
经过虚拟网桥把虚拟机的虚拟网卡链接到宿主机的物理网卡上。经过它能够将虚拟机链接到宿主机所在的外部网络。若是宿主机上不止是一个物理网卡时,采用定制配置,建立另外的虚拟网桥用来链接宿主机上的其它物理上网卡。
2.宿主机虚拟网卡
安装完虚拟机后,咱们右键“网上邻居” /属性 /在打开的“网络链接”窗口里看到两块网卡,默认状况下“VMware Network Adapter VMnet1”供仅宿主机网络使用;“VMware NetworkAdapter VMnet8”供NAT网络使用。右键这两个网卡的属性,咱们能够在常标签下看到虚拟网卡的全称。固然咱们也能够在宿主机的“命令提示符”中输入ipconfig获知宿主机虚拟网卡的详细信息
3.NAT设备
NAT是网络地址翻译的简写。当宿主机在外部只拥有一个IP时,利用NAT设备,虚拟机能够链接到该外部网络,咱们打开宿主机上的“管理工具”里的“服务”,能够发现多出了一个“VMware NAT Service”服务,说明系统已经将它安装为系统服务。
4.VMware DHCP服务
DHCP是动态主机配置协议简写。DHCP服务为没有桥接到外部网络的虚拟机提供IP地址。采用桥接网络模式的虚拟机IP地址就是直接由宿主机所在外部网络的DHCP服务器提供的。
[原创]VMware提供的虚拟网卡图示
一些初学者对VMware虚拟机中的桥接、VMnet1(仅host方式)、VMnet8(NAT方式),我把VMware各网卡的意义作了三张图,但愿对你们有所帮助。
显示不全,请你们另存观看。
4 vmware虚拟机nat模式共享上网
至此 虚拟机教程描述就到这里
本文出自 “坚持就是胜利” 博客,请务必保留此出处http://lilinji.blog.51cto.com/5441000/1264307