VMware网络连接模式桥接、NAT以及仅主机模式的详细介绍和区别

在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥接模式、NAT模式、仅主机模式、自定义网络连接模式。那么这几种网络连接模式都各自有什么主要用途,它们之间又有哪些区别呢?

磨刀不误砍柴工,为了更好地使用虚拟机,了解这几种连接模式的主要用途以及它们之间的区别是非常有必要的。在这里,我们就以下面的网络连接示意图为例来进行相关介绍。

在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络。在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量的虚拟机网络设备;在Linux系统的主机上,VMware最多可以创建255个虚拟网络,但每个虚拟网络仅能连接32个虚拟机网络设备。

VMware的虚拟网络都是以"VMnet+数字"的形式来命名的,例如 VMnet0、VMnet1、VMnet2……以此类推(在Linux系统的主机上,虚拟网络的名称均采用小写形式,例如 vmnet0 )。

当我们安装VMware时,VMware会自动为3种网络连接模式各自创建1个虚拟机网络:VMnet0(桥接模式)、VMnet8(NAT模式)、VMnet1(仅主机模式)。此外,我们也可以根据需要自行创建更多的虚拟网络。

VMware 桥接模式

VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同)。简而言之,这就好像在上图所示的局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。

VMware NAT模式

NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。

此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的。

前面我们已经提到,默认情况下,外部网络无法访问到虚拟机,不过我们也可以通过手动修改NAT设置实现端口转发功能,将外部网络发送到主机指定端口的数据转发到指定的虚拟机上。比如,我们在虚拟机的80端口上"建立"了一个站点,只要我们设置端口转发,将主机88端口上的数据转发给虚拟机的80端口,就可以让外部网络通过主机的88端口访问到虚拟机80端口上的站点。

VMware 仅主机模式

仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。

在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。

自定义网络连接配置

利用 WMware 提供的虚拟网络连接组件,你还可以创建复杂的虚拟网络。在这里我们不对其进行详细介绍,你可以参考官方文档,然后通过VMware提供的虚拟网络编辑器来创建虚拟网络。

形象的说:

桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。

NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。

仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


VMware中为CentOS设置固定IP
很多用户想体验Win10,不过又不想把当前电脑系统换成Win10,那么最简单的就是在虚拟机上安装一个Win10系统来进行体验了,这里小编推荐使用VMware Workstation虚拟机来安装Win10系统,下面小编介绍虚拟机的创建及Win10详细安装教程步骤如下:1、首
MAC OS操作系统一般来说只能在苹果设备上安装运行,小编发现一个有趣的方法在winndows 操作系统中通过虚拟机来安装苹果系统,有兴趣的用户一起随小编往下看吧!首先准备好以下工具:用于VMware 12的mac补丁,unlocke(链接: https: pan baidu
vmware player是一款能够让我们在Windows10系统中运行别的系统的软件俗称虚拟机(如win7、xp等),虽然这个平台有大量的优点和有用的功能,但是卸载起来非常困难,特别是在升级过程中。这样的问题大多出在9 0和最近的12 0版本中。在点击卸载或
虚拟机在测试和实验系统上有着很大的帮助,很多用户也喜欢在虚拟机上使用自己想要使用的系统。不过,在win10系统中打开虚拟机时,提示VMware Workstation cannot connect错误无法打开虚拟机怎么办?遇到这种情况时应该怎么办呢?下面就让
最近使用Win10系统的用户反应vmware workstation 运行失败的现象,该怎么办呢?出现这样的情况是由于软件不兼容的问题所引起的,我们可通过下面方法进行恢复。步骤如下:1、按下win+R打开运行,键入gpedit msc,,然后单击确定。将打开本地组策
vmware克隆镜像后,新的Centos无法启动网络
为访问虚拟磁盘、CD/DVD-ROM 和 SCSI 设备,虚拟机将使用创建虚拟机时默认添加的存储控制器。创建虚拟机后可以添加额外的控制器或更改控制器类型。在创建向导中时可执行这些更改。如果您在更改或添加控制器前了解不同类型的控制器的节点行为、控制器限制和兼容性,则可以避免潜在的引导问题。存储控制器技术的工作方式存储控制器对于虚拟机而言是不同类型的 SCSI 控制器,包括 BusLogic 并行、LSI Logic 并行、LSI Logic SAS 和 VMware 准虚拟 SCSI。还提供 AHCI
如今,越来越多的工作负载在虚拟机 (VM) 中运行,包括在来宾操作系统中需要更多 IO 的工作负载。在 VMware vSphere 上的 VM 中,所有虚拟磁盘 (VMDK) 都连接到默认配置中的 LSI 逻辑 SAS SCSI 适配器。此适配器无需安装额外驱动程序即可被所有操作系统识别,但并不总是提供最佳性能,尤其是在使用 SSD RAID 或 NVMe 存储时。在本文中,我们比较了虚拟存储控制器LSI Logical SAS、VMware Paravirtual和NVMe Controller。
Packer 是由 Hashicorp 创建的应用程序,它使 IT 专业人员能够自动执行其 VM 模板生成。随着混合云环境的兴起,它正迅速成为在一个工具下管理每个平台的多个 VM 映像的首选实用工具之一。它自动执行建立全新 VM 的过程,并合并自定义生成脚本以动态自定义 VM,然后转换回模板以用于在云中或本地进行部署。在 VMware 环境中使用 Packer 可以带来以下好处:与平台无关– Packer 不仅可以将相同的映像和配置部署到 VMware 环境,还可以将相同的映像和配置部署到 AWS 和
封隔器 OVA 示例我遇到了一些其他人很幸运的好例子:基础设施即代码:使用 Packer 创建 Linux (RHEL/CentOS) 基础映像 打包机-centos-7 打包模板 自动化示例 打包机-centos7-esxi 打包模板封隔器配置文件在所有这些示例之间,我创建了自己的配置并确保它们没问题:<> tree.├── ansible│ ├── main.yml│ └── requirements.yml├── centos7.jso.
在所有云供应商中,您都获得了基于模板的自动化构建的虚拟机——如何为 VMWare vSphere 构建自定义模板?在这种情况下,HashiCorp Packer 是您想要的工具。这篇文章将介绍创建基于打包程序的虚拟机模板的主要概念什么是打包机?Packer 映像允许您在几秒钟内启动完全配置和配置的机器,而不是几分钟或几小时。这不仅有利于生产,也有利于开发,因为开发虚拟机也可以在几秒钟内启动,而无需等待通常更长的配置时间。由于 Packer 为多个平台创建相同的映像,因此您可以在 AWS 中运行生
在这篇博客文章中,我想向您展示如何使用 Packer 自动执行 VMware vsphere 模板。我喜欢它,因为packer可以在其他平台上使用,如Hyper-V,Azure,AWS或soagar for vmware Workstation或Virtual Box。通过这篇文章,我想向您展示如何为VMware vsphere自动创建Windows Server 2016和Windows Server 2019模板。今天,我将首先在 vmware vsphere 上创建和部署。由于我想尽可能简单快捷地自
如何使用付费许可证设置Vagrant VMware提供商,以便在CentOS 8上运行的VMware Workstation Pro 15.5上运行。感谢Aaron McKay鼓励我写这篇文章,并提供 Vagrant VMware 提供商许可证。在这篇文章中,我将向您展示如何:安装 VMware Workstation Pro。 安装流浪汉。 安装 Vagrant VMware Utility。 安装Vagrant VMware插件。 安装 Vagrant VMware Provider
在本文中,我们将逐步介绍在 VMware vSphere 环境中使用 ISO 构建 Redhat Enterprise Linux 7/CentOS 7 VM。Packer对于在云端和本地构建基础镜像非常有用。Packer 是一个开源工具,由HashiCorp开发。HashiCorp 拥有非常著名的工具,如 Vagrant、Consul 和 Terraform。如今,克隆和部署是构建 VM 的最便捷方式。在某些情况下,所需版本的 OS 模板可能不存在,您可能需要在 Adhoc 中构建 VM。这就是 Pack
虽然Vagrant VMware Desktop提供商是VirtualBox的直接替代品,但还公开了一些其他功能,可让您更精细地配置计算机的VMware特定方面。提供程序的配置设置在 Vagrantfile中设置:Vagrant.configure("2") do |config| config.vm.box = "my-box" config.vm.provider "vmware_desktop" do |v| v.gui = true endend...
autoinst.xml<?xml version="1.0"?><!DOCTYPE profile><profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <scripts> <chroot-scripts config:type="list"> <script&g..
Ubuntu 20.04 带来了新的安装程序,用subiquity取代了以前的Debian安装。这意味着以前用于自动/无人值守安装的任何方法都不再有效,需要更换。使用Packer成功地做到了这一点。但首先,这是一个工作的无人值守配置:ubuntu-2004.json:{ "builders": [ { "name": "ubuntu-2004", "type": "vmware-iso", "guest_os_type": "ubunt...
Packer 是由 Hashicorp 创建的应用程序,它使 IT 专业人员能够自动执行其 VM 模板生成。随着混合云环境的兴起,它正迅速成为在一个工具下管理每个平台的多个 VM 映像的首选实用工具之一。它自动执行建立全新 VM 的过程,并合并自定义生成脚本以动态自定义 VM,然后转换回模板以用于在云中或本地进行部署。在 VMware 环境中使用 Packer 可以带来以下好处:与平台无关– Packer 不仅可以将相同的映像和配置部署到 VMware 环境,还可以将相同的映像和配置部署到 AWS 和
GitHub - librenms/packer-builds: This repo is where virtual images are created and storedThis repo is where virtual images are created and stored - GitHub - librenms/packer-builds: This repo is where virtual images are created and storedhttps://github.com/