如何在无法获取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的提供了四种网络接入模式,它们分别是:
- NAT 网络地址转换模式(NAT,Network Address Translation)
- Bridged Adapter 桥接模式
- Internal 内部网络模式
- 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, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)