最近玩Hadoop需要几个虚拟机构成集群,就在VirtualBox上安装了CentOS,联网问题就出现了,具体就是两个:
- 主机与虚拟机的联通
- 虚拟机的上网问题
翻了不少博客,最终解决了这个问题
环境介绍
我的主机是Ubuntu14.04,VirtualBox版本是4.3.28,安装的虚拟机是CentOS 6.3
外部环境是校园网,通过PPPoE
拨号上网
要实现两个目标:
- 主机和虚拟机能够互相联通(比如SSH登陆)
- 虚拟机能够上网,方便安装软件和升级
原理
虚拟一块网卡,这块网卡与主机是Host-Only,这样就解决了问题1
;
虚拟机设置为DHCP
方式获得IP
地址,这样只要主机能够上网,虚拟机也可以上网,解决了问题2
;
具体步骤
步骤1
首先,打开管理
–>全局设定
–>网络
–>仅host-only网络
:
点击新建,就可以看见创建了新的网卡vboxnet0
,点击右键进行编辑,如下:
默认的地址是:
192.168.56.1
,我也就不准备改了,需要的自己手动编辑吧
点击确认以后,回到咱们自己的主机Ubuntu上,输入ifconfig
:
咱们指定的虚拟网卡就加上了,地址是默认的192.168.56.1
步骤2
虚拟机的设置
为:
eth0:NAT方式
eth1:host-only
具体如下:
步骤3
启动虚拟机吧,接下来编辑几个文件就行了
(1)/etc/udev/rules.d/70-persistent-net.rules
这里我们要看下虚拟的网卡的MAC
地址,MAC
地址写错是启动不起来的
下图标红的地方就是MAC
地址,你的跟我的肯定不一样不要照抄我的哈,大家将它记下来以后用得上:
(2)/etc/sysconfig/network-scripts/ifcfg-eth0
这个文件是eth0
也就是第一块网卡的配置文件,这里我们需要改几个地方,如下图标红显示:
(3)/etc/sysconfig/network-scripts/ifcfg-eth1
先别急,你的机器上暂时没有这个文件,先拷贝一份ifcfg-eth0
:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
这是eth1
也就是虚拟的那块网卡的配置文件:
你需要设置相应的IP地址(与主机联通)和Netmask(子网掩码)和Gateway(网关),最后还有一点就是修改MAC
地址,还记得之前让你记得地址吗????对,就是它,写上就可以了
我设置的地址是192.168.56.3
,地址一定要与你设置的子网(默认是192.168.56.1)在一个网段,你自己看着设吧,其他的参见我标红的地方,都不用改,当然你的MAC
地址跟我是不一样的哈
步骤4
重新启动整个网络:
/etc/init.d/network restart
OK的
测试下能不能上网:
就安装个openssh-clients
软件试试吧
yum install openssh-clients
没问题
测试下能不能够连接主机(ssh方式):
ssh [email protected]
成功登陆
此时我们的虚拟机地址是:
eth0:10.0.2.15
eth1:182.168.56.3