设置Ubuntu DNS缓存

设置Ubuntu DNS缓存

1. 安装dnsmasq:

# 安装dnsmasq的软件包
[linuxidc@linuxidc-ubuntu ~] $ sudo apt-get install "dnsmasq"

2.设定dnsmasq接管本机的DNS解析请求:

# 修改dnsmasq的配置文件
[linuxidc@linuxidc-ubuntu ~] $ sudo gedit /etc/dhcp3/dhclient.conf

# 找到下面的内容,并进行修改
prepend domain-name-servers 127.0.0.1; # 把这一行前面的注释去掉
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;

3.修改dhclient的配置:

# 修改dnsmasq的配置文件
[linuxidc@linuxidc-ubuntu ~] $ sudo gedit /etc/dhcp3/dhclient.conf

# 找到下面的内容,并进行修改
prepend domain-name-servers 127.0.0.1; # 把这一行前面的注释去掉
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;

4.修改resolv.conf的配置:

[linuxidc@linuxidc-ubuntu ~] $ sudo gedit /etc/resolv.conf

# 注意:我的resolv.conf文件的内容不会因为ADSL拨号而被改写
# 因为dnsmasq会接管本机的DNS解析请求,所以把127.0.0.1的地址放在最前面
nameserver 127.0.0.1
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
search lan

5. 重新开启dnsmasq的服务:

[linuxidc@linuxidc-ubuntu ~] $ sudo /etc/init.d/dnsmasq restart

6.修改dsl-provider

sudo gedit /etc/ppp/peers/dsl-provider
usepeerdns 前面增加 # ,也就是把这条语句覆盖掉。
以防,resolv.conf的设置被pppoe覆盖。

7. 看看DNS的解析需要的时间,前后2次的数据对比:

[linuxidc@linuxidc-ubuntu ~] $ dig baidu.com #首次执行
... 省略输出信息若干 ...
;; Query time: 8 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 19 20:43:32 2007
;; MSG SIZE rcvd: 229

[linuxidc@linuxidc-ubuntu ~] $ dig baidu.com #再次运行
... 省略输出信息若干 ...
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 19 20:45:27 2007
;; MSG SIZE rcvd: 59

相关推荐