安装好VMwareWorkstations之后,进行虚拟机网络配置时有四种网络连接方式,桥接、仅主机、NAT、LAN区段。

之所以有不同的模式,在我看来是为了满足不同的网络需求,总的来说:桥接、NAT能够满足虚拟机连接外网的需求,而仅主机模式则不能连接外网,但是能实现与物理机之间的通信。
安装好VMwareWorkstations之后会默认生成两个虚拟网卡,打开网络和共享中心如下,VMnet1用作hostonly模式,VMnet8用作NAT模式:

四种网络连接方式的区别如下:
1.桥接模式
桥接模式分为两种,一种是直接把虚拟机的网卡接到物理网络,如下图:

这种方法是虚拟机的网卡直接与物理机网卡进行通信。对于Windows的虚拟机而言可能非常方便,不用考虑太多,用在Linux虚拟机中同样也行,但是不建议采用这种方法,不利于维护,有时候虚拟机可能无法连接到互联网。
另一种方法是通过一个虚拟网络进行桥接,如下图:

打开虚拟网络编辑器(菜单栏,“编辑”–“虚拟网络编辑器”):

该种方式相当于在虚拟机网卡与物理机物理网卡直接加一个虚拟网络VMnet0,VMnet0可以选择桥接的网卡是有线网卡还是无线网卡,或者是自动选择。比如物理机是通过无线网卡上网的,此时VMnet0选择了有线网卡,肯定就不能实现联网。个人经验是选择“自动”,让VMnet0自动选择能够上网的网卡。
“桥接”是虚拟机的网卡直接把数据包交给物理机的物理网卡进行处理,虽然可以直接与外界进行通信,但是虚拟机必须有自己的IP地址、DNS、网关等信息。此时,物理机和虚拟机的地位是一样的。举个例子:物理机是房东、虚拟机是房客、物理机的网卡是大门,房东和房客都能通过大门,但是各自都有钥匙,互不影响,只是大门的所有者是房东而已。

如图VMnet0起到个对物理网卡选路的功能。
可采用桥接的情景:物理机所处的网络中有DHCP服务,能够自动为网络内的主机分配IP地址。
不适合的情景:校园网,可能内部虚拟机无法联网;物理机拨号上网。

2.NAT模式
NAT(Network Address Translation),网络地址转换
相当于说在虚拟机与物理机直接添加一个交换机,相当于拥有NAT地址转换功能,能够自动把虚拟机的IP转换为与物理机在同一网段的IP。
比如虚拟机网卡连接到物理机上的虚拟网卡VMnet8,当VMnet8收到虚拟机的数据包时,会把数据包转发给物理机的物理网卡。相当于物理网卡不直接接触虚拟机的数据包,而是接触VMnet8进行处理。实际上VMnet8是NAT模式,自带DHCP功能,能够给虚拟机分配IP地址。

能够实现虚拟机与物理机之间相互通信、虚拟机到外面的网络通信,但是外面的网络不能到虚拟机通信。

3.仅主机模式(hostonly)
该模式是内部虚拟机连接到一个可提供DHCP功能的虚拟网卡VMnet1上去,VMnet1相当于一个交换机,将虚拟机发来的数据包转发给物理网卡,但是物理网卡不会将该数据包向外转发。所以仅主机模式只能用于虚拟机与虚拟机之间、虚拟机与物理机之间的通信。

4.LAN区段

LAN区段相当于说模拟出一个交换机或者集线器出来,把不同虚拟机连接起来,与物理机不进行数据交流,与外网也不进行数据交流,构建一个独立的网络。没有DHCP功能,需要手工配置IP或者单独配置DHCP服务器。

---------------------
作者:itzykang
来源:CSDN
原文:https://blog.csdn.net/tyutzhangyukang/article/details/78525086
版权声明:本文为博主原创文章,转载请附上博文链接!

VMware中四种网络连接模式的区别的更多相关文章

  1. VMWare中三种网络连接模式的区别

    VMWare中有桥接.NAT.host-only三种网络连接模式,在搭建伪分布式集群时,需要对集群的网络连接进行配置,而这一操作的前提是理解这三种网络模式的区别. 参考以下两篇文章可以更好的理解: V ...

  2. 转:VMware中三种网络连接的区别

    转自:http://www.cnblogs.com/rainman/archive/2013/05/06/3063925.html VMware中三种网络连接的区别   1.概述 2.bridged( ...

  3. VMWare共有3种网络连接模式

     VMWare共有3种网络连接模式,分别是: 1. bridged(桥接模式):虚拟机将直接连接到物理局域网,使自身独立于宿主机外,从局域网路由器获取IP.这种方式虚拟OS可以和局域网中其他终端实现互 ...

  4. VMware下三种网络连接模式

    VMware下三种网络连接模式 Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问该类网段内任何一台机器. 桥接网络环境下需要做到: 手动 ...

  5. 简单区分VMware的三种网络连接模式(bridged、NAT、host-only)

    艺搜简介 VMware在安装时默认安装了两块虚拟网卡,VMnet1和VMnet8,另外还有VMnet0.这些虚拟网卡的配置都是由Vmware虚拟机自动生成的,一般来说不需要用户自行设置. Vmware ...

  6. vmware中三种网络连接方式

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

  7. vmware中三种网络连接方式(复制)

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

  8. VMware的四种网络连接方式

    mkdir  /mn/cdrom mount /dev/cdrom /mnt/cdrom Bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类 ...

  9. VMware中三种网络连接的区别

    1.概述 大家在安装完虚拟机后,默认安装了如下图的两块虚拟网卡——VMnet1和VMnet8,其中VMnet1是host网卡,用于host方式连接网络:VMnet8是NAT网卡,用于NAT方式连接网络 ...

随机推荐

  1. ZOJ - 4082:Little Sub and his Geometry Problem (双指针)

    Little Sub loves math very much, and has just come up with an interesting problem when he is working ...

  2. HihoCoder - 1801 :剪切字符串 (置换与逆序对)

    Sample Input 6 5 11 Sample Output 6 小Hi有一个长度为N的字符串,这个字符串每个位置上的字符两两不同.现在小Hi可以进行一种剪切操作: 选择任意一段连续的K个字符, ...

  3. about Version Control(版本控制)

    what: 版本控制系统是一种软件,它可以帮助您跟踪代码随时间的变化. 在编辑代码时,您告诉版本控制系统对文件进行快照. 版本控制系统将永久保存该快照,以便在以后需要时可以收回它. 如果没有版本控制, ...

  4. 2017.7.12 Python的6种内建序列及操作

    数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构. 在Python中,最基本的数据结构是序列(sequence).序列中的 ...

  5. 线程---同步(synchronized)

    实现线程同步的一种方式介绍: 思路: 首先,需要被协调的类,先实现线程,并重写run方法 然后,在被协调的类中私有化控制器,控制器实例化,由构造器带入. 其次,由控制器对象具体负责调用. 举例:循环输 ...

  6. oracle之logminer日志分析

    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; select sysdate from dual; 执行增删操作 alter sy ...

  7. 使用Intellij IDEA新建Web项目

    在学习Servlet的过程中,发现大多数的教程都是使用MyEclipse或者Eclipse来创建Web项目,这让一直使用高逼格的LZ很是不爽,于是自己配置了一下使用Intellij IDEA新建了We ...

  8. Qt开发问答

    Qt开发问答 1, Difference between Dialog and widget and QMainWindow http://www.qtcentre.org/threads/3465- ...

  9. C++ vs Objective C

    oc Short list of some of the major differences: C++ allows multiple inheritance, Objective-C doesn't ...

  10. node api 之:stream - 流

    stream 模块可以通过以下方式使用: const stream = require('stream'); 流可以是可读的.可写的.或者可读可写的. 所有的流都是 EventEmitter 的实例. ...