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