用djbdns建立dns缓存加速网络连接

来源:岁月联盟 编辑:zhu 时间:2008-01-18
用djbdns建立dns缓存加速网络连接内容简介:【FreeBSD教程】 搬到上海工作以后,发觉这边的dns似乎工作不是很稳定,有时候一个域名需要解析几次才可以解析出来,直接后果就是浏览网页的时候经常需要打开几次才成功,搞得很不爽,所以在我的本本上搞一个

  【FreeBSD教程】搬到上海工作以后,发觉这边的dns似乎工作不是很稳定,有时候一个域名需要解析几次才可以解析出来,直接后果就是浏览网页的时候经常需要打开几次才成功,搞得很不爽,所以在我的本本上搞一个dnscache来缓存一下,果然爽了很多,方法如下:

  安装在freebsd上实在是太简单的事,不值得多说
  portinstall dns/djbdns
  或者
  cd /usr/ports/dns/djbdns ; make install clean

  搞定以后用rehash更新一下路径缓存
  建立dnscache目录,推荐放在/var下
  mkdir /var/service
  dnscache-conf nobody nobody /var/service/dnscache 127.0.0.1 #nobody是系统账号和组
  在/etc/rc.conf里加入
  svscan_enable="YES"
  最后就可以运行/usr/local/etc/rc.d/svscan.sh启动服务了

  服务启动以后查看一下127.0.0.1是否有53端口在监听,假如有,说明成功了

  接下来就是在/etc/resolv.conf里加入
  nameserver 127.0.0.1
  推荐将127.0.0.1放在其他的nameserver前,这样就优先使用缓存结果

  我的网络设置使用的是DHCP,每次启动以后都会将我的resolv.conf改写掉,搞得我经常要去添加127.0.0.1,所以修改了一下/etc/dhclient.conf,加入
  request subnet-mask,dhcp-lease-time,routers,dhcp-option-overload,dhcp-message-type,dhcp-server-identifier,broadcast-address;
  这样dhclient就不会向DHCP服务器请求domain-name-servers,就不会覆盖我定义好的/etc/resolv.conf

  现在使用感觉良好,一个网站只要打开一次以后,再不会出现解析不出来的问题,而且省略了解析过程以后,打开速度也提高不少。

  另外,djbdns的主页(http://cr.yp.to/djbdns.html)可能由于久不维护,我根据他的文档根本无法成功,所以大家用它作参考的时候最好用google多找点其他的文档对照使用。

图片内容