最近接觸hadoop,需要在在Linux上面開發,所以我裝了一個virtualbox虛擬機器,在該虛擬機器上面安裝了一個centOS系統。linux系統是裝好了,但是網路配置卻另人頭疼。我主要是想讓宿主機和虛擬機器能夠互相訪問。
然後我就百度了一下,根據百度的結果一步一步的配置。
安裝virtualbox之後它會在宿主機上面安裝一個虛擬網路卡,如圖
雙擊它,檢視詳情,資訊如圖所示
在虛擬機器上面配置網路我使用的是host-only方式,當然也可以使用橋接的方式,至於他們的區別,網上很多。虛擬機器上面主要是使用這塊虛擬網路卡作為閘道器。
進入centOS系統後主要有三個檔案需要配置:
1、修改ip地址
使用命令 vi /etc/sysconfig/network-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)。ping www.baidu.com 結果為無效的主機名。 這問題困擾了我整整一天,百度也找不到結果。我知道問題肯定出在ip的配置上面,在今天晚上百度無果後,我想到了那塊虛擬網路卡,我用上面的方法配置,是用那塊虛擬網路卡作為閘道器的,但是那虛擬網路卡根本就沒有配置,它與我的電腦上的網路卡沒有一點關係,直接去用它肯定是不行的。後來我又想到我們可以使用寬頻共享無線wifi,為什麼不能把寬頻連線共享給那塊虛擬網路卡呢?馬上試一下,啟動共享後,虛擬網路卡的ip又改變了,然後重新在centos按照上面步驟配置一下網路資訊,結果還真的可以了,困擾我一兩天的問題終於解決了。
ping 宿主機,ok.
ping www.baidu.com 也ok.