FreeBSD 6.0-下建立高速DNS缓存服务器


 首先介绍在freebsd上如何建立高速dns缓存服务器,引用freebs d中文手册中的话:

  缓存域名服务器是对任何域都不提供权威解析的域名服务器。 它自己简单地完成查询, 并记住这些查询以备后续使用。 要建立这样的服务器, 只需像平时一样配置一个域名服务器, 而不配置域就可以了

  安装如下:

  所使用的软件是BIND,安装完freebsd6.0后BIND是自动安装好的,版本为BIND9,路径一般为/etc/namedb。freebsd5.2及更早版本的用户可以通过到ISC网站上下载BIND9.3。目前, BIND 由 Internet Software Consortium http://www.isc.org/ 维护。

  1、创建本地DNS反向解析域文件

  proxy4bak# cd /etc/namedb

  proxy4bak# sh make-localhost

  在/etc/namedb/master目录下会生成localhost.rev文件。

  2、编辑dns配置文件/etc/namedb/named.conf

  内容如下:

options {
     directory    "/etc/namedb";
     pid-file    "/var/run/named/pid";
     dump-file    "/var/dump/named_dump.db";
     statistics-file "/var/stats/named.stats";
//    forwarders {
//          221.228.255.1; 218.2.135.1;
//    };
};
zone "." {
     type hint;
     file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
     type master;
     file "master/localhost.rev";
};
   这里我没有用到forwarders(转发),在freebsd中文手册中有这样一段话:

  要从上级的缓存中受益, 可以在此处启用 forwarders。 在一般情况下, 域名服务器会逐级地查询 Internet 来找到特定的域名服务器, 直到得到答案为止。 启用这个将让它首先查询上级域名服务器 (或另外提供的域名服务器), 从而从它们的缓存中得到结果。 如果上级域名服务器的负载很重, 在更快的域名服务器上启用它将有助于改善服务品质。

  3、更改/etc/resolv.conf

  将resolv.conf内容更改为:

  nameserver 127.0.0.1

  4、使named启动

  编辑/etc/rc.conf,加入启动内容,如下:

  proxy4bak# cd /etc

  proxy4bak# ee rc.conf

  加入

  named_enable="YES"

  添加完成后重启服务器,使用top命令可以查看named进程是否启动。也可以通过nslookup查询一个网址,如果可以,说明缓存已经建立了,显示如下:

proxy4bak# nslookup
> set type=any
> www.google.com
Server:     127.0.0.1
Address:    127.0.0.1#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Authoritative answers can be found from:
google.com   nameserver = ns4.google.com.
google.com   nameserver = ns1.google.com.
google.com   nameserver = ns2.google.com.
google.com   nameserver = ns3.google.com.
   在搜索相关参考资料时还发现了一个dns缓存软件——djbdns,也有朋友已经在用了。我为了方便,就直接用BIND了,因为freebsd安装时就带上了。但在性能上具体还不知道哪个会好些。

  第一次建立dns缓存服务器,写的有错误之处请指出。希望这篇笔记能对想要在局域网中建立高速dns缓存服务器的朋友有用

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3