假设我是搭建在内部局域网中的一个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
|