转载一篇不错的理解虚拟机和主机网络连接的三种方式解读的文章
VMware workstations 12.0.1里的虚拟机(Linux系统)如何上网
近来自学Linux,然后在VMware workstations创建了suse Linux虚拟机,然后突然想通过虚拟机连接外网,然后自己折腾了一番,终于实现了,这里把学习的历程写下来,仅仅是新手的言论,不足之处大家多多包涵。
一、VMwareworkstations 虚拟化
1. 什么是VMware workstations?
1) VMware workstations是一款由VMware公司研制的虚拟计算机的“软件”,是的!它仅仅是一个应用软件,它“寄居”在操作系统上。
2) 在VMwareworkstations里可以创建多个虚拟机(这些虚拟机的操作系统可以是Windows也可以是Linux),这些虚拟机共用物理机的CPU、内存等。
2. 寄居架构和原生架构
1) VMware workstations就是寄居架构的虚拟化,它的前提是物理机已经有操作系统了,然后VMware workstations安装在物理机的操作系统上,它就像qq、迅雷等诸多软件一样。
虚拟化的“寄居架构”
2) VMware vSphere就是原生架构的虚拟化,注意:VMware vSphere就是一个操作系统,就像windows和Linux一样,安装在物理机上;不同的是,VMware vSphere的安装不需要物理磁盘分区,只占用磁盘一小部分空间;在VMware vSphere操作系统上,再安装虚拟机,这种虚拟化结构就是原生架构。
虚拟化的“原生架构”
3) 当然,今天我们讨论的还是基于“寄居架构”的VMware workstations,以及它里面的虚拟机中的网络问题。
二、VMware workstations 的网络模式
VMware workstations 的网络模式有三种,分别是桥接(bridge)模式、NAT模式和仅主机(host-only)模式。当大家在windows里安装VMwareworkstations后(当然也有Linux版的),电脑的网络适配器就会自动出现两张虚拟网卡VMnet1、VMnet8。
大家可以看到,我电脑的物理网卡有两个,一个是以太网网卡“本地连接”,一个是无线网卡“无线网络连接”。那么另外出现的VMnet1、VMnet8是VMware workstations在物理机创建的虚拟网卡,分别是仅主机(host-only)模式和NAT模式。那么不是说VMware workstations 有三种网络模式吗?因为我没有做桥接而已,大家可以打开VMware的主页面,点击“编辑”,选择“虚拟网络编辑器”,然后查看VMware的虚拟网卡。如下图:
打开之后,大家可以看到有三个虚拟网卡,分别为VMnet0、VMnet1、VMnet8。
注意:如果您不是管理员,请切换为管理员,或者点击下方的“更改设置”,以管理员身份运行,就可以看到VMnet0了。
接下来,我们一个一个介绍VMware的网络模式:
1. 桥接模式(VMnet0)
1) 什么是桥接模式呢?形象点说,就是在真实的物理网卡与虚拟网卡VMnet0搭一条通道,这样好似把物理网卡和虚拟网卡VMnet0合二为一了,变成了一个新的网卡;假如,我们把这个网卡叫做bridge0,无论是物理机还是VMware虚拟机访问外网,都通过bridge0这个网卡来进行。
2) 另外的说法是,当做了网卡的桥接,VMware里的虚拟机和物理机都处于同一个网段,由同一个交换机连接起来一样;当然,这个交换机也是虚拟的。
3) 当创建完虚拟机后,在虚拟机编辑设置里,可以把网络模式设为桥接,这样就可以像物理机一样上网了。
注意:这里全是灰色是因为我没有关机,只有关机才可以设置。
桥接的时候,需要选择桥接的网卡,一般都有以太网网卡和无线网卡两个选项。
2. NAT模式
1) 什么是NAT(NetworkAddress Translation)?
NAT就是“网络地址转换”,它的功能的实现需要路由器。它的作用就是把私网的ip地址转化为公网的ip地址来访问因特网。具体它实现方式和分类就不说了,可以上网查。
2) 我们是怎么上网的?
在公司,你是怎么实现上网的。首先,公司一定会有一个或者多个的公有IP地址,假如就一个IP地址,分配在一个网络出口的路由上。那么公司有几十个员工,怎么通过一个公有的ip地址上网呢?
3) 那么,假如PC2中创建了虚拟机,选用nat模式,是怎么上网的?
如图,虚拟机通过nat模式上网,其实是通过一个VMware虚拟的路由器,这个路由器是有Vmware这个软件虚拟出来的。
4) NAT模式下,虚拟机网络地址的配置
如果你想让虚拟机容易的上网,那么装好虚拟机后,配置网络的时候,最好设置为dhcp获取的方式。因为VMware 虚拟路由器会给你分配ip和网关。
A.VMware虚拟路由的DHCP要打开,默认就是打开的,
Nat模式的网段是192.168.29.0
B. 选择虚拟机的网络模式
C. 设置虚拟机的ip地址为主动获取,在这里我设置的是suse Linux,当我设置为DHCP后,大家看一下ip地址、网关、dns的变化
先看一下,VMware为我们分配的网关,默认是192.168.29.2,当然,这个你可以修改,只要是这个网段的即可
然后,看一下suse Linux虚拟机的网络配置
大家可以看到,可以ping通百度,说明可以上网了
注意:网关和dns的地址都是192.168.29.2,如果大家要手动设置ip地址的话,如果想上网,网关和dns一定要设置对了。
D. 另外,细心的朋友可能会发现,物理机VMnet8的地址是192.168.29.1,为什么网关的地址是192.168.29.2呢。
我认为,物理机的VMnet8的虚拟网卡并不是VMware虚拟路由器的一个接口,而VMnet8这个网卡是物理机和虚拟机之间通信的,就像虚拟机和物理机连接在一个交换机上一样。
奇怪的是,在物理机中能ping通虚拟机,却ping不通虚拟机的网关,对于这个我也迷惑了!希望有大神可以替我解答。
3. 最后,就是仅主机模式了,这个模式其实很简单,虚拟机和物理机只要处于同一个网段,就可以通信,但是不能连接因特网。虚拟机ip属于哪个网段,要参考VMnet1这个网卡的网段。
</div>
上一篇: Android网络连接判断与处理
下一篇: 笔记56 | 管理网络的使用