最近接触hadoop,需要在在Linux上面开发,所以我装了一个virtualbox虚拟机,在该虚拟机上面安装了一个centOS系统。linux系统是装好了,但是网络配置却另人头疼。我主要是想让宿主机和虚拟机能够互相访问。
然后我就百度了一下,根据百度的结果一步一步的配置。
安装virtualbox之后它会在宿主机上面安装一个虚拟网卡,如图
双击它,查看详情,信息如图所示
在虚拟机上面配置网络我使用的是host-only方式,当然也可以使用桥接的方式,至于他们的区别,网上很多。虚拟机上面主要是使用这块虚拟网卡作为网关。
进入centOS系统后主要有三个文件需要配置:
1、修改ip地址
使用命令 vi /etc/sysconfig/newwork-scripts/ifcfg-eth0 修改该文件内容如下
DEVICE="eth0"
BOOTPROTO="static" 这里改为使用静态ip
HWADDR="08:00:27:0C:33:8F"
NM_CONTROLLED="yes"
ONBOOT="yes" 设置为自动启动
TYPE="Ethernet"
UUID="f4adafbc-322d-4dc8-b549-4291f1c04f01"
IPADDR=192.168.137.101 设置该虚拟机的ip地址,要与宿主机在一个网段,但是不能重名
NETMASK=255.255.255.0 设置子网掩码
#GATEWAY=192.168.137.1 设置网关,也就是
2、修改网关
使用命令:vi /etc/sysconfig/network 修改该文件内容如下:
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.137.1 这里设置网关,也就是那个虚拟网卡的ip
3、修改DNS
使用命令:vi /ect/resolv.conf 修改该文件内容如下:
nameserver 192.168.137.1 增加一个域名服务器
最后重启一下network服务就ok了,使用命令service network restart.
开始,我按照这个步骤来,完成好配置。在宿主机上面ping虚拟机,没问题能ping通。但是在虚拟机上面ping宿主机和网关则出问题了,更不用说ping外网了。问题如下:
ping宿主机和网关,并没有提示Ping不通,只是接收不到对方的信息,Packets:Sent = 4,Received = 0,Lost= 4(100% loss)。结果为无效的主机名。 这问题困扰了我整整一天,百度也找不到结果。我知道问题肯定出在ip的配置上面,在今天晚上百度无果后,我想到了那块虚拟网卡,我用上面的方法配置,是用那块虚拟网卡作为网关的,但是那虚拟网卡根本就没有配置,它与我的电脑上的网卡没有一点关系,直接去用它肯定是不行的。后来我又想到我们可以使用宽带共享无线wifi,为什么不能把宽带连接共享给那块虚拟网卡呢?马上试一下,启动共享后,虚拟网卡的ip又改变了,然后重新在centos按照上面步骤配置一下网络信息,结果还真的可以了,困扰我一两天的问题终于解决了。
ping 宿主机,ok.
也ok.