虚拟机的几种网络方式详解
本部分作为2部分进行讲解
1.虚拟机常见的上网模式详细解析
2.在使用虚拟机中常见的问题处理
先看问题1虚拟机常见的上网模式详细解析
虚拟机就是利用真实机的环境用软件的方式模拟成类似真实机系统的一个软件,现在主流的有微软的虚拟机,有vmare,orcale virtualBOx
(orcale virtualBOx原名叫做Sun virtualBOx 前不久刚被orcale公司收购所以改名为orcale virtualBOx)那么不管是那种虚拟机,在虚拟机软件都内置了几种虚拟系统的上网方式,一般有三种桥接(Bridged) nat(地址转换) host-only(单独网络),那么这三种虚拟机的联网方式到底都是什么意思呢?
很多朋友在百度上搜索说,我的虚拟机怎么上不了网?虚拟机要怎么联网的问题? 那么请您详细的阅读这篇文章,您将很熟悉虚拟机的网络方式,真正的玩转虚拟机,虚拟机的主要方式就是上面说的三种,还有想什么不联网的模式,大家字面意思理解都是知道,就是不让虚拟机上网。不喝外界网络联通,这里我就只是简单的提一下,不给大家详细阐述,我们主要来研究桥接(Bridged) nat(地址转换) host-only(单独网络)这三种网络模式,
下图是orcale virtualBOx的网络配置截图,大家可以看到有我们上面的三种模式,在VMware里面也有这三种模式,大家这三种模式一定要理解哦,现在很多服务器租用商所说的 vps 还有虚拟机啊 都会用到下述的网络环境,所以大家要认真看
是不是呢?看到这些熟悉的面孔 ,大家应该知道他们的重要性了,好了开始不如正题吧
我们老百姓家庭用的网络最常见的就是从 电信 ,网通(现在的联通) 移动等这些签线来的,也就是我们的ADSL 拨号上网
那么这种方式做恼火的就是您的一条ADSL线路只能提供一台电脑上网,如果您要多台电脑上网的话,我们就需要购买一个路由器
这样实现几台电脑上网的目的,结构图和下图类似
我们不是说要研究桥接(Bridged) nat(地址转换) host-only(单独网络)这三种网络模式吗?怎么和上网方式扯上关系了呢?
我只是想给大家说的彻底一点,因为很多问题就出在这里,本身通过路由器您的真实机和虚拟机都可以上网,但是您换了adsl单独
的猫上网极有可能虚拟机不能联网哦!所以大家学习要知根知底,这样才能方便我们的理解!
那么到底什么是桥接(Bridged) nat(地址转换) host-only(单独网络)网络呢?
(1)先研究nat(地址转换)
什么是nat?nat就是网络地址转换(NAT,Network Address Translation) 那这又是什么意思呢? 实际上nat 可以作为一个专题来讲,nat将单的说就是讲一个ip地址分成几个ip的方法,广泛用于广域网,那么我们虚拟机使用nat是什么意思呢?怎么实现的呢?
好的下面我们来看一张图:
上面就是我们生活中最常见的2中上网方式,以及nat的图示,上图中PC2 PC3 为我们的真实机,娃儿PC4 PC5为分别是我们PC2 PC3 上的虚拟机
那么如果您给您的虚拟机PC4 PC5设置了NAT网络,那么您的虚拟机PC4 PC5将使用真实机PC2 PC3的ip地址,但是又不是PC2 PC3的ip地址,因为
PC2 PC3将他们的地址nat了也就是转换了比如说,PC2 ip 地址为192.168.1.88 通过nat以后假设地址为 10.2.15.2~255,那么建立在pc2上的虚拟机的pc4的ip地址就会在10.2.15.2---10.2.15.255 选择一个作为自己的ip地址,这样说明白了吗?此时我们的真实机和虚拟机是可以相互通讯的,那么我们的虚拟机能上网吗通过nat的方式? 大家看了上面的话就知道一些眉目了,我们现在都知道了,虚拟机如果通过nat的方式没那么他的ip地址是由真实机那里通过转换而来的,也就是说,真实机的ip地址和虚拟机的ip地址映射的关系,虚拟机要上网那么他的上网步骤是这样的:假设虚拟机的ip是10.2.15.8 真实机的ip是
192.168.18.3,那么虚拟机要上网比如我们去访问www.51safer.com,首先会用虚拟机自己的ip(10.2.15.8)去访问www.51safer.com,但是是通过我们的主机来上网的,前面不是说了吗,虚拟机的地址是主机转换而来的,那么他要访问,还必须经过主机再次转换,即讲10.2.15.8转换成真实机的ip地址(192.168.18.3)去访问www.51safer.com,但实际上我是通过路由器来上网的,我们的真实机会把这个数据包交给路由器,然后路由器通转换为外网ip去访问我们的网站www.51safer.com,整个过程如图
当虚拟机访问网站www.51safer.com的时候:
虚拟机发布访问www.51safer.com请求(10.2.15.8)---》经过真实机把10.2.15.8转换为192.168.18.3------》
-----》路由器将192.168.18.3转换外外网ip 211.167.97.67提交访问www.51safer.com的请求数据包
注:内网,也叫局域网。从范围上来讲,内网就是小部分的网络。如,最小最简单的内网就是二台电脑用网线连接起来,就是一个内网。一般的特定环境,都是内网,如学校的校园网;公司单位的局域网等。内网IP地址常见的有如,192.168.1.8、127.0.0.3……这些都是内网IP。内网IP是不能直接连接外网的。
- 外网,也叫互联网。从范围上来讲,是指全球性的互联网络。如在中国用电脑上网,连接访问美国的微软官网,就需要通过外网连接才能访问。外网IP地址是可以进行全球连接的。内网与外网如何连接交互?一般通过路由器连接,将内网电脑与外网电脑进行地址转发实现。在没有公网IP的情况下,如何实现外网访问内网应用,如内网OA网站、SVN、数据库、远程桌面远程、SSH等?可以通过开放的网络辅助实现,如nat123端口映射,在内网将域名绑定服务器,访问域名即访问到对应应用。
那么数据包回来的时候就是这样反方向的过程
至于直接通过猫单独上网的用户,如果您的虚拟机使用nat方式上网那么过程如下
虚拟机发布访问www.51safer.com请求(10.2.15.8)---》经过真实机把10.2.15.8转换为外网ip 211.167.97.67------》
提交访问www.51safer.com的请求数据包
数据包回来的时候就是相反的
这样大家明白了虚拟机的nat上网模式了吧,为了大家更好的理解,我给大家准了几张图,大家看了就会明白
1.从下图可以看出真实机的ip为192.168.18.8,虚拟机通过nat以后ip为10.0.2.15
2.由于真实机可以访问www.51safer.com,虚拟机的nat网络也可以访问www.51safer.com
3.虚拟机和主机是一个独立的网络,2个可以互相通讯,大家即使真实机无法联网,虚拟机也可以访问真实机上面
的一些共享资源
4.下面我把真实机的ip从原来可以上网的192.168.18.8改为现在不能上网的192.168.188.8,虚拟机依然可以访问我们
的真实机,但是由于真实机没法上网,所以虚拟机也不能上网了,因为nat转化后的一个ip(192.168.188.8)
是我们真实机的ip,而真实机的ip无法上网,所以虚拟机同意不能上网
这就是上面的nat网络架构,大家一定要注意,nat网络不管真实机可不可以联网,虚拟机都可以和我们的主机通讯
,而虚拟机要上网必须满足真实机可以上网!
(2)桥接(Bridged)
当虚拟机使用桥接网络以后,实际上这台虚拟机就是一台单独的机器,什么意思呢?这样给大家说,如果您是通过
路由器上网,真实机的ip是通过路由器自动获得的ip为192.168.18.8,虚拟机一旦设置了桥接网络模式,那么他
也会向我们的上级路由器获取ip地址,这个时候虚拟机的ip地址i就应该和真实机的ip地址在一个网络范围内(同一子网)
也会在192.168.18.0/25也就是说当你选择桥接模式以后,虚拟机和真实机是完全不相干的,真实机能上网与否,
和虚拟机没有任何关系,虚拟机这个时候在乎的是上级同一子网的设备有没有自动分配ip的功能,至于真实机不能上网,
但是他依然可以,是没有影响的明白了吗?注意上不许要满足上级的设备有自动分配ip的功能,向我们的路由器
就是了,像你上级只是单纯的hub 集线器, 交换机而没有路由器是不可以的哦,因为虚拟机不能获取ip地址
这种网络结构图就是这样的,大家可以看看
如上图所示,PC2 PC3是我们的真实机,PC4 PC5分别是上面2个真实机上面的虚拟机,那么如果使用桥接网络的话
PC4 PC5虽然是运行在PC2 PC3上面,但实际上他们是直接和路由器进行通讯的,不和主机打交道,唯一有联系的
地方就是真实机上运行了这个虚拟机系统软件,借用了真实机的网卡罢了,设想真实机的网卡你罢了,虽然我们再说
桥接模式和真实机没有关系,但是这个时候虚拟机连和外面通讯的网卡硬件设备都没了当然也不能上网啦,呵呵,
下面我们还是开看看图来理解桥接模式吧
1.虚拟机通过桥接模式可以和外接通讯!ip是路由器自动分配的,而此时真实机还是192.168.188.8的无效网内ip
2.由于真实机是无效网内ip,所以真实机无法联网,但是虚拟机却完全可以和外界互通!
3.我们通过连线到路由器。会发现,我们的虚拟机的确是直接通过路由器在上网,ip是路由分给他的,和主机没关系
(3)host-only
这种模式就是虚拟机自己完全不能和外界通信,相当于您家里买了一台电脑没有联网是一样的,很简单!
2.在使用虚拟机中常见的问题处理
问题1 如果您家里不是通过路由器上网的而是直接通过ADSL拨号上网的,此时您的真实机
已经通过拨号连上了互联网,那么您的虚拟机选择桥接模式后,虚拟机能上网吗?
答:不能!因为我们说了,虚拟机一旦选择桥接,就相当于是和主机完全独立的第二台计算机了,
你没有见过一个adsl帐号,能同时在2太电脑上登陆的吧,呵呵
问题2. 我也是用的adsl上网,没有路由器,是直接拨号的,请问怎么样才能满足虚拟机可以上网呢?
答:很简单,虚拟机一旦选择桥接,就相当于是和主机完全独立的第二台计算机,也就是,要么你真实机
拨号联网,你用您的真实机上网,要么您就直接在您虚拟机里面建立一个宽带连接,使用虚拟机拨号上网
2者不能同时进行,只能选择一个
问题3 家里adsl上网,没有路由器,是直接拨号的上网的,怎么实现真实机和虚拟机同时上网呢?
答,第一种方案就是你可以买一个路由器,通过路由器上网,这个时候您的虚拟机就可以通过桥接或者nat进行上网连接了
第二种方案就是您的虚拟机直接采用nat上网,这样您的主机照样拨号上网,而虚拟机也可以上网了,推荐这种
问题4 主机不能上网,虚拟机通过nat的方式进行上网,那么虚拟机可以上网吗?
答:不能!应为从上面的访问网站的过程中可以知道,我们的虚拟机要上网,最终还是要把虚拟机的ip通过真实机转化为真实机的ip然后才去联网,试想,如果真实机自己的ip地址都无效不能上网,即使虚拟机的ip转换成了真是的ip,然而真实机的ip不能上网,虚拟机还是不能上网的!
问题5 什么模式下虚拟机可以访问主机的共享资源,或者可以和主机通讯呢?
答.分2种情况,第一种:如果您是通过路由器上网,那么 nat 和 桥接都可以实现真实机和虚拟机的通信
第二种:如果您是用的ADSL拨号上网没有路由器,那么只有nat 模式!
内网,也叫局域网。从范围上来讲,内网就是小部分的网络。如,最小最简单的内网就是二台电脑用网线连接起来,就是一个内网。一般的特定环境,都是内网,如学校的校园网;公司单位的局域网等。内网IP地址常见的有如,192.168.1.8、127.0.0.3……这些都是内网IP。内网IP是不能直接连接外网的。