bind安装配置


很多朋友学习在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

/etc/named.conf文件的配置参数说明:

OA 指示该区的权威
NS 列出该区的一个名字服务器
A 名字到地址的映射
PTR 地址到名字的映射
CNAME 别名

TTL值
名字服务器在查询响应中提供这个TTL值,允许其他服务器将数据在缓存中存放TTL所指定的时间。
如果你的数据不是经常变动或变动不大,可以考虑将TTL值默认设置为1天。1周大概是这个值的最大限度
象1个小时这样短的值也可以使用,但是我们通常不会建议使用短值。
SOA记录
表示对该区数据而言,这个名字服务器就是最好的信息来源。根据这个SOA记录,我们的名字服务器就享有对区seker.com的权威。每个数据文件都要有SOA记录,每个区数据文件中允许有一个也只允许有一个SOA记录。
seker.com. 必须有一个点来结尾。这是因为DNS中有一个简写的惯例,不在seker.com后面加点的话,它就会变成seker.com.seker.com
SOA后面每一个名字是seker.com区的主名字服务器的名字。第二个名字就是管理这个区的电子邮件地址
(可以把root.改成root@其实这就是一个邮件地址)
NS记录
我们在每个文件中添加的下一个条目是NS,指定在这个区内我们的权威DNS服务器。
 

先从 http://www.isc.org/products/BIND/ 下载bind,我下载的是bind-9.3.1rc1.tar.gz

rpm

bind-chroot-9.2.4-2

bind-libs-9.2.4-2

bind-9.2.4-2

bind-devel-9.2.4-2

bind-utils-9.2.4-16.EL4

caching-nameserver-7.3-3


我下载的文件放在/root目录下
进入目录解压缩
[root@linux root]#tar xfz bind-9.3.1rc1.tar.gz
进如刚解压出来的目录
[root@linux root]# cd bind-9.3.1rc1
编译配置
[root@linux bind-9.3.1rc1]#./configure --prefix=/usr/local/named --enable-threads #--enable-threads
开启多线程处理能力
[root@linux bind-9.3.1rc1]#make
[root@linux bind-9.3.1rc1]#make install
进入/usr/local/named 建立etc目录
[root@linux bind-9.3.1rc1]#cd /usr/local/named
[root@linux named]# mkdir etc
生成rndc控制命令的key文件
[root@linux named]# sbin/rndc-confgen > etc/rndc.conf
rndc.conf文件中提取named.conf用的key
root@linux named]# cd etc
[root@linux etc]# tail -10 rndc.conf | head -9 | sed s/#/ //g > named.conf
自动在/usr/local/named/etc 生成named,conf文件
建立区文件目录
[root@linux etc]# mkdir /var/named
进入/var/named
[root@linux etc]# cd /var/named
建立localhost.zone文件
[root@linux named]#vi localhost.zone
$TTL    86400
$ORIGIN localhost.
@                       1D IN SOA       @ root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum

                        1D IN NS        @
                        1D IN A         127.0.0.1

建立named.local文件
[root@linux named]#vi named.local
$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      localhost.

1       IN      PTR     localhost.


dig
命令直接生成named.root文件
[root@linux named]#dig > named.root
建立seker.com域名正向解析文件
[root@linux named]#vi seker.zone

$ttl    1D
@               IN SOA  seker.com.  root.seker.com. (

                                       1053891162
                                        3H
                                        15M
                                        1W
                                        1D )

                        IN NS          seker.com.
                        IN MX    5    seker.com.
www                IN A          192.168.1.4

建立seker.com域名反向解析文件
[root@linux named]#vi seker.local
$TTL 86400
@ IN SOA seker.com. root.seker.com.(
20031001;
7200;
3600;
43200;
86400);
@ IN NS seker.com.
4 IN PTR www.seker.com.

配置named.conf加如以下代码

[root@linux etc]# vi named.conf

options {
directory "/var/named"; #named
区文件目录
pid-file "named.pid"; #
进程id文件名
};
controls {
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
        type hint;
        file "named.root";
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};

zone "seker.com" IN {
        type master;
        file "seker.zone";
        allow-update { none; };
};


zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "seker.local";
        allow-update { none; };
};



现在配置完了可以启动BIND

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &

只要显示
runing
表示运行成功
测试DNS
[root@linux etc]# host 192.168.1.4
4.1.168.192.in-addr.arpa domain name pointer dns.seker.com.
如上显示表示DNS反向解析正常
[root@linux etc]# ping www.seker.com
PING www.seker.com (192.168.1.4) 56(84) bytes of data.
如上显示表示正向解析正常
DNS
配置完成

 

FAQ

错误:view.c:347: REQUIRE((&view->references)->refs > 0) failed

rpm –e –nodeps bind-libs-9.2.4-2

yum install bind-libs

service named restart

 

 

 

如果你不熟悉那些 参数

cd /var/named/chroot/var/named/

cp named.localhost named.你的域名

cp localhost.zone 你的域名.zone

记得修改 serial 哈

原地址:http://blog.chinaunix.net/u/30125/showart_395934.html

 

你可能感兴趣的:(linux,服务器,File,SOA,DNS服务器,recursion)