淘先锋技术网

首页 1 2 3 4 5 6 7

假设我是搭建在内部局域网中的一个DNS(仅用测试嘛~)。


1. 第一步肯定是要规划一下自己域内的DNS该怎么配!
   希望配置到my.net的主域名服务器为10.1.1.198。而marco.my.net是公司的web和ftp服务器,它的ip是10.1.1.201。yuyu.my.net是mail server指向10.1.1.202

2. 根据上面的想法配置/etc/named.conf
options {
        version "4.0.0";
        directory "/var/named";
        pid-file "/var/named/named.pid";
};

zone "my.net" {
        type master;
        file "db.my.net";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "db.127.0.0";
};

zone "1.1.10.in-addr.arpa" {
        type master;
        file "db.10.1.1";
};

3. 根据配置文件写具体的DNS数据文件
(1) db.my.net
$TTL    86400

@   1D  IN SOA ns.my.net. root.my.net.  (
        20040701 ;serial
        3H       ;refresh
        15M      ;retry
        1w       ;expiry
        1D )     ;minimum

@       IN NS ns.my.net.

ns      IN A 10.1.1.198
marco   IN A 10.1.1.201
yuyu    IN A 10.1.1.202

yuyu    IN MX 10 yuyu

www     IN CNAME marco
ftp     IN CNAME marco
mail    IN CNAME yuyu


说明:这些都是根据我前2天看书而配置的。因此配起来比较简单。首先先定义一个$TTL,因为我是用的9的版本。然后根据顺序分别记录SOA记录,NS记录,后面几个记录的顺序没有关系。

(2) db.127.0.0
$TTL    86400

@   1D  IN SOA ns.my.net. root.my.net.  (
        20040701 ;serial
        3H       ;refresh
        15M      ;retry
        1w       ;expiry
        1D )     ;minimum

@       IN NS ns.my.net

1       IN PTR localhost
说明: 本来一开始我这里没有写NS记录.不过后来看log发现有这个的信息,虽然不影响正常使用,不过总看的不舒服,就加上了:)
错误信息:(/var/adm/messages)
Jul  2 11:36:01 marco named[597]: [ID 295310 daemon.warning] Zone "0.0.127.in-addr.arpa" (file db.127.0.0): no NS RRs found at zone top
Jul  2 11:36:01 marco named[597]: [ID 295310 daemon.warning] master zone "0.0.127.in-addr.arpa" (IN) rejected due to errors (serial 20040701)

(3) db.10.1.1
$TTL    86400

@ 1D IN SOA ns.my.net. root.my.net.  (
        20040701 ;serial
        3H       ;refresh
        15M      ;retry
        1w       ;expiry
        1D )     ;minimum

@       IN NS ns.my.net.

198 IN PTR ns.my.net.
201 IN PTR marco.my.net.
202 IN PTR yuyu.my.net.
说明:这里和上面的db.127.0.0一样,最好也写上NS记录。还有这里记录的PTR记录最后别忘了“.”
 
(4) 万事ok,只待启动咯~~~
bash-2.03# ndc start
new pid is 676
最好tail /var/adm/messages一下,如果是出现下面的语句那说明至少配置文件的语法是正确的,named已经启动了:
Jul  2 12:54:43 marco named[675]: [ID 295310 daemon.notice] starting.  in.named BIND 8.2.2-P5 Thu Jan 29 07:06:27 PST 2004
Jul  2 12:54:43 marco   Generic Patch-5.8-January 2004
Jul  2 12:54:43 marco named[676]: [ID 295310 daemon.notice] Ready to answer queries.

(5) 设置/etc/resolv.conf,将nameserver设成10.1.1.198(就是ns.my.net)

(6) 用nslookup和dig进行测试。

最后说明:因为我这边是局域网内做测试,因此不需要hint类型。如果是正式DNS SERVER,则必须加上(在/etc/named.conf中添加一段)
zone "." {
    type hint;
    file "named.root";
}; 
然后执行命令:
bash-2.03# cd /var/named/
bash-2.03# dig @a.root-servers.net . ns > named.root
问题:我用的明明就是
bash-2.03# named -v
BIND 9.3.0rc1
但是为什么日志里显示出in.named BIND 8.2.2-P5?
难道in.named这个文件是bind 8.2.2-P5?

 

另外附上到目前为止的DNS与BIND学习笔记

 

DNS与BIND学习笔记1

DNS与BIND学习笔记2

DNS与BIND学习笔记3

DNS与BIND学习笔记4