VMware虚拟机三种网络模式详解和实践须知

VMware虚拟机三种网络模式详解转自:https://www.cnblogs.com/linjiaxin/p/6476480.html

实践须知是我n年里x次安装VMware+ubuntu积累的经验,分享给大家。


此处是VMware虚拟机三种模式详解的转载内容:

由于Linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而vmware的网络连接问题是大家遇到最多问题之一。在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故障,然后在帮他解决的过程中,对自己的理解也做一个总结。接下来,我们就一起来探讨一下关于vmware workstations网络连接的三种模式。

vmware为我们提供了三种网络工作模式,它们分别是: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虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。

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

虚拟网络编辑器

NAT参数

DHCP参数

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

编辑虚拟机设置

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

NAT模式

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

编辑网卡配置文件

具体配置如下:

具体配置

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

测试能否联网

之前,我们说过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三种网络模式的工作原理及配置详解。


实践技巧须知和经验总结:

  1. 我使用的VMware版本是10.0.2 build-1744117(有相似版本也用过),ubuntu版本是12.04.5 LTS(可能相似版本用过),但版本差距肯定不大
  2. 版本差距太大必然有很多新问题。如在xp安装当前最新的形如VMware 15.0pro..的时会出现未知的不好解决的错误。我也没精力没动力去处理。win10都已经流行,在win7上开发已然很普遍
  3. 安装VMware时,要注意用右键使用管理员身份运行.exe文件;否则在安装快结束时,会提出形如VMware authorization service的错误
  4. 三种模式我常用的是nat和bridged桥接。网络设置包括4个区域,1是主机(pc)上网络设置,比如通过网线连接设置的本地连接状态;2是vmnet1和vmnet8这两块虚拟的网卡设置;3是VMware设置(此后用虚拟机代称,因为很多设置标签都写着虚拟机...之类的),包括虚拟网络编辑器虚拟机设置这两块;4是ubuntu里的网络设置,包括地址网关...dns之类的
  5. pc网络设置和本文无关。只要知道pc机的网络状态就行,比如地址、掩码、网关之类的。无论pc是通过网线还是通过无线甚至手机热点(同于无线)方式,能够登录internet即可;那么ubuntu都可以通过正确设置登录internet
  6. vmnet1和vmnet8这两块网卡不需要特别设置自动获取ip和dns之类即可,后续有几个小试验说明
  7. 虚拟网络编辑器要设置桥接模式。点开虚拟网络编辑器第一个显示的是桥接模式,那么当前设置就是桥接(有点含糊);桥接模式下,选择自动即可;自动设置里面也按照默认条件的全勾选即可。虚拟机设置里面的网络适配器选择桥接模式,复制物理网络连接状态,可勾选也可不勾选,在能否登录internet方面无影响
  8. ubuntu设置和pc机位于同一网络。pc机192.168.0.110,ubuntu设置为.0.200,掩码、dns等均参照pc。pc和ubuntu互相ping通,ubuntuping通baidu.com
  9. pc机和ubuntu之间不能ping通要考虑防火墙的问题。ubuntu里面暂未遇到防火墙开关问题。pc机上要注意防火墙开关状态。比如pc上我连接手机热点,该网络连接设置为公用连接,那么我将公用连接的防火墙打开,才能保证互ping成功
  10. nat模式同样设置虚拟网络编辑器,注意子网ip和掩码,dhcp设置里面的参数,基础的不说,建议将dhcp设置里面的默认租用时间改得长些,dhcp里面的开始ip和结束ip要和ubuntu设置的ip对应得上。虚拟机设置里面的网络适配器选择NAT模式
  11. ubuntu按照前面的dhcp要求设置即可。通过vim /etc/network/interfaces ,/etc/init.d/networking restart ,ifconfig eth0查看设置,通过cat /etc/resolv.conf查看dns状态(此ubunturesolv.conf编辑该文件不起作用,动态)ubuntu能够ping baidu.comVMware虚拟机三种网络模式详解和实践须知_第1张图片
  12. vmnet1和vmnet8的设置在我的实验中没起到什么作用,但我曾被它们的设置深深困扰。其实,无论设置net1和net8为何值,pc机总能ping通它俩,这是vmware做的事情,而ubuntu应该也能ping通,但是你主动设置它俩致使两个设置出了问题,比如网段不同,导致pc和ubuntu不能互ping或者ubuntu上不了网(也有可能能够互ping和上网,比如在环境设置成功后,修改net8后重试)。自动设置状态下,可以观察下net8被设置137的字段,就说明虚拟网络编辑器里面的nat设置和dhcp设置都在对vmnet8起着作用
  13. 本人并未对转载文章内的各种网络拓扑做验证

__end__

你可能感兴趣的:(VMware虚拟机三种网络模式详解和实践须知)