Ubuntu10.10下如何對網站URL的DNS進行解析加速?
本文介紹的是Ubuntu 10.10下網站URL的DNS解析加速,其實很簡單,就是dnsmasq。
但是默認Ubuntu10.10livecdi386只是裝了-base,dnsmasq程序本身沒裝。
感覺用了之后,url網址翻譯成ipv4地址的速度確實幾乎看不到提示文字了。
(現代linux瀏覽器firefox3.6.x下邊提示條,在dns解析的時候,如果解析時間過長,能看到firefox現在在干什么,經常pending在dns解析那步,有時等上超過1秒,每個頁面超過一秒,特別是現代的一些網頁站點,那些網頁都是多個頁面內容拼合的,dns解析慢,整個網頁裝載都慢。一個慢1秒,這一個頁面。。。等半天。)
使用這個小東西網頁裝載速度,確實提升了。
該工具原理其實很簡單,大概就是,正常每次我找一個url地址,要向dns服務器發一份申請,說“請您告訴我,去往某某站點,他的ipv4地址是什么?”之后,dns服務把url地址翻譯一下,變成ip地址,回復給請求的電腦,說你要的那個某某點com,實際的ip世界中,地址是某某數字。這下電腦知道了,開始按照數字ip地址,向目的地發送真實的數據。
一切都在極快的若干ms內完成。
但是現在似乎沒那么快了。所以要加速。把請求dns,翻譯,這件事,盡力搬到本地電腦來做。
只要dns翻譯過的網站,我自己本地電腦也緩存一份翻譯結果,基本以后再去往同樣的網站,就不再頻繁請求dns服務器了。達到了加速的目的。
dnsmasq安裝方法。
新立德,搜索這個包的名字,超小的程序,之后,標記安裝,應用之。完事。
之后。配置。需要較高權限修改配置文件。我是上來先開sudonautilus,root權限文件瀏覽器。之后鼠標右鍵點任何想編輯的文件,打開就能root權限編輯了,很方便。
***個是/etc/dnsmasq.conf
這一行本來是注釋掉的,行前頭有井號#,把井號刪除。改成這個就完了,保存。
- listen-address=127.0.0.1
然后,第二文件,
- /etc/dhcp3/dhclient.conf
這一行,prepend行默認就有,但是也是行開頭有井號,把井號去了,參數可能不是127.0.0.1,改成127.0.0.1表示我自己本地主機兼職dns服務器。
- prependdomain-name-servers127.0.0.1,1.2.3.4;
完了保存。(注意,1.2.3.4這里替換成您自己認為好用的,真正在線的公網dns服務器ipv4地址,***寫第2個,如果不寫第2個,那么第二dns服務器解析選擇可能就是您的網關路由器,但是您網關可能沒有dns解析能力,那這就會帶來問題。)
然后,第三個/etc/resolv.conf
因為我北京新聯通adsl的。所以這樣,
默認adsl自動dhcp,分你2dns服務器。
把那2個dns服務器ip地址記下,nameserver后邊的ipv4地址就是。
寫成半角逗號分隔,比如127.0.0.1,1.2.3.4,5.6.7.8
然后,右鍵點擊gnome面板上的網絡管理小程序,就是network-manager0.8.1的applet在任務欄上的那個網絡狀態的圖標。默認Ubuntu有上下2個面板,應該是上邊那個面板,和輸入法,聲音,時間在一起。
(不同系統不一樣,不要鉆牛角尖。)
編輯dsl連接,因為我用這個起adsl,所以編輯它。
在dsl選項卡,自己常用的adsl連接上,選擇編輯,ipv4設置選項卡,把自動pppoe,改成自動pppoe僅地址,地下dns,那里,把剛才記下的2dns服務器,isp分你的,或者你自己喜歡的,寫上,格式是127.0.0.1,1.2.3.4,5.6.7.8中間半角逗號分開。
完了。
resolv.conf這個文件的***行,如果有search字樣的行,而您有不依賴您的網關作dns服務器,那么可刪了,完了插入***行一行空白行,寫nameserver127.0.0.1
完了保存。
然后sudo/etc/init.d/dnsmasqrestart
然后。
上網吧,一下就快了。
其他驗證方法
可以用nslookup,看127.0.0.1是不是***dns解析服務器,nslookup,進入其模式,輸入server看當前dns***服務器,輸入網站url地址,前邊不加協議,比如http://字樣不要寫,看dns翻譯結果,退出nslookup模式用exit。
或者,dig某某.com,比如digUbuntu.com也是不要加http://之類協議符號,多試幾次,看時間msec那里,自然就知道效果了。
經常有個問題,就是dhclient3和network-manager都干涉resolv.conf沖突不?
這個就是,你看我dhcp3的client的配置,127.0.0.1配置成prepend的***個,而在network-manager的applet里,管理連接,我也把dsl的dns配置127.0.0.1作為***個。
因為我是每次進系統,自己手動起adsl,所以進Ubuntu10.10桌面后,系統先靠dhcp3生成一個resolv.conf,里邊是dnsserver(nameserver)以127.0.0.1(dnsmasq)為優先,本地沒有緩存條目,才以公網dns服務器(ip地址1.2.3.4)解析為第二選擇;而當我起adsl以后,adsl連接本身也有dns配置,會覆蓋resolv.conf,但是因為我的dsl網絡連接配置的也是127.0.0.1優先,公網dns服務器1.2.3.4次優選擇。
所以無論我起不起adsl,都不會因為dns解析,影響我上網,都不擔心我找不到dns服務器。除非我沒有公網連接了,那單說。
以上。
那么自然有人就會想到,這樣是不是可以有一種進階考慮。
就是,有些dns服務器速度不太快,但是返回的效果比較好,現在有了dnsmasq這個東西,是不是說我可以切換到那些翻譯效果好的但是速度偏慢的dns服務器,那么就去試試嘛!
總結:
希望本文介紹的Ubuntu10.10下對網站URL的DNS進行解析加速的方法能夠對讀者有所幫助,更多有關linux系統的知識還有待于讀者去探索和學習。
【編輯推薦】