热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VMWare中bridged和NAT的区别

概述:VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护

概述:

VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。

1.bridged(桥接模式)

  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。

  在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

2.host-only(主机模式)

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。

  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

3.NAT(网络地址转换模式)

  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

  提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。

 

这个问题一直都没有彻底的搞清楚,心里不是很有数,Vmware中什么网桥,NAT啊,Hostonly什么的,另外还有Colinux里面的网络问题。总之很繁杂,搞清楚很有必要。

1.VMware网络连接的几种方式

        大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的)。其中VMnet1是host网卡,用于host方式连接网络的。VMnet8是NAT网卡,用于NAT方式连接网络的。它们的IP地址是随机生成的,如果要用虚拟机做实验的话,最好将VMnet1到VMnet8的IP地址改掉。习惯上把VMware虚拟网卡使用的网段“固定”,使用如下原则:VMnet1对应的网段是192.168.10.0,VMnet2对应的网段是192.168.20.0,其他的类似。当然平常只是随便用用的就不用改了,能上网就行了。

        网络连接的方式主要有:Bridged(桥接)、NAT、host(主机网络)。

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定   Usebridged networking(使用桥接网络)

说明:使用VMnet0虚拟交换机,此时虚拟机相当与网络上的一台独立计算机与主机一样,拥有一个独立的IP地址。

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定

使用桥接方式,A,A1,A2,B可互访。

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定   Usenetwork address translation(NAT)

说明:使用Vmnet8虚拟交换机,此时虚拟机可以通过主机单向网络上的其他工作站,其他工作站不能访问虚拟机。

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定

使用NAT方式,A1,A2可以访问B,但B不可以访问A1,A2。但A,A1,A2可以互访。

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定    UseHost-Only networking(使用主机网络)

说明:使用Vmnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互访。也就是不能上Internet

vmware中的网络(bridge,nat) - undemon - 对自己的最佳肯定就是对自己的不断否定

使用Host方式,A,A1,A2可以互访,但A1,A2不能访问B,也不能被B访问。

   实际应用:现在最普遍使用的是宽带,使用桥接方式,主机必然可以上网,但是虚拟机上的操作系统是不可以上网的。此时你的主机就相当于A,而虚拟机就相当于A1,除非你再向运营商(如电信,网通)申请个IP地址,显然这是不可取的。如果你有路由器的话,那么就可以使用桥接方式上网,因为此时你申请的IP地址是写在了路由器上,而不是你的机器上,这样包括你的主机,虚拟机,也包括连在路由器上的其他人的机器,都将可以上网,使用着由路由器自动分配的IP地址,IP地址一般是192.168.0.XXX。貌似运营商不太乐意你使用路由器,说什么对他们交换机的接口有损害。当然,只要你的主机可以上网,使用NAT方式,虚拟机总是可以上网(当然不包括在你胡乱改写IP,网关,DNS等信息的情况下)。

   实例手动设置:假设主机的VMnet1使用网段地址为192.168.10.0,VMnet8使用网段地址为192.168.80.0,网关地址为192.168.80.254(也就是NAT路由器地址,可自己设置,在VMnet8上),主机网卡使用地址为192.168.1.1。

一、使用桥接方式,虚拟机A1的IP地址可以设置成192.168.1.5(与主机网卡地址同网段的即可),其他的诸如网关地址,DNS,子网掩码均与主机的相同。

二、使用NAT方式,虚拟机A1的IP地址可以设置成192.168.80.5(与VMnet8使用相同的网段),网关是NAT路由器地址,即192.168.80.524

三、使用host-only方式,虚拟机A1的IP地址可以设置成192.168.10.5(与VMnet1使用相同的网段)

说明:一般用户不需要自己手动设置,选择自动获取,或开启DHCP服务即可。

 

2.第二套说法

很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正。

bridge:

这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。

在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。

使用这种方式很简单,前提是你可以得到1个以上的地址。对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了。

nat方式:

这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8。

你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务。更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的。

很显然,如果你只有一个外网地址,此种方式很合适。

hostonly:

这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验。和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,模认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义。

默认情况下,也会有一个dhcp服务加载到vmnet1上。这样连接到vmnet1上的虚拟机仍然可以设置成dhcp,方便系统的配置.

是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:

a。使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一。

b。使用自己的nat,方便加入防火墙。windowshost可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windowsserver里的nat服务。

c.使用自己的防火墙。因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间。

从以上可以看出,hostonly这种模式和普通的natserver带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等。

 

3.第三套说法

VMware支持三种类型的网络:NAT,Bridged,Host-only。

NAT

这种方式下,虚拟机的网卡连接到宿主的VMnet8 上。此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。VMWare DHCPService 负责为虚拟机提供 DHCP 服务。


Bridged

这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系。


Host-only

这种方式下,虚拟机的网卡连接到宿主的VMnet1 上,但系统并不为虚拟机提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到实际网络上。


 

replicate physical network connection state 选项解释:

Select if the virtualmachine uses a bridged network connection and if you use thevirtual machine on a laptop or other mobile device. As you movefrom one wired or wireless network to another, the IP address isautomatically renewed.
单机多网卡 或者 笔记本和移动设备使用虚拟机时,当在有线网络和无线网络切换时,勾选了Replicate physicalnetwork connection state,虚拟机网卡的ip地址会自动更新,不需要重新设置。





推荐阅读
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • 华硕笔记本无法开启热点的解决办法
    当您的华硕笔记本电脑无法开启热点时,可能是因为多种原因导致的。本文将详细介绍几种有效的解决方法,帮助您快速恢复热点功能。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • 本文详细介绍了如何在Linux系统中使用nslookup命令查询DNS服务器地址,这对于Linux服务器的运维管理是非常重要的基础知识。 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
author-avatar
123AJAgjt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有