virtualbox 网络配置

初衷

在开发过程中,我们经常需要使用linux作为各种各样的服务器,比如搭建一个redis集群,一个fastDFS的文件系统等等。而这些环境通常是搭建在公司里(内网环境),当我们下班回家,或者出差途中,无网络环境等等情况,想要继续开发,我们可以借助虚拟机搭建单机开发环境。

virtualbox的网络模式

  • NAT模式
    这是最常用的虚拟机上网的网络模式,这种模式下,虚拟机可以访问宿主机以及和宿主机在同一网络的所有主机,但这个过程是单向的,宿主机以及其他与宿主机在同一网络的主机都不知道虚拟机的存在。并且,在同一宿主机下的其他虚拟机也无法相互访问。

  • 桥接模式
    桥接模式也是我们最常使用的网络,所谓桥接,就是虚拟机借助与宿主机之间的一个虚拟网桥直接连接到外部网络中,网络地位与宿主机一致,在网络中拥有自己的IP。但是这种模式往往不能满足我们的开发需求,因为在不同的网络环境下,虚拟机所分得的IP会不同,这样会导致一些需要绑定IP的服务无法正常运行。

  • 内网模式
    内网模式就是在宿主机上所有的虚拟机之间架设了一个内网。虚拟机与虚拟机之间可以相互访问,但是宿主机和其他任何主机都无法访问这个内网。

  • hostonly 模式
    hostonly 顾名思义,宿主机和虚拟机之间可以实现互相访问,但是虚拟机无法访问外部网络。但是这个网络模式比较灵活,可以通过配置hostonly网卡共享本机物理网卡网络来达到连接外网的目的。这时,hostonly网卡拥有一个固定不变的IP(配置共享后会自动获得一个,我们可以更改),这个IP需要和虚拟机内网在同一网段中,我们还需要禁用掉virtualbox自带的dhcp,然后配置虚拟机网关为hostonly网卡所对应的IP,并且我们还需要配置虚拟机的dns是宿主机的dns。完成以上操作,我们就可以让虚拟机连接外部网络了。

  • NAT 端口转发 模式
    NAT 端口转发 与 NAT模式 基本相同,不同之处在于,我们可以通过配置 宿主机 和 指定IP虚拟机 之间的端口映射来达到宿主机访问虚拟机指定服务的效果。

网络环境变动的情况下,搭建稳定的linux服务

回到一开始的问题,我们怎么在网络环境变动的情况下,获得一个基于virtualbox的稳定的Linux服务器。NAT模式和内网模式肯定是不可以的,因为宿主机无法访问虚拟机。其次桥接模式,最为简单,无需配置,虚拟机还可以上网,但是问题在于,网络环境一旦变动,虚拟机的IP也会跟着变动,这和我们希望网络环境稳定的预期不符。hostonly模式可以达到要求,但是我们需要在每次网络环境变动时,修改虚拟机的dns。也很麻烦。最后是NAT 端口转发模式,这里,我们只需要配置内网主机IP为静态,这样保证了一台虚拟机拥有一个一成不变的IP。假设这里是我们映射虚拟机为192.168.27.220:7000的服务,则宿主机可以将127.0.0.1的57000端口映射为虚拟机192.168.27.220:7000,这样我们无论到网络环境如何变化,都可以拥有一个稳定的linux服务。

配置方式也很简单:选中要配置的虚拟机,点击设置,选择网络,再选择连接方式为:网络地址转换(NAT)。然后展开高级选项,打开端口映射,然后配置转发即可。

posted on 2018-02-09 10:37  大胡子爸爸  阅读(145)  评论(0)    收藏  举报

导航