标签:
简述:VMware虚拟网络概述、实现虚拟网络上网
子网掩码、DHCP、NAT,这些点请自行百度,百度百科讲的很清晰。
转载:本文出自 “王春海的博客” 博客http://wangchunhai.blog.51cto.com/225186/381225
注:在转载文章上对于每一种网络都增加了例子
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等参数。
在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网络”之间选择。
在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 简化后的网络拓扑
下面介绍各虚拟机之间与主机之间的网络关系。
当虚拟机选择使用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虚拟网络拓扑
深入理解:“可以互相通讯”,这句话表示,当A11、A12、A13、A都连接到VMnet1虚拟交换机时,这4台计算机可以互相通讯,但不一定能通讯。为什么呢?如果A11、A12、A13、A没有设置同一子网的IP地址,这是不能互相通讯(互相访问)的;或者虽然设置同一网段的地址,但A11、A12、A13、A有防火墙,禁止其他计算机访问,这时也是不能通讯的。只有当A11、A12、A13、A连接到同一个虚拟交换机,并且在网一网段(IP地址还不能冲突)、并且没有防火墙(或者有防火墙,但允许其他计算机访问)时,才有可能通讯。
使用VMnet1虚拟网卡的计算机,不能访问外网,外网也不能访问VMnet1虚拟网卡的计算机。在图3-5(图3-6)的网络中,虚拟机A11、A12、A13与B、Z没有网络关系,它们不能互相访问。
假设主机的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使设置生效
如果虚拟机使用“桥接方式”,即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可以互相访问。
假设主机的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
如果虚拟机使用VMnet8,则虚拟机可以通过主机网络,单向(从虚拟机到主机、外网)访问物理主机之外的网络,而主机以外的网络不能访问使用VMnet8的虚拟机。但这个的前提是,主机要能访问外网(或网络上的其他计算机),如果主机不能访问外网,则配置为VMnet8虚拟网卡的虚拟机,也不能访问外网。
将图3-5(图3-6)中与VMnet8的虚拟网络与虚拟机,简化成图3-9的方式。
图3-9 VMnet8虚拟网络
主机A的VMnet8虚拟网卡,连接到VMnet8虚拟交换机,VMnet8虚拟交换机连接到“虚拟路由器”,“虚拟路由器”再连接到“VMnet0虚拟网卡(也即主机物理网卡)”,并通过“VMnet0虚拟网卡”连接到“VMnet0虚拟交换机”,“VMnet0虚拟交换机”连接到主机物理网络。这也就表明,连接到“VMnet8虚拟交换机”的计算机(虚拟机或主机),需要通过“虚拟路由器”→“VMnet0虚拟网卡”→“VMnet0虚拟交换机”的方向连接到主机物理网络。
假设主机的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
下面这篇文章写的言简意赅,也引用一下。
转载自: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模式
方式一: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通,猜测应该是被学校的网关卡住了,具体情况我也不造。。。
标签:
原文地址:http://www.cnblogs.com/kevinq/p/4684269.html