天天看點

ubuntu10.04上網慢 DNS緩存 pdnsd

在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.baidu.com | grep time

結果顯示:;; Query time: 1 msec
原來的結果:;; Query time: 845 msec