检查rndc是否正常工作:
#/usr/local/sbin/named -g
Jan 11 11:56:45.075 starting BIND 9.2.3 -g
Jan 11 11:56:45.076 using 1 CPU
Jan 11 11:56:45.079 loading configuration from '/etc/named.conf'
......
#/usr/local/sbin/rndc status
(10)编辑named.conf配置文件。
# vi /etc/named.conf
内容如下:
bash-3.00# more /etc/named.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
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 "duanfenglei.com" IN { //新加duanfenglei.com的域
type master;
file "duanfenglei.com.zone";
allow-update { none; };
};
zone "104.168.192.in-addr.arpa" IN { //新加域的反向解析
type master;
file "named.192.168.104";
allow-update { none; };
};
include "/etc/rndc.key";
先让我们了解这个文件上面用来做注解的符号是“//”,而不是一般Shell script的“#”;另外,“/*”与“*/”之间则注解一整段文字。同时,每一个完整的设定都以“ ;”结尾。
上面的部分是在这个文件开头的options设定的,首先用directory指定了named的资源记录(RR - Resource Record文件目录所在位置为:“/var/named”。也就是说,它会到这个目录下面寻找DNS记录文件)。所以,我们在后面部分所指定的文件,就无须使用绝对路径了,但它们一定要放在这个目录下面。
那一段被注释文字,如果你仔细阅读一下,它大致意思是如果你要设定的 DNS 伺服器和client之间隔着防火墙的话,要将“//query-source address * port 53;”前面的注解符号“//”拿掉(当然,也必须要设定好你的火墙)。不过,这只对早期的版本有影响,而在bind 8.1之后则无须担心这个设定。
接下来再让我们看下一段句子:
通过这几行语句,我们为named定义了DNS系统中的根区域“.”(root zone)的设定,同时它是一个internet(IN)的区域类别。这里还指定了root zone的服务器种类(type)为“hint”(也只有这个zone会使用这样的种类)。最后,用file指定这个区域记录文件为:“named.root”,也就是“/var/named/named.root”文件。
在root zone后面,你应该还会看到如下这两段:
这里是定义出关于本机名称的DNS解释:第一个zone是localhost的正解zone,其服务器种类是master,记录档名称是localhost.zone(在/var/named目录下面),但这个zone不允许客户主机(或服务器)自行更新DNS的记录。而第二个zone则是本机区域的反向解析zone。
再看下面的两段,这两段是duanfenglei.com域的正向和反向解析。
zone "duanfenglei.com" IN { //新加duanfenglei.com的域
type master;
file "duanfenglei.com.zone";
allow-update { none; };
};
zone "104.168.192.in-addr.arpa" IN { //新加域的反向解析
type master;
file "named.192.168.104";
allow-update { none; };
};
include "/etc/rndc.key";
最后一行是bind 9.x版本的新功能,用来进行区域转移或DNS更新所用的加密处理。
include "/etc/rndc.key";
(11)创建/var/named目录。
# mkdir /var/named
# cd /var/named
(12)匿名登录到ftp站点FTP.RS.INTERNIC.NET,获取/domain目录下的named.root文件,将该文件置于/var/named目录下。
(13)创建localhost.zone文件。
# vi /var/named/localhost.zone
bash-3.00# more 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
(14)创建named.local文件。
# more named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
2005022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
(15)创建duanfenglei.com.zone文件。
# vi duanfenglei.zone
bash-3.00# more duanfenglei.com.zone
$TTL 86400
@ IN SOA solaris10.duanfenglei.com. root.duanfenglei.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS solaris10.duanfenglei.com.
mail IN A 192.168.104.22
@ IN MX 5 solaris10.duanfenglei.com.
www IN A 192.168.104.22
www IN A 192.168.104.16
duanfenglei.com. IN A 192.168.104.22
(16)创建named.192.168.104文件。
# vi named.192.168.104
bash-3.00# more named.192.168.104
$TTL 86400
@ IN SOA solaris10.duanfenglei.com. root.duanfenglei.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS solaris10.duanfenglei.com
mail IN PTR solaris10.duanfenglei.com
@ IN MX 5 solaris10.duanfenglei.com
www IN PTR solaris10.duanfenglei.com
16 IN PTR dns.duanfenglei.com.
22 IN PTR dns.duanfenglei.com