如果其他同学在这台电脑上已经做过DNS实验,请用如下命令清理:
# rm /var/named/chroot/var/named/named.root
# rm /var/named/chroot/etc/named.conf
# rm /var/named/chroot/var/named/test.edu.cn.db
# rm /var/named/chroot/var/named/192.168.0.db
-------------------------------------------------------------------------
下面介绍通过编辑文件的方式对DNS服务器进行配置的过程:
第1步:复制named.root文件
# cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
或
# cp /usr/share/doc/bind-9.3.6/sample/var/named/* /var/named/chroot/var/named/
第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
20 PTR
第4步:设置文件的属主和权限
[root@localhost ~]# chown named.named /var/named/chroot/var/named/*
[root@localhost ~]# chmod 644 -R /var/named/chroot/var/named/*
[root@localhost ~]# restorecon -R /var/named/chroot/
第5步:检查配置文件的语法
执行named-checkconf命令可以检查/etc/named.conf文件是否有语法错误,如果执行named-checkconf命令后没有任何输出,说明/etc/named.conf文件没有语法错误。
[root@localhost ~]# named-checkconf
none:0: open: /etc/named.conf: file not found (RHEL6中 /etc/named.conf 已经存在,不需下面命令ln)
此时可以建立对/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 ~]#
第6步:测试
修改/etc/resolv.conf文件,将nameserver行改写为nameserver 192.168.0.5。
执行#service named restart命令重启DNS服务器,或者执行#rndc reload命令,重新加载配置文件。
执行#nslookup 命令测试DNS的正向解析功能。
执行#nslookup 192.168.0.10命令测试DNS的反向解析功能。
阅读(861) | 评论(0) | 转发(0) |