Fedora 7上DNS服务器和之前一些版本的区别

在Fedora 7 上配置DNS服务

很多朋友学习在Linux上配置DNS服务器的时候,都是参考的在RHEL4或Fedora Core5之前平台上的资料。在Fedora 7上,很多东西发生了变化。本文简单介绍一下应对的方法。

软件列表

bind-libs-9.4.0-6.fc7
bind-chroot-9.4.0-6.fc7
bind-utils-9.4.0-6.fc7
bind-9.4.0-6.fc7
caching-nameserver-9.4.0-6.fc7

如果您升级过系统,则软件的版本会略有不同。其中的bind-chroot可以增加DNS服务器的安全,不安装也能工作。

Fedora 7上的bind软件和原来的结构有所不同,没有了以前的/etc/named.conf和/var/named/chroot/etc/named.conf(前者是后者的符号链接),导致很多朋友一时不知道该如何配置DNS服务器了,经过简单研究,笔者终结出了DNS服务器的配置方法。

在/var/named/chroot/etc下执行

cat named.caching-nameserver.conf named.rfc1912.zones > named.conf
rm named.caching-nameserver.conf named.rfc1912.zones > named.conf
[root@maluyao ~]ln -s /var/named/chroot/etc/named.conf /etc/named.conf

上面的步骤是合并named.caching-nameserver.conf named.rfc1912.zones合并到一个文件(/var/named/chrrot/etc/named.conf)中,然后将其删除。实际操作的时候,最好不要删除,而是将这俩个文件移动到其他位置备份。并且为了方便起见,在/etc下作了一个符号链接。

修改named.conf文件,将其中的

view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
};

include "/etc/named.rfc1912.zones";


行注释或删除。

Fedora 7中,默认仅仅在回环地址127.0.0.1 和 ::1(IPV6的回环地址)上打开53端口,如果希望在所有地址上都打开53端口,则应该修改named.conf 中

listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };



listen-on port 53 { any; };
listen-on-v6 port 53 { any; };

Fedora 7 中的DNS服务器默认只允许127.0.0.1这个客户端(即本机)发起查询,一般我们需要允许所有人查询,这要修改name.conf中的:


allow-query { localhost; };




allow-query { any; };

重新启动BIND后,用下列命令:

[root@maluyao ~]#netstat -nlu|grep 53
[root@maluyao ~]#netstat -A inet6 |grep 53

即可看到53端口已经在所有地址上监听了。DNS服务器同时打开tcp和udp的53端口,上述命令只查看udp。
如果不需要在ipv6地址上监听53端口,则可将listen-on-v6行注释。

现在,bind服务的配置方法就和RHEL4或Fedora Core 5类似了。

Fedora 7 中的默认设置有自己的道理,我们注释或删除的那些东西,希望读者也能知道其含义。但本文就不做介绍了。