您的位置:首页 > 运维架构 > Linux

Linux中通过缓存DNS的解析来提高上网的响应速度!

2008-04-01 18:24 726 查看
这几天好不容易细心了一下,发现在用Firefox浏览网页的时候,一开始总会看到左下角有一行提示:

     “正在解析主机 xxx ...”   

看上去是等待DNS服务器对域名的解析,闲来无事,于是决定做个DNS Cache来提高上网速度!

找了找,发现有一个软件符合要求:
[xport@ubuntu ~] $ apt-cache search "dns" | fgrep "cach"
dnsmasq - A small caching DNS proxy and DHCP server

去翻翻资料,设定的步骤如下:

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

2.设定dnsmasq接管本机的DNS解析请求:
# 修改dnsmasq的配置文件
[xport@ubuntu ~] $ sudo gedit /etc/dnsmasq.conf

# 找到下面的内容,并进行修改
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
# interface=
# Or you can specify which interface _not_ to listen on
# except-interface=
# Or which to listen on by address (remember to include 127.0.0.1 if
# you use this.)
listen-address=127.0.0.1  # 把这一行前面的注释去掉

3.修改dhclient的配置:
# 修改dnsmasq的配置文件
[xport@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的配置:
[xport@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的服务:
[xport@ubuntu ~] $ sudo /etc/init.d/dnsmasq restart

6. 看看DNS的解析需要的时间,前后2次的数据对比:
[xport@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
 
[xport@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

好了,打完收工~~~!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: