下面介绍通过编辑文件的方式对DNS服务器进行配置的过程:
第1步:复制named.root文件
# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/named.root
第2步:修改named.conf文件修改主DNS服务器的/var/named/chroot/etc/named.conf文件,内容如下:
options {
directory "/var/named"; //定义服务器区配置文件存放的目录,由于使用了chroot功能,
//区配置文件存放的实际目录是/var/named/chroot/var/named
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
view "internal" {
match-clients { any; };
match-destinations { any; };
recursion yes; //对内网用户开启DNS的递归查询
zone "0.168.192.in-addr.arpa." IN { //定义逆向解析区声明,in-addr.arpa是固定写法
type master; //注意:书写反向地址解析时,与通常书写的ip地址顺序相反,如:0.168.192
file "192.168.0.db"; //逆向解析区文件名,名称可以任意取
};
zone "test.edu.cn." IN { //定义正向解析区声明,如果不写IN,那么默认就是IN类
type master;
file "test.edu.cn.db"; //正向解析区文件名,名称可以任意取
};
zone "." IN { //定义根区声明
type hint; //选择type为hint("."专用)
file "named.root"; //默认文件名named.root,有时也可能是named.ca
}; //在DNS数据库中,named.root文件列出了所有根DNS服务器的地址
zone "localhost." IN { //定义localhost的正向解析区声明
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa." IN { //定义localhost的逆向解析区声明
type master;
file "named.local";
allow-update { none; };
};
//定义localhost的逆向解析区声明(IPv6)
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
};
include "/etc/rndc.key"; //包含/etc/rndc.key文件
第3步:创建正向/逆向解析区文件在主DNS服务器/var/named/chroot/var/named/目录创建正向解析区文件test.edu.cn.db,文件内容如下,正向解析文件主要由一系列A资源记录(RR,Resource Record)组成,使得DNS服务器能够将域名解析成IP地址。
$TTL 1H
@ SOA dns.test.edu.cn. root.test.edu.cn,(
2 ; Serial
3H ; Refresh
1H ; Retry
1W ; Expire
1H ) ; Minimum
IN NS dns.test.edu.cn, ; NS(Name Server)后面的主机管理整个“test.edu.cn.”域
IN MX 10 dns.test.edu.cn, ; MX(Mail eXchanger)指定邮件转发服务器,接收
;从Internet上来的邮件,然后再转发给相应的主机
dns IN A 192.168.0.5
www IN A 192.168.0.10
IN A 192.168.0.20 ; www有两个IP地址
dns2 IN CNAME dns ;指定主机别名在主DNS服务器/var/named/chroot/var/named/目录创建逆向解析区文件192.168.0.db,文件内容如下,逆向解析文件由一系列PTR资源记录(RR,Resource Record)组成,使得DNS服务器能够将IP地址反向解析成域名。
$TTL 1H
@ SOA dns.test.edu.cn. root.test.edu.cn,(
2 ; Serial
3H ; Refresh
1H ; Retry
1W ; Expire
1H ) ; Minimum
NS dns.test.edu.cn.
5 PTR dns.test.edu.cn.
10 PTR www.test.edu.cn.
20 PTR www.test.edu.cn.
第4步:检查配置文件的语法执行named-checkconf命令可以检查/etc/named.conf文件是否有语法错误,如果执行named-checkconf命令后没有任何输出,说明/etc/named.conf文件没有语法错误。
[root@localhost ~]# named-checkconf
none:0,open,/etc/named.conf,file not found
此时可以建立对/var/named/chroot/etc/named.conf文件的符号链接/etc/named.conf。
[root@localhost ~]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
[root@localhost ~]# ls -l /etc/named.conf
lrwxrwxrwx 1 root root 32 05-18 12:46 /etc/named.conf -> /var/named/chroot/etc/named.conf
[root@localhost ~]# named-checkconf
[root@localhost ~]#
第5步:测试修改/etc/resolv.conf文件,将nameserver行改写为nameserver 192.168.0.5。
执行#service named restart命令重启DNS服务器,或者执行#rndc reload命令,重新加载配置文件。
执行#nslookup www.test.edu.cn命令测试DNS的正向解析功能。
执行#nslookup 192.168.0.10命令测试DNS的反向解析功能。