VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

 

VMware workstations为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)NAT(网络地址转换模式)Host-Only(仅主机模式)

打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式):

VMnet0表示的是用于桥接模式下的虚拟交换机;

VMnet1表示的是用于仅主机模式下的虚拟交换机;

VMnet8表示的是用于NAT模式下的虚拟交换机。

虚拟网络编辑器

同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。

还原默认设置

小伙伴看到这里,肯定有疑问,为什么在真机上没有VMware Network Adapter VMnet0虚拟网卡呢?那么接下来,我们就一起来看一下这是为什么。

 

一、Bridged(桥接模式):

什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。其网络结构如下图所示:

桥接模式

接下来,我们就来实际操作,如何设置桥接模式。

首先,安装完系统之后,在开启系统之前,点击“编辑虚拟机设置”来设置网卡模式。

设置网卡模式

点击“网络适配器”,选择“桥接模式”,然后“确定”

网络适配器

在进入系统之前,我们先确认一下主机的ip地址、网关、DNS等信息。

主机信息

然后,进入系统编辑网卡配置文件,命令为vi /etc/sysconfig/network-scripts/ifcfg-eth0

编辑网卡配置文件

添加内容如下:

添加内容

编辑完成,保存退出,然后重启虚拟机网卡,使用ping命令ping外网ip,测试能否联网。

测试能否联网

能ping通外网ip,证明桥接模式设置成功。

那主机与虚拟机之间的通信是否正常呢?我们就用远程工具来测试一下。

远程工具测试

主机与虚拟机通信正常。

这就是桥接模式的设置步骤,相信大家应该学会了如何去设置桥接模式了。桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。如果真是这种情况的话,我们该如何解决呢?接下来,我们就来认识vmware的另一种网络模式:NAT模式。

 

二、NAT(地址转换模式):

刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:

NAT模式

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。

1、首先,设置IP地址,此处设置的IP和本机的IP没有关系,设置成你虚拟机里面运行的计算机需要的IP地址段:

VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

2、接着,设置虚拟机中NAT模式的选项,打开vmware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数及DHCP参数。

VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

DHCP参数

3、将虚拟机的网络连接模式修改成NAT模式,点击“编辑虚拟机设置”。

编辑虚拟机设置

点击“网络适配器”,选择“NAT模式”

NAT模式

5、然后开机启动系统,编辑网卡配置文件,命令为vi /etc/sysconfig/network-scripts/ifcfg-eth0

编辑网卡配置文件

具体配置如下,编辑完成,保存退出:

VMware Workstation网络连接的三种方式原理详解 与 配置过程图解

 

6、然后重启虚拟机网卡,命令如下:service network restart,动态获取ip地址,使用ping命令ping外网ip,测试能否联网。

测试能否联网

7、VMware Network Adapter VMnet8虚拟网卡的作用:

虚拟网卡禁用

是否能ping通

如此看来,虚拟机能联通外网,确实不是通过VMware Network Adapter VMnet8虚拟网卡,那么为什么要有这块虚拟网卡呢?

之前我们就说VMware Network Adapter VMnet8的作用是主机与虚拟机之间的通信,接下来,我们就用远程连接工具来测试一下。

远程连接工具测试

然后,将VMware Network Adapter VMnet8启用之后,发现远程工具可以连接上虚拟机了。

那么,这就是NAT模式,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,而VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的。

 

三、Host-Only(仅主机模式):

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

Host-Only模式

通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。

首先设置“虚拟网络编辑器”,可以设置DHCP的起始范围。

虚拟网络编辑器

设置虚拟机为Host-Only模式。

设置Host-Only模式

开机启动系统,然后设置网卡文件。

设置网卡文件

保存退出,然后重启网卡,利用远程工具测试能否与主机通信。

远程工具测试

主机与虚拟机之间可以通信,现在设置虚拟机联通外网。

设置虚拟机联通外网

我们可以看到上图有一个提示,强制将VMware Network Adapter VMnet1的ip设置成192.168.137.1,那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改,点击“虚拟网络编辑器”

虚拟网络编辑器

重新配置网卡,将VMware Network Adapter VMnet1虚拟网卡作为虚拟机的路由。

重新配置网卡

重启网卡,然后通过 远程工具测试能否联通外网以及与主机通信。

远程工具测试

测试结果证明可以使得虚拟机连接外网。

以上就是关于vmware三种网络模式的工作原理及配置详解。

 

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

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114602.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5g的控制信道编码方式_5gnr上行支持的信道编码

    5g的控制信道编码方式_5gnr上行支持的信道编码第1章物理层架构1.1物理层内部功能协议栈1.2物理层编码与处理过程(1)信道编码(2)调制解调(3)层映射(4)扩频预编码(仅仅用于上行,可选)(5)多天线技术的预编码(6)资源映射(7)OFDM变换本文主要探讨NR的信道编码技术第2章NR的物理层信道编码技术概述物理层信道编码不是单一的编码,而是有一组编码组成。以发送为例,阐述物理层信道编码的过程以及其中涉及到的主要,接收过程与之相反。(1)TrBloc……

    2025年7月3日
    0
  • Oracle中文全文索引[通俗易懂]

    环境Oracle9.0.2 Oracle全文索引的基本知识一、历史背景Oracle数据库的全文检索技术已经非常完美,OracleText使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力。OracleText是Oracle9i采用的新名称,在Oracle8/8i中它被称作OracleinterMediaText,在Oracle8以前它的名称是Oracle

    2022年4月11日
    33
  • resnet50 pytorch_resnet34结构

    resnet50 pytorch_resnet34结构ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现

    2022年10月5日
    0
  • HashMap数据结构图,实现原理的理解[通俗易懂]

    HashMap数据结构图,实现原理的理解[通俗易懂]

    2022年5月12日
    32
  • git从远程分支拉取代码_git更新分支下的代码

    git从远程分支拉取代码_git更新分支下的代码查看远程所有分支$gitbranch-a创建分支gitbranch[branchname]需要注意,创建分支时,不会有什么提示。新建分支并切换到指定分支gitcheckout-bmasterorigin/mastergitcheckout-b本地分支名origin/远程分支名拉取远程分支代码gitpullorigin/master使用上面的命令可以创建分支名并且关联到远程的分支,但是远程分支存在gitpush多次,发现关联分支的本地代码不是最新的,

    2022年9月21日
    0
  • 方法区和常量池_字符串常量池在堆中还是方法区

    方法区和常量池_字符串常量池在堆中还是方法区最近一直被方法区里面存着什么东西困扰着?    1.方法区里存class文件信息和class文件常量池是个什么关系。    2.class文件常量池和运行时常量池是什么关系。         方法区存着类的信息,常量和静态变量,即类被编译后的数据。这个说法其实是没问题的,只是太笼统了。更加详细一点的说法是方法区里存放着类的版本,字段,方法,接口和常量池。

    2022年9月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号