解決ubuntu10.04上網慢之終極教程

來源:互聯網
上載者:User

 

Ubuntu上網慢?沒錯!不要再懷疑,Ubuntu上網的確要比Windows下慢。慢在哪裡呢?
在Ubuntu 9.10下使用Firefox瀏覽網頁的時候你會發現,左下角的狀態列裡,長時間的顯示:Looking up xxxx.com.... 或者 Connecting to xxxx.com 的資訊。此時頁面保持空白.

當這條資訊終於跳過去的時候,便是快速的Transferring data from xxxx.com,很快,

頁面顯示完畢。此時我們得出結論:慢在DNS解析上,而非慢在拉取網頁資料上。

在Windows下是預設開啟了DNS緩衝的,因此所有解析過的網域名稱,短時間內不可能再串連遠程DNS伺服器進行查詢,而是直接從本地的DNS緩衝 中查詢,理論上講,解析DNS的時間近似於0。而Ubuntu並沒有預設開啟類似的功能。因此,我們感覺,同樣一台機器,同樣一根電纜,Windows下 的上網速度要優於Ubuntu。

因此,解決Ubuntu上網慢的思路也就來了:我們在本機搭建一個DNSProxy 伺服器,緩衝DNS即可。linux下搭建DNS代理的常用軟體 有:bind、djbdns、dnsmasq和pdnsd等。此處,我們以pdnsd來舉例。

1.安裝

pdnsd已經加入源裡了,安裝非常簡便:
sudo apt-get install pdnsd
安裝過程中,它會問你選擇何種配 置,此處選擇manual。

2.配置

sudo gedit /etc/pdnsd.conf

修改
server {
label="resolvconf";
}

server {
label="resolvconf";
ip=61.233.154.33; 
ip=211.98.4.1; 
timeout=30; 
interval=30; 
uptest=ping; 
ping_timeout=50; 
purge_cache=off;
}
其中:
ip=61.233.154.33;
ip=211.98.4.1;
這 兩行也可以寫成一行ip=61.233.154.33,211.98.4.1; 代表當地的DNS伺服器位址,如果你上的是校園網,那麼這兩個地址就是網管阿姨給你的那個DNS和備用DNS了。。。

可以有多個,根據自己情況填寫。這裡是鐵通的DNS。
後面的參數採用預設就可以了。

3.設定原生DNS

sudo gedit /etc/resolv.conf
在所有內容之前插入一行:
nameserver 127.0.0.1

特別的,如果你是ADSL撥接(通過pppoeconf配置),那麼還需要修改一下檔案:
sudo gedit /etc/ppp/peers/dsl-provider
在usepeerdns前加#,注釋掉。防止ppp強制使用遠程DNS,並覆蓋 resolv.conf

如果你啟用了DHCP服務,那麼要
sudo gedit /etc/dhcp3/dhclient.conf
去掉
#prepend domain-name-servers 127.0.0.1;
前面的“#“。

4.啟動pdnsd
sudo /etc/init.d/pdnsd start

5.簡單測試

dig yahoo.com | grep time

第一次結果顯示:;; Query time: 11 msec
第二次結果顯示:;; Query time: 0 msec
第三次結果顯示:;; Query time: 0 msec
第四次結果顯示:;; Query time: 0 msec
第N次結果顯示:;; Query time: 0 msec、

至此,我們的本地DNSProxy 伺服器已經搭建成功。當然,這並沒有意味著網速會

立馬得到提升。但是,當Firefox第二次訪問同一個網域名稱下的頁面 時,Looking up xxxx.com.... 或者 Connecting to xxxx.com...的時間已經幾乎為0。現在我們的Ubuntu的上網速度已經和Windows下相當了。

 

 

以上內容轉自: http://lookluk.blogbus.com/logs/56313765.html 

 我本人按照上述方法實驗之後,第四步沒有成功,提示“Not start pdnsd ” 
不過可喜可賀的是,第五步竟然成功了!!!也就是說達到了預期效果。
哈哈。。。。。。。。。。 

 

 

 

設定成功後再次重啟,可能會出現dns無法解析的問題。可用如下方法解決。

 

在使用networkmanager設定網卡時,會出現每次重啟系統時DNS自動清零的問題,每次重啟後都要重新設定DNS非常麻煩。

而nameserver的設定檔是 /etc/resolv.conf 

這是正常的內容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 202.102.152.3

重啟後nameserver 202.102.152.3就被刪除了。

由上面的# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

可以看出,resolv.conf是由resolvconf產生的。編輯vim /etc/resolvconf/resolv.conf.d/head 檔案

顯示與resolv.conf相同的內容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

在最後鍵入nameserver 202.102.152.3

儲存退出,

resolvconf -u

此時就可以正常上網了,重啟後不用在重新設定DNS了。

 

轉自 http://hi.baidu.com/step_1/blog/item/bad960f53b2c6337bd3109b2.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.