如何在无法获取IP的环境中配置VirtualBox的网络

如何在无法获取IP的环境中配置VirtualBox的网络

背景介绍:

公司网络不能自动获取IP和指定IP设置,因此无法使用Bridge方式访问,所以只能使用NAT方式访问,但是NAT方式又无法实现主机与虚拟机的互通,作为Hadoop分布式环境的构建,各个节点间的互通又是必须的。

设定方法:

基于后文的解释,设定如下:

NameNode节点设置两块网卡

网卡1:NAT方式,实现虚拟机通过主机网卡访问外网
网卡2:Host-Only方式,实现主机与虚拟机之间互通

\注意:* 虚拟机的网卡2的IP地址需要与主机的VirtualBox Host-Only Network的IP地址设定到同一个网段,这样才能保持主机与虚拟机的互通。
这里网卡2没有设置为Internal方式的原因是,Internal方式无法与主机互通,操作上会有不方便的地方,故使用Host-Only方式。

各个Slave节点设置一块网卡

网卡:Host-Only方式,实现主机与虚拟机之间互通

各个Slave节点可以不访问因特网,只需要保持与NameNode节点互通,同时保持与主机Host互通(操作方便)即可。

详细IP设定如下:

  • Host(主机):192.168.56.1(默认)
  • NameNode:192.168.56.100(手动设定)
  • SlaveNode: 192.168.56.101~开始即可(手动设定)
    \ Slave节点的IP设置可以具体根据需要的节点数来分配*

关于Hadoop的配置,后续会整理上来
配置环境基于本次整理的虚拟机环境(1个NameNode,2个SlaveNode


以下解释摘自豆瓣网

VirtualBox的提供了四种网络接入模式,它们分别是:

  1. NAT 网络地址转换模式(NAT,Network Address Translation)
  2. Bridged Adapter 桥接模式
  3. Internal 内部网络模式
  4. Host-only Adapter 主机模式

第一种 NAT模式

NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。

  • 虚拟机与主机关系:
    只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
  • 虚拟机与网络中其他主机的关系:
    只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
  • 虚拟机与虚拟机之间的关系:
    相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。

第二种 Bridged Adapter模式

网桥模式的模拟度相当完美。你可以这样理解,它是通过主机网卡,架设了一条桥,直接连入到网络中了。
因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。

  • 虚拟机与主机关系:
    可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
  • 虚拟机于网络中其他主机关系:
    可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
  • 虚拟机于虚拟机关系:
    可以相互访问,原因同上。
    IP:一般是DHCP分配的,与主机的“本地连接”的IP 是同一网段的。虚拟机就能与主机互相通信。

第三种 Internal模式

内网模式,顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。

  • 虚拟机与主机关系:
    不能相互访问,彼此不属于同一个网络,无法相互访问。
  • 虚拟机与网络中其他主机关系:
    不能相互访问,理由同上。
  • 虚拟机与虚拟机关系:
    可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。
    IP: VirtualBox的DHCP服务器会为它分配IP ,一般得到的是192.168.56.101,因为是从101起分的,也可手工指定192.168.56.*。

第四种 Host-only Adapter模式

主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。
我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。
虚拟机与主机关系
默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。
通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。

  • 虚拟机与网络主机关系
    默认不能相互访问,原因同上,通过设置,可以实现相互访问。
  • 虚拟机与虚拟机关系
    默认可以相互访问,都是同处于一个网段。
  • 虚拟机访问主机 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永远通。

主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永远通。
虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)