配置主DNS 服务器实例
下面将结合具体实例介绍缓存DNS、主 DNS、辅助DNS等各种 DNS 服务器的配置。
1.案例环境及需求
某校园网要架设一台DNS 服务器负责long.com 域的域名解析工作。DNS服务器的FQDN为dns.long.com,IP 地址为192.168.10.1。要求为以下域名实现正反向域名解析服务。
dns.long.com 192.168.10.1
mail.long.com MX记录 192.168.10.2
slave.long.com ⟷ 192.168.10.3
www.long.com 192.168.10.4
ftp.long.com 192.168.10.20
另外,为www.long.com 设置别名为web.long.com。
- 配置过程
配置过程包括全局配置文件、主配置文件和正反向区域解析文件的配置。
2.1 编辑全局配置文件/etc/named.conf 文件
该文件在/etc目录下。把 options 选项中的侦听IP(127.0.0.1)改成 any,把dnssec-validation yes 改为 no;把允许查询网段 allow-query 后面的 localhost 改成 any。在“include”语句中指定主配置文件为 named.zones。修改后相关内容如下:
[root@Centos7-1 ~]# vim /etc/named.conf
listen-on port 53{ any;};
listen-on-v6 port 53 {::1;};
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named _stats.txt"; memstatistics-file "/var/named/data/named _mem_stats.txt";
allow-query { any;};
recursion yes;
dnssec-enable yes;
dnssec-validation no;
dnssec-lookaside auto;
include "/etc/named.zones"; //必须更改!!
include "/etc/named.root.key";
2.2配置主配置文件named.zones
使用vim /etc/named.zones 编辑增加以下内容:
[root@Centos7-1 ~]# vim /etc/named.zones
zone "long.com" IN {
type master;
file "long.com.zone";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "192.168.10.zone",
allow-update { none; };
};
2.3修改 bind 的区域配置文件
(1)创建long.com.zone正向区域文件
正向区域文件位于/Nar/named目录下,为编辑方便可先将样本文件named.localhost复制到long.com.zone,再对long.com.zone 编辑修改。
[root@Centos7-1 ~]# cd /var/named
[root@Centos7-1 named]# cp -p named.localhost long.com.zone
[root@Centos7-1 named]# vim /var/named/long.com. zone
$TTL 1D
@ IN SOA @ root.long.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.clong.com.
dns IN A 192.168.10.1
mail IN A 192.168.10.2
www IN A 192.168.10.3
slave IN A 192.168.10.4
ftp IN A 192.168.10.20
web IN CNAME www.long.com.
[root@Centos7-1 named]# named-checkzone long.com /var/named/long.com.hosts
--------------命令
zone long.com/IN: loaded serial 0
OK
----结果
(2)创建192.168.10.zone反向区域文件
反向区域文件位于/var/named目录下,为方便编辑,可先将样本文件named.loopback复[r0t@Centos7-1 ~]# cd /var/named
[root@Centos7-1 named]# cp -p named.localhost long.com.zone
[rOot@Centos7-1 named]# vim /var/named/long.com. zone
$TTL 1D
@ IN SOA @ root.long.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.long.com.
@ IN MX 10 mail.long.com.
1 IN PTR dns.long.com
2 IN PTR mail.long.com.
3 IN PTR slave.long.com.
4 IN PTR www.long.com.
20 IN PTR ftp.long.com.
[root@localhost ~]#named-checkzone 10.168.192.in-addr.arpa /var/named/long.com.back -------这是命令
zone 10.168.192.in-addr.arpa/IN: loaded serial 0
OK
结果如果是这样,说明没问题
2.4设置防火墙放行,设置主配置文件和区域文件的属组为named
[root@Centos7-i named]# firewall-amd --permanent --add-service=dns
[root@Centos7-i named]# firewall-cmd --reload
[root@Centos7-i named]# chgrp named /etc/named.conf /etc/named.zones
[root@Centos7-i named]# chgrp named long.com.zone 192.168.10.zone
2.5重新启动 DNS 服务,加入开机启动
[root@Centos7-1 named]# systemctl restart named
[root@Centos7-1 named]# systemctl enable named
2.6测试
说明如下。
(1)主配置文件的名称一定要与/etc/named.conf 文件中指定的文件名一致。本节中是named.zones。
(2)正反向区域文件的名称一定要与/ctc/named.zones 文件中 zone 区域声明中指定的文件名一致。
(3)正反向区域文件的所有记录行都要顶头写,前面不要留有空格,否则会导致DNS服务器不能正常工作。
(4)第一个有效行为SOA资源记录。该记录的格式如下;
@ IN SOA Origin. contact.(
1997022700 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ; minimum
)
@是该域的替代符,例如,long.com.zone 文件中的@代表long.com。所以上面例子中 SOA 有效行(@IN SOA@root.long.com.)可以改为(@IN SOA long.com.root.long.com.)。
IN表示网络类型。
SOA表示资源记录类型。
origin 表示该域的主域名服务器的 FQDN,用“”结尾表示这是个绝对名称。例如,long.com.zone文件中的origin 为dns.long.com.。
contact 表示该域的管理员的电子邮件地址。它是正常 E-mail 地址的变通,将@变为“.”。例如,long.com.zon文件中的contact 为 mail.long.com.。
serial为该文件的版本号。该数据是辅助域名服务器和主域名服务器进行时间同步的,每次修改数据库文件后,都应更新该序列号。习惯上用yyyymmddnn,即年月日后加两位数字,表示一日之中第几次修改。
refresh 为更新时间间隔。辅助 DNS 服务器根据此时间间隔周期性地检查主DNS服务器的序列号是否改变,如果改变则更新自己的数据库文件。
retry为重试时间间隔。当辅助DNS服务器没有能够从主DNS服务器更新数据库文件时,在定义的重试时间间隔后重新尝试。
expiry为过期时间。如果辅助DNS服务器在所定义的时间间隔内没有能够与主DNS服务器或另一台DNS服务器取得联系,则该辅助DNS服务器上的数据库文件被认为无效,不再响应查询请求。
(5)TTL为最小时间间隔,单位是秒。对于没有特别指定存活周期的资源记录,默认取minimum 的值为1天,即86400秒。1D表示一天。
(6)行“@ IN NS dns.long.com.”说明该域的域名服务器,至少应该定义一个。
(7)行“@IN MX 10 mail.long.com.”用于定义邮件交换器,其中10表示优先级别,数字越小,优先级别越高。
(8)类似于行“www IN A 192.168.10.4”是一系列的主机资源记录,表示主机名和IP地址的对应关系。
(9)行"web IN CNAME www.long.com.”定义的是别名资源记录,表示web.long.com.是www.long.com.的别名。
(10)类似于行“2 IN PTR mail.long.com.”是指针资源记录,表示IP地址与主机名称的对应关系。其中,PTR 使用相对域名;2 表示 2.10.168.192.in-addr.arpa,它表示 IP 地址为192.168.10.2。