理解VMware虚拟网络
简述:VMware虚拟网络概述、实现虚拟网络上网
Part0
子网掩码、DHCP、NAT,这些点请自行百度,百度百科讲的很清晰。
Part1
转载:本文出自 “王春海的博客” 博客http://wangchunhai.blog.51cto.com/225186/381225
注:在转载文章上对于每一种网络都增加了例子
3.1 VMware虚拟网络概述
VMware Workstation(或VMware Server)安装在物理计算机,这台计算机称作“主机”,假设这台主机有一块物理网卡,并且连接到网络的一台交换机中,此时,网络拓扑如图3-1所示。
图3-1 主机物理网络
VMware Workstation与VMware Server,支持VMnet0~VMnet9共10块(虚拟)网卡,对于每一块虚拟网卡来说(VMnet0~VMnet9),同一时刻只能选择一种网络属性:或者使用主机物理网卡,或使用虚拟网卡。
在VMware虚拟网络中,包括两种网络:一种是“仅主机网络”,另一种是“NAT网络”。对于VMware Workstation(或VMware Server)主机来说,可以有多块虚拟网卡具有“仅主机网络”特性,但同一时刻只能有1块虚拟网卡具有“NAT网络”属性。
在主机上安装VMware Workstation或VMware Server的时候,默认会安装3块虚拟网卡,这3块虚拟网卡的名称分别为VMnet0、VMnet1、VMnet8,其中VMnet0的网络属性为“物理网卡”,VMnet1与VMnet8的网络属性为“虚拟网卡”。在默认情况下,VMnet1虚拟网卡的定义是“仅主机虚拟网络”,VMnet8虚拟网卡的定义是“NAT网络”,同时,主机物理网卡被定义为“桥接网络”,主机物理网卡也可以称为VMnet0。
在默认情况下,VMware Workstation虚拟网络拓扑关系如图3-2所示。
图3-2 虚拟机网络拓扑
在图3-2中,有3个虚拟交换机、2块虚拟网卡、1块物理网卡、1个虚拟路由器,组成了默认虚拟网络的整个结构。当VMware Workstation(或VMware Server)安装的时候,会从192.168.x.0/24(在以前的某个版本中,也用过172.16.0.0/12的地址段,但很快放弃了)的地址中,随机选择2个地址段,并将每个段的第1个地址分配给对应的虚拟网卡(VMnet1与VMnet8)使用。
在图3-2中, VMnet1使用了192.168.10.0/24、VMnet8使用了192.168.80.0/24的地址段,这是我习惯使用的地址段,你可以根据自己的爱好与习惯设置。如果你想修改这些IP地址,在后文会有介绍。
在图3-2中,还有1个虚拟DHCP服务器没有标出,该虚拟DHCP服务器,用来为使用VMnet1、VMnet8(或其他)虚拟网卡(或者说连接到VMnet1、VMnet8虚拟交换机)的虚拟机自动分配IP地址、子网掩码、网关与DNS等参数。
3.2 虚拟机与虚拟网卡、网络属性
在VMware Workstation中,每个虚拟机最多可以支持10块虚拟网卡,这些虚拟网卡,可以(根据需要)连接到不同的虚拟网络,例如图3-2中的VMnet1、VMnet8或VMnet0虚拟交换机。有两种情况可以选择虚拟网络,一种是在创建虚拟机的时候,另一种是在创建虚拟机后,在“虚拟机设置”中修改虚拟网络属性。
(1)在创建虚拟机的时候,在“Network Type(网络属性)”页中,在“Network connection(网络连接)”选项组中,为当前虚拟机选择连接到的虚拟网络,如图3-3所示。
图3-3 网络属性
(2)在虚拟机创建完成后,修改“虚拟机设置”,也可以修改虚拟网络属性,如图3-4所示。
图3-4 修改虚拟机设置
不管是在创建虚拟机的时候,选择网络属性,还是在“虚拟机设置”页中,每块虚拟网卡,都有3种选择,分别是VMnet0(桥接网络)、VMnet1(仅主机网络)与VMnet8(NAT网络)三种连接属性,还有一种是“不使用网络连接”,就是表明这块虚拟网卡,不连接到任何网络。下面分别介绍连接到VMnet1、VMnet8、VMnet0虚拟交换机时的网络属性。
【注】
(1)在VMware Workstation 6.0之后,新增加了“Team”功能,同时在“Team”中也增加了Team虚拟交换机。在Team中的虚拟机,除了可以使用VMnet0、VMnet1、VMnet8等虚拟交换机外,还可以使用Team中的虚拟交换机。
(2)VMware Workstation(或VMware Server),除了VMnet0、VMnet1、VMnet8虚拟交换机外,还可以创建(或添加)VMnet2~VMnet7、VMnet9等虚拟交换机,这些虚拟交换机的属性,可以在“仅主机网络”、“桥接网络”、“NAT网络”之间选择。
3.3 VMnet1、VMnet8、VMnet0虚拟网卡的关系
在VMware Workstation或VMware Server的虚拟机中,虚拟机之间、主机之间的网络关系可以参照图3-5所示的网络拓扑。
图3-5 虚拟机与主机网络拓扑
在图3-5中,虚拟机A11、A12、~、虚拟机A03等,是VMware Workstation(或VMware Server)创建的虚拟机。虚拟机A11、A12、A13使用VMnet1(仅主机网络)虚拟网卡,则在图3-5的网络拓扑中,“相当于”连接到VMnet1虚拟交换机;虚拟机A81、A82使用VMnet8虚拟网卡(NAT网络,则相当于连接到VMnet8虚拟交换机);虚拟机A01、A02、A03使用VMnet0虚拟网卡(桥接网络,相当于连接到VMnet0虚拟交换机)。物理主机B,代表与物理主机A属于同一局域网内的其他一台或多台计算机。这里面的“同一局域网”,表示可以是同一子网(VLAN)的计算机,也可以是不同子网的计算机。Internet计算机Z,代表Internet网络上的其他计算机或服务器,可以是一台或多台的计算机。将图3-5的关系,画成网络拓扑的方式,如图3-6所示。
图3-6 简化后的网络拓扑
下面介绍各虚拟机之间与主机之间的网络关系。
3.3.1 虚拟机使用VMnet1虚拟网卡
当虚拟机选择使用VMnet1虚拟网卡时,表示这台虚拟机连接到VMnet1虚拟交换机。
VMnet1,官方定义“仅主机网络”,其默认的网络行为,只与主机或其他使用VMnet1虚拟网卡的虚拟机有网络连接。使用VMnet1虚拟网卡的虚拟机,不能访问与物理主机之外的其他计算机.
在图3-5(图3-6)中,虚拟机A11、A12、A13使用VMnet1虚拟网卡,表明连接到VMnet1虚拟交换机。在图3-5(图3-6)的网络拓扑中,虚拟机A11、A12、A13、物理主机A之间可以互相通讯。将图3-5(图3-6)中与VMnet1相关的计算机,简化成图3-7所示的拓扑。
图3-7 VMnet1虚拟网络拓扑
1. 在同一交换机上的计算机怎样才能通讯
深入理解:“可以互相通讯”,这句话表示,当A11、A12、A13、A都连接到VMnet1虚拟交换机时,这4台计算机可以互相通讯,但不一定能通讯。为什么呢?如果A11、A12、A13、A没有设置同一子网的IP地址,这是不能互相通讯(互相访问)的;或者虽然设置同一网段的地址,但A11、A12、A13、A有防火墙,禁止其他计算机访问,这时也是不能通讯的。只有当A11、A12、A13、A连接到同一个虚拟交换机,并且在网一网段(IP地址还不能冲突)、并且没有防火墙(或者有防火墙,但允许其他计算机访问)时,才有可能通讯。
2. 使用VMnet1虚拟网卡的计算机默认不能访问外网
使用VMnet1虚拟网卡的计算机,不能访问外网,外网也不能访问VMnet1虚拟网卡的计算机。在图3-5(图3-6)的网络中,虚拟机A11、A12、A13与B、Z没有网络关系,它们不能互相访问。
3.host-only方式实现主机和虚拟机通信
假设主机的VMnet1使用网段地址为192.168.64.1,使用host-only方式,虚拟机的ip地址可以设置为192.168.64.128(即与VMnet1在同一网段即可)
验证:
1.虚拟机ping主机,即ping 192.168.64.1
2.主机ping虚拟机,即ping 192.168.64.128
注:linux上vi /etc/sysconfig/network-scripts/ifcfg-eth0后,要service network restart使设置生效
3.3.2 虚拟机使用VMnet0虚拟网卡
如果虚拟机使用“桥接方式”,即VMnet0,则虚拟机相当于主机网络中的一台计算机,虚拟机如果选择VMnet0(或桥接网络),则通过“VMnet0虚拟交换机”连接到主机所属网络,这时与主机“VMnet0虚拟网卡”是否设置IP地址无关。
在图3-5(图3-6)的网络拓扑中可以看到,如果虚拟机A01、A02、A03使用VMnet0虚拟交换机,不管主机VMnet0虚拟网卡,是否设置了正确的IP地址、子网掩码与网关,只要A01、A02、A03设置了正确的IP地址、子网掩码、网关等参数,是可以访问主机之外网络上的其他计算机(例如B),以及Internet网络上的其他计算机(例如Z)。VMnet0虚拟机、虚拟网络拓扑如图3-8所示。
图3-8 VMnet0虚拟网络
其中B及Z,即可以是物理计算机,可以也是使用了VMnet0虚拟网卡的虚拟机。在图3-8中,使用VMnet0的虚拟机(A01、A02、A03)与物理主机A、B可以互相访问。
1.桥接方式实现主机和虚拟机通信
假设主机的VMnet0使用网段地址为10.254.188.112,使用桥接方式,虚拟机的ip地址可以设置为10.254.188.128(即与VMnet0在同一网段即可)
验证:
1.虚拟机ping主机,即ping 10.254.188.112
2.主机ping虚拟机,即ping 10.254.188.128
3.3.3 虚拟机使用VMnet8虚拟网卡
如果虚拟机使用VMnet8,则虚拟机可以通过主机网络,单向(从虚拟机到主机、外网)访问物理主机之外的网络,而主机以外的网络不能访问使用VMnet8的虚拟机。但这个的前提是,主机要能访问外网(或网络上的其他计算机),如果主机不能访问外网,则配置为VMnet8虚拟网卡的虚拟机,也不能访问外网。
将图3-5(图3-6)中与VMnet8的虚拟网络与虚拟机,简化成图3-9的方式。
图3-9 VMnet8虚拟网络
主机A的VMnet8虚拟网卡,连接到VMnet8虚拟交换机,VMnet8虚拟交换机连接到“虚拟路由器”,“虚拟路由器”再连接到“VMnet0虚拟网卡(也即主机物理网卡)”,并通过“VMnet0虚拟网卡”连接到“VMnet0虚拟交换机”,“VMnet0虚拟交换机”连接到主机物理网络。这也就表明,连接到“VMnet8虚拟交换机”的计算机(虚拟机或主机),需要通过“虚拟路由器”→“VMnet0虚拟网卡”→“VMnet0虚拟交换机”的方向连接到主机物理网络。
1.NAT方式实现主机和虚拟机通信
假设主机的VMnet0使用网段地址为192.168.230.1,使用NAT方式,虚拟机的ip地址可以设置为192.168.230.128(即与VMnet0在同一网段即可)
验证:
1.虚拟机ping主机,即ping 192.168.230.1
2.主机ping虚拟机,即ping 192.168.230.128
Part2
下面这篇文章写的言简意赅,也引用一下。
转载自:http://www.cnblogs.com/HondaHsu/archive/2013/05/30/3107793.html
我们首先说一下VMware的几个虚拟设备
VMnet0:用于虚拟桥接网络下的虚拟交换机
VMnet1:用于虚拟Host-Only网络下的虚拟交换机
VMnet8:用于虚拟NAT网络下的虚拟交换机
VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡
安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图:
一.桥接网络(Bridged Networking)
桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位。
桥接网络拓扑图
那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。
二.NAT模式
在NAT网络中,会用到VMware Network Adepter VMnet8虚拟网卡,主机上的VMware Network Adepter VMnet8虚拟网卡被直接连接到VMnet8虚拟交换机上与虚拟网卡进行通信。
NAT网络模式
VMware Network Adepter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。
三.Host-Only模式
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是 Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。
Host-Only模式
Part3 实现虚拟网络上网
方式一:NAT方式上网
使用NAT模式即可上网。首先选择网络连接为NAT模式,如下图。
然后在编辑->虚拟网络编辑器中勾选DHCP服务,如下图。
然后执行以下命令:
- vi /etc/sysconfig/network-scripts/ifcfg-eth.kevin
将BOOTPROTO设置为dhcp,如下:
- DEVICE=eth0
- HWADDR=00:0c:29:ec:80:b7
- TYPE=Ethernet
- ONBOOT=yes
- BOOTPROTO=dhcp
然后重启网络服务,如下:
- service network restart
再ping一下baidu,如下:
- [root@tianxia ~]# ping www.baidu.com
- PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
- 64 bytes from 220.181.112.244: icmp_seq=1 ttl=128 time=5.39 ms
- 64 bytes from 220.181.112.244: icmp_seq=2 ttl=128 time=17.6 ms
方法二:共享主机网络
选择无线连接(或者本地连接,这里我联的是无线网)中的共享选项,允许VMnet1共享Internet连接,如下图。
注:这一步操作后,VMnet1的ip地址会被自动设置为192.168.137.1
查看VMnet1的网卡配置,如下图,可以看到VMnet的ip自动变为192.168.137.1
在虚拟机设置中将网络连接改为仅主机模式,如下图。
执行以下命令:
- [root@tianxia ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth.kevin
DEVICE=eth0
HWADDR=00:0c:29:ec:80:b7
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
IPADDR=192.168.137.128
NETMASK=255.255.255.224
GATEWAY=192.168.137.1
注:ip设置为与VMnet1在同一网段(这里设置为192.168.137.10),子网掩码与VMnet1相同,网关设置为VMnet1的ip地址
重启网络,即:
- [root@tianxia ~]# service network restart
ping一下谷歌的公共DNS服务器,如下:
- [root@tianxia ~]# ping 8.8.8.8
- PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
- 64 bytes from 8.8.8.8: icmp_seq=1 ttl=32 time=221 ms
- 64 bytes from 8.8.8.8: icmp_seq=2 ttl=32 time=218 ms
说明联网成功
注:如果我们ping一下百度,如下:
- [root@tianxia ~]# ping www.baidu.com
- ping: unknown host www.baidu.com
此时pingIP地址可以,但ping域名却不行,这说明虚拟机的域名服务器有问题。执行以下命令:
- [root@tianxia ~]# vi /etc/resolv.conf
在/etc/resolv.conf文件中加上谷歌的公共DNS服务器
# Generated by NetworkManager
search Linux
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
nameserver 8.8.8.8
再ping一下百度
- [root@tianxia ~]# ping www.baidu.com
- PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
- 64 bytes from 61.135.169.125: icmp_seq=1 ttl=52 time=1.97 ms
方法三:桥接网络
之所以把桥接网络放在最后讲,是因为我使用桥接网络并不能联网,猜测原因后面会讲。
将虚拟机网络设置为桥接网络,如下图。
执行以下命令:
- [root@tianxia ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth.kevin
- DEVICE=eth0
- HWADDR=00:0c:29:ec:80:b7
- TYPE=Ethernet
- ONBOOT=yes
- BOOTPROTO=static
- IPADDR=10.8.167.128
- NETMASK=255.255.224.0
- GATEWAY=10.8.160.1
注:ip地址与主机同网段,子网掩码和网关与主机相同
重新启动网络
- [root@tianxia ~]# service network restart
ping一下主机网关
- [root@tianxia ~]# ping 10.8.160.1
- PING 10.8.160.1 (10.8.160.1) 56(84) bytes of data.
- 64 bytes from 10.8.160.1: icmp_seq=1 ttl=254 time=253 ms
- 64 bytes from 10.8.160.1: icmp_seq=2 ttl=254 time=9.31 ms
正常来说这样就应该能连外网,但ping一下百度并不能ping通,猜测应该是被学校的网关卡住了,具体情况我也不造。。。
理解VMware虚拟网络的更多相关文章
- 转-深入理解VMware虚拟网络
原文出处:http://wangchunhai.blog.51cto.com/225186/381225 VMware Workstation是一款非常不错的虚拟机软件,许多爱好者用VMware Wo ...
- Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第五集之补充-转载“深入理解VMware虚拟网络”】
郑重声明,此文太好,按耐不住要保存起来好好研究研究,如果侵权,联系我. 转载自王春海的http://blog.51cto.com/wangchunhai/381225,有所更改. 同时可以参考:htt ...
- 深入理解vmware虚拟网络
0x01:vmware workstation VMware Workstation是一款非常不错的虚拟机软件,许多爱好者用VMware,Workstation设计多种实现环境做测试.VMware W ...
- vmware虚拟网络
VMware 虚拟网络 1.1. 虚拟网卡.虚拟交换机当使用 VMware Workstation 安装一个虚拟机时就会自动安装一块虚拟网此外还可手动给虚拟机添加多块虚拟网卡.交换机用于电(光)信号的 ...
- VMWare虚拟网络编辑
VMWare虚拟网络编辑记录. 点击"编辑->虚拟网络编辑器" 在网卡列表中选择"VMnet8"查看目前设置,点击右下角的更改设置进行网络修改. 备注:更 ...
- VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)
序言 如果你使用VMware安装虚拟机,那么你必定会选择网络连接,那么vmware提供主要的3种网络连接方式,我们该如何抉择呢?他们有什么不同呢?这篇我们就做一个深入. 首先打开虚拟机设置里面的网络适 ...
- VMware虚拟网络编辑器
摘要:很多已经使用VMware很久的同学,也没有接触过VMware的虚拟网络编辑器这个工具.其 实这个工具非常有用.功能也很强大. 我们都知道,安装了VMware软件后,系统中会自动出现VMnet ...
- 本机和虚拟机互联 设置静态IP vmware 虚拟网络 桥接 NAT 仅主机 自定义
- VMWare虚拟机 网络连接模式
这个是rocks 群里面我的一个朋友分享的,我觉很好而且描述的很清楚,这是一个做事的态度问题. 1 VMWare虚拟机bridged.host-only和NAT网络模式的区别和用法 VMWare提 ...
随机推荐
- wamp 两个不同的php.ini
最近在本地开发的windows wamp环境安装一个vld 扩展,碰见一个奇怪的问题,phpinfo() 有 而cli 命令模式里面却没有 最后发现wamp phpinfo()和cli命令模式指向的p ...
- PowerBuilder--Aes128加解密
通过C#开发Com控件,注册到系统,然后由pb通过OLEObject进行调用 原文:https://www.cnblogs.com/eric_ibm/archive/2012/07/06/dll.ht ...
- onkeydown
<input onkeydown="(function(){ )//或者其他 alert("enter") })(event)"/> $(this) ...
- 网页上10秒倒计时,完了后就自动跳转到另一个网页上html代码
用html代码的话就这样: <meta http-equiv="Refresh" content="10;URL=http://www.baidu.com" ...
- 安装mingw后,在命令窗体编译c文件
1.编译test.cpp文件 #include<iostream> int main(int argc,char **argv) { std::cout<<"he ...
- VS2010 fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改 ...
- F - Monkey Banana Problem
F - Monkey Banana Problem Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & ...
- 一些blog地址总结整理:
女神 python之路-网络编程初版:https://www.cnblogs.com/Eva-J/articles/8066842.html python之路-网络编程(重点看这个,更细致):http ...
- 九度OJ 1347:孤岛连通工程 (最小生成树)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1522 解决:314 题目描述: 现在有孤岛n个,孤岛从1开始标序一直到n,有道路m条(道路是双向的,如果有多条道路连通岛屿i,j则选择最短 ...
- ASP-AJAX-分页格式
HTML: <html> <head> <title>Mazey</title> <meta name="description&quo ...