Virtualbox中ubuntu配置ip地址及DNS

環境:
windows 7 SP1
virtualbox 4.1.4 r74291
ubuntu 11.10

virtualbox中安裝ubuntu虛擬機之後,啓動ubuntu,在virtualbox的“設備→分配網絡連接→連接方式”中選擇bridged adapter,這樣設置之後虛擬機便有獨立的局域網ip。

但可能是由於本人安裝了多個虛擬機,且虛擬機多次開啓和關閉,有時一個虛擬機啓動後自動分配的ip地址會不一樣,所以需要使用下面的方法來配置靜態ip地址。

一、啓動虛擬機,查看當前網絡配置信息
命令行執行ifconfig,結果爲:
tigerchan@tigerchan-VirtualBox:~$ ifconfig 
eth1      Link encap:以太網  硬件地址 08:00:27:e0:0a:ff  
          inet 地址:192.168.1.115  廣播:192.168.1.255  掩碼:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:576  躍點數:1
          接收數據包:2583 錯誤:0 丟棄:0 過載:0 幀數:0
          發送數據包:2235 錯誤:0 丟棄:0 過載:0 載波:0
          碰撞:0 發送隊列長度:1000 
          接收字節:980042 (980.0 KB)  發送字節:262630 (262.6 KB)

lo        Link encap:本地環回  
          inet 地址:127.0.0.1  掩碼:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  躍點數:1
          接收數據包:242 錯誤:0 丟棄:0 過載:0 幀數:0
          發送數據包:242 錯誤:0 丟棄:0 過載:0 載波:0
          碰撞:0 發送隊列長度:0 
          接收字節:292381 (292.3 KB)  發送字節:292381 (292.3 KB)

目前已配置了網卡eth1。
好吧,那此次配置的靜態ip就用192.168.1.115。

二、修改配置文件
ubuntu網絡配置文件爲:/etc/network/interfaces
DNS配置文件爲:/etc/resolv.conf

下面介紹設置DHCP(設置之後,ip地址仍不固定)和靜態ip兩種方法。
1、DHCP配置方式
編輯配置文件:
tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/network/interfaces 
auto lo
iface lo inet loopback

在文件中追加一下內容:
auto eth1
iface eth1 inet dhcp
重啓網絡使配置生效:
sudo /etc/init.d/networking restart
重啓之後網絡及DNS均能正常使用。

2、配置靜態ip地址
編輯配置文件,修改內容爲:
tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/network/interfaces 
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 192.168.1.115
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

當然,地址、網關、掩碼、子網、廣播地址根據自己的需要進行配置。
此時,重啓網絡之後執行ping 119.75.218.70(百度)能ping通,而執行ping www.baidu.com不能ping通,因爲沒有設置DNS服務器。

3、配置DNS
修改DNS配置文件:
tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/resolv.conf 
nameserver x.x.x.x
nameserver x1.x1.x1.x1
x.x.x.x爲首選DNS服務器地址,x1.x1.x1.x1爲備用DNS服務器地址。可以設置一個或多個。

保存後重啓:
sudo /etc/init.d/networking restart

完成配置靜態ip地址。
但是還有一個問題,每次重啓ubuntu,DNS配置會被清除,必須重新配置才能使用DNS。於是,期望在網上尋求答案。但是,很遺憾,搜索到的幾個方法根本行不通,而且同一篇文章被轉發了無數次,卻有一些人在ubuntu和chinaunix的論壇上抱怨網上的方法根本不起作用,不知那些轉發文章的人是否自己驗證過或者去尋求正確的答案。
於是,自己想了一個簡單的方法解決問題,即是在啓動腳本/etc/rc.local中將DNS服務器地址寫入/etc/resolv.conf:
tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/rc.local  
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo "nameserver x.x.x.x" >/etc/resolv.conf
echo "nameserver x1.x1.x1.x1" >>/etc/resolv.conf

exit 0

在文件中添加了兩行echo,保存並關閉文件。
重啓系統後,DNS也可以正常使用了。夠簡單吧。

不過,當然,你要保證/etc/rc.local可執行並且執行正確。
我曾遇到這樣的問題:按照上面的過程配置了,但是啓動後並沒有執行兩條echo命令。檢查rc.local權限發現所有用戶具有可執行權限。之後發現,rc.local的第一行是#!/bin/sh -e,其中-e選項表示只要任何一條命令出錯,腳本就會停止執行。哦,原來是在兩條echo命令前的一條命令執行出錯了!解決方法有兩種,一是刪除-e,二是將兩條echo命令移到執行錯誤的命令之前。
配置終於perfect了!

最後,
如果安裝ubuntu後無法連網,可以使用上述DHCP和靜態ip地址的方法。無論對於實機安裝還是虛擬機安裝,上述兩種方法均成立。

轉載:http://blog.csdn.net/gudaoqianfu/article/details/7335077
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章