VirtualBox网络之nat网络

        NAT网络主要作用是用于虚拟机与外网互通,它是宿主机内部的local网络,只有本主机内部可见,不能跨宿主机。

1.设置默认电脑存储位置

VirualBox创建虚拟机时会占用宿主机的磁盘空间,默认情况下会是C盘,C盘一般是系统盘,不希望在C盘下存储用户数据,可通过如下步骤更改默认设置。启动VitualBox后,点击菜单栏中的管理按键,从弹出的下拉列表里选择全局设定,然后再从弹出的对话框中选择常规选项。默认虚拟电脑位置这一栏设置成数据盘下的某个目录,如下图1所示:

  

                                               图1

2.创建NAT网络

在创建虚拟机并为其指定NAT网络时,会弹出如下图2所示的界面,其中包含网络地址转换(NAT)与NAT网络两个选项,这两个选项有什么区别呢?可以这样理解,网络地址转换(NAT)为VirtualBox内置的已经创建好的NAT网络,其网段为10.0.2.0/24,这个网络不允许用户管理,为了直观起见,在本例中创建自己的NAT网络。


                                                                        图2

点击菜单中的管理按键,选择全局设定,再从对话框中选择网络,然后点击界面上的加号图标,弹出NAT网络明细对话框。其中网络名称随意,网络CIDR一栏的地址不能与宿主机所属的任何一个物理网络冲突,也不能与宿主机中已经存在的其它虚拟网络冲突,下图3中,CIDR为10.0.3.0/24,VirtualBox会将10.0.3.1这个IP设置成网关,并且选中支持DHCP选择。这样就创建了网络号为10.0.3、具备DHCP功能、默认网关为10.0.3.1的NAT网络,这些功能都是Virtualbox通过一个服务进程实现的。

  

                                                     图3

3.创建虚拟机

NAT网络已经就绪,接下来可以创建虚拟机了。

第一步:点击工具栏上的创建按键,在弹出的对话框中点击专家模式,如下图4所示,输入新创建虚拟机的名称,选择相对应的类型、版本。为虚拟机分配内存,这里是1G,这个是创建者自行分配。选择现在创建虚拟硬盘,并点击创建。


                                                            图4

第二步:创建虚拟磁盘,虚拟机也需要磁盘。在VirtualBox中,虚拟机中的磁盘其实就是宿主机中的某个特殊格式的文件,现在创建这个文件。如下图5所示。图中ubuntu-01就是文件名,文件大小设置成10G,虚拟磁盘文件类型有六种,对于某些特殊的操作系统,操作系统中的特殊应用如数据库,为了实现某些特殊的功能或者更好的IO性能可能会对这个有要求,本例中可任选其一,然后点击创建,就会在文章一开头设置的目录下,生成一个名为ubuntu-01的文件,这个文件就是虚拟机的系统盘。如果有必要的话,可以创建多个这种文件,然后将创建好的文件挂接到虚拟机上去,就像在物理机下新插入一张磁盘一样。


                                                  图5

第三步:创建网卡。完成以上两步后,已经拥有了一个可以安装操作系统的虚拟机了,如下图6所示,



                                          图6

在安装操作系统之前,可以对虚拟机进行更详细的控制,如指定CPU数,添加网卡等。先选中虚拟机,然后点击工具栏上的设置按键,从弹出的对话框中选择系统选项,然后再点处理器,如下图7,可以看到这个虚拟机默认使用一个CPU,就采用默认设置。


                                                                         图7

然后再点击网络选项,如下图8所示。首先只启用网卡1,其它不启用。连接方式选择NAT网络,然后从界面名称的下拉列表中选择在第创建NET网络步骤中指定的NAT网络名称。高级选项中采用默认值,Virtualbox自动生成的MAC地址,这个就是虚拟网卡的MAC地址了。


                                                                          图8

虚拟机CPU、磁盘、网卡都有了,就像一台真正的物理机了。然后按相同步骤创建另外一台虚拟机ubuntu-02。在安装操作系统之前,先俯瞰一下虚拟机的目前的网络示意图,看一下VirtualBox为做了那些事情,如下图9。


                                                       图9

首先,VirtualBox为创建了一个虚拟的二层交换机,两台虚拟机中的网卡都联接在这台交换机上。同时,此交换机具备DHCP功能,管理10.0.3.0/24的地址池,它的网关地址是10.0.3.1。另外DHCP还负责管理DNS地址,这里的DNS地址的来源是宿主机,VirtualBox从宿主机拿到后设置在这里。当虚拟机启动时,DHCP服务会为它分配IP地址,设置网关,设置DNS服务器地址。

其次,VirtualBox为创建了一个三层的虚拟路由器,路由器中的路由表来源于宿主机,其实是与宿主机共享路由表。同时,因为创建的是NAT网络,这个路由器除了一般的路由功能,还是一个配置了NAT功能的路由器,实现宿主机IP地址+端口号与虚拟机IP地址+端口号之间的映射,最终实现与外部网络的通信。

可以看出,已经实现了一个完整的内部网络,包括带DHCP功能的二层交换机与带NAT功能的三层路由器。

4.安装操作系统

有了网络,有了虚拟机,接下来就是安装操作系统了。为两台虚拟机安装ubuntu操作系统,使用的ISO文件为ubuntu-16.04.3-server-amd64.iso,没有的话可以去官网先下载到本地。先选中创建好的虚拟机,再点击工具栏中的启动按键,会弹出一个对话框,如下图10所示,在对话框中指定本地的iso文件的路径,然后再按启动,余下的步骤与在物理相上安装操作系统一样,此处不表。


                                                            图10

为两台虚拟机安装好操作系统,然后启动。确认一下ubuntu-01这台虚拟机的网络设置。

确认网卡配置,如下图11


                                                  图11

enp0s3就是在创建网卡步骤中创建,它分配到的IP地址为10.0.3.5。由图9可知,这个IP是由宿主机中的DHCP指定。

接下来看一下路由表,如图12。


                                                      图12

共有两条配置,使用的网卡都是dnp03s.当目录主机属于10.0.3这个网络时,直接交付,因为处于同一网段,所以不起路由,就是第二条配置。除10.0.3网段以外的目的主机,都走默认路由10.0.3.1,此时数据包就会通过图9中的网络地址转换,映射成宿主机IP,然后通过宿主机路由,最后通过宿主机上的网卡发送出去,反之已然。

确认一下DNS配置,如图13,与宿主机配置相同.


                                                           图13

ping一下外网,如图14,是通的,能正确解析域名。


                                                                             图14

 ping一下另一台虚拟机,如图15也是通的。


                                                            图15

5.VirtualBox NAT网络常见问题及解决方法

问题1:安装操作系统时提示无法通过DHCP服务配置网络

VirtualBox是通过某个服务进程提供网络服务的,如果创建好网络后长时间不用或者运行了很长时间,相关的进程可能会被动或者主动的down掉,可重启VirtualBox,或者像如图3中所示的将启用网络处的对号去掉,然后再重新勾选,一般就可以解决了。

问题2:ping不通过外网

由网9可知道,与外网的通信实际上是先通过NAT,然后由宿主机代为转发。ping不通有可能是宿主机本身就不可以,有可能是因为宿主机防火墙的限制,这个时候可以关闭宿主机防火墙,也可能是宿主机所在网络的限制,网络管理员限制了特定端口以及特定流量包通过本网络。ping不通不等于不能联外网。

问题3:无法解析域名。

这个问题是因为虚拟机DNS服务器IP地址设置不正确。一般情况下虚拟机中的DNS设置与宿主机是一样的,但是也不尽然。如果是在公司创建的网络,然后把电脑拿回家用,这个时候宿主机的DNS设置就会发生变化,而VirtualBox目前并不能实时的将宿主机的这种变化反映到虚拟机中去,而虚拟机中原来的DNS服务器地址在新的网络环境下可能是无效的,从而无法解析域名。可以手动设置成正确的DNS服务器地址,也可以像问题1一样重新启动VirtualBox,然后在虚拟机中重新启动一下网络服务,保证双方一致。

问题4:无法联到外网。

虚拟机安装好以了以后,在后续的操作时有意无意之间,改变了虚拟机的路由表或者iptables设置,导致网络不通,手动恢复即可。

总结:如果遇到网络问题,首先重新启动VirtualBox,无法解决的话就查看虚拟机网络配置,无非就是网卡配置、DNS配置、路由表、iptables等,找到问题解决即可。

  • 24
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值