今天做了个DNS缓存服务器,为了缓解省公司DNS服务器压力,同时加快本地用户解析速度,还提高了DNS抗故障能力。过程非常简单,但是有个小麻烦解决了好久,具体如下:

首先利用ports安装BIND9

然后大家生成rndkey

然后vi /usr/local/etc/namedb/named.conf

加入以下字段:

options  {

forward only;

allow-query  {any;};

forwarders  {

1.1.1.1;

2.2.2.2;

};

好了完成了。

还要改个东西:

vi /etc/resolv.conf

在第一行加入:

nameserver 127.0.0.1

好了。这些真的完成了。

测试下:

sockstat看下53号端口的进程ID,再KILL该进程ID,再执行named,相当于重启BIND服务。每更改一次配置都要来一遍。

在freebsd上执行nslookup

server 3.3.3.3

如果得到正确结果。。。。。。

在其他机器上nslookup

server 3.3.3.3

如果得到正确结果。。。。。。

主要事项:

1、 1.1.1.1和2.2.2.2是上级DSN服务器IP地址,3.3.3.3是转发服务器的IP地址。

2、 在option字段中要加入allow-query  {any;};否则其他机器解析时会出现query refused,拒绝解析。

3、 改resolv.conf是为了让自己解析自己。

4、希望对大家有帮助。