pdnsd緩存
A. 如何提高ubuntu的聯網速度
在ubuntu下用firefox等瀏覽器上網,往往比在windows下上網要慢好多,但細心的人會發現,慢的時間是花在DNS查找上面了。那麼我們可以在本機緩存DNS,也就是在本機架設一個DNS代理伺服器。常用的軟體有bind、djbdns、dnsmasq和pdnsd。下面我們來說一下,用pdnsd來架設一個永久的DNS代理伺服器,所謂「永久」,就是說,在系統重啟以後,本機緩存的DNS仍然存在,不用再去查找真實DNS來重新建立緩存。
1、安裝
sudo apt-get install pdnsd
安裝的時候,它會問你選擇什麼配置,請選擇「manual「。
2、配置pdnsd
sudo gedit /etc/pdnsd.conf
修改
server {
label="resolvconf";
}
為
server {
label="OpenDNS";
ip=208.67.222.222;
ip=208.67.220.220;
timeout=30;
interval=30;
uptest=ping;
ping_timeout=50;
purge_cache=off;
}
label="OpenDNS";
其中「OpenDNS」可以隨便寫,一個標識而已,用於將來的診斷;
ip=208.67.222.222;
ip=208.67.220.220;
這兩行也可以寫成一行ip=208.67.222.222,208.67.220.220;代表真實的DNS伺服器地址,可以有多個。
後面的參數採用默認就可以了。
sudo gedit /etc/default/pdnsd
修改START_DAEMON的值為yes。
3、向resolver添加DNS代理伺服器
sudo gedit /etc/resolv.conf
在首行添加一句:nameserver 127.0.0.1
4、防止resolv.conf被覆蓋
如果你啟用了DHCP服務,那麼要
sudo gedit /etc/dhcp3/dhclient.conf
去掉
#prepend domain-name-servers 127.0.0.1;
前面的「#「。
如果你是撥號上網,那麼
sudo gedit /etc/ppp/peers/provider
在 usepeerdns 前面增加# ,也就是把這條語句注釋掉。 以防resolv.conf的設置被pppoe覆蓋。
5、啟動pdnsd
sudo /etc/init.d/pdnsd start
6、測試
dig www..com | grep time
結果顯示:;; Query time: 1 msec
原來的結果:;; Query time: 845 msec
B. linux 下 ping 域名,在通之前總需要等一段時間,不知道是為什麼。
因為linux和window不同,linux沒有本地dns緩存,如果想快一點,可以用pdnsd設置本地緩存;沒有本地dns緩存,在你上網或ping網址的時候都會先解析dns,讓後才是其他,所以多數人就會感覺linux上網慢;