DNS server内的每一个网域名称都有自己的档案,这个档案一般会称为区域档案 (zone file),例如之前所提到的”named.ca”或”named.local” 档案…等等。区域档案是由多个记录组成的,每一个记录称为资源记录(Resource Record,简称RR)。当在设定DNS名称解析、反向解析及其他的管理目的时,您需要使用不同类型的RR,底下将介绍常用的RR类型及表示法。
SOA
Start Of Authority,这种 record 放在 zone file 一开始的地方,每一个记录档只能有一个 SOA,而且一定是档案中第一个“记录”,它描述这个 zone 负责的 name server,version number…等资料,以及当 slave server 要备份这个 zone 时的一些参数。 紧接在 SOA 后面指定了这个区域的授权主机和管理者的信箱,这里分别是 "school.edu.tw" 和" root.school.edu.tw",也就是school.edu.tw主机和 root 的信箱。这里要注意的是我们以"root.school.edu.tw"代表"root@school.edu.tw"
e.g.
@ IN SOA school.edu.tw. root.school.edu.tw. (
1999051401 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
在两个括号中间的选项表示SOA的设定内容,底下会有更详细的说明。
NS
name server,用来指定操作的DNS服务器主机名称,需注意的是不可以IP地址表示。
e.g.
IN NS dns.twnic.net.tw.
A记录
address,将DNS网域名称对应到IPv4的32位地址。
e.g.
server IN A 140.123.102.10
AAAA
可将DNS网域名称对应到IPv6的128位地址。
e.g.
twnic.net.tw. 86400 IN AAAA 3ffe: :bbb:93:5
PTR
pointer,定义某个 IP 对应的 domain name,即将 IP 地址转换成主机的FQDN。
e.g.
20 IN PTR mail.twnic.net.tw.
CNAME
canonical name,可为同一部主机设定许多别名,例如 mix.twnic.net.tw的别名可为 www.twnic.net.tw和 ftp.twnic.net.tw,因此所设定的别名都会连至同一部服务器。
e.g.
www IN CNAME mix
MX
mail exchanger,设定区域中担任邮件服务器的主机,所有要送往那部机器的 mail 都要经过 mail exchanger 转送。而数字则是该主机邮件传递时的优先次序,此值越低表示有越高的邮件处理优先权。
e.g.
server IN MX 10 mail.twnic.net.tw.
SOA设定内容说明
SOA record,以之前例子来看,其中 @ 这个符号是缩写,代表 named.conf 中这个 zone file 所对应的 zone。 SOA 后面的两个参数是指这个 zone file 是在哪部主机 (school.edu.tw)定义的,以及这个 zone file 的负责人 (注意是写成 root.school.edu.tw),然后是用括号括起来的 5 个参数, 分别由底下说明。
Serial
代表这个 zone file 的版本,每当 zone file 内容有变动,name server 管理者就应该增加这个号码,因为 slave 会将这个号码与其 copy 的那份比对以便决定是否要再 copy 一次 (即进行 zone transfer)。
Refresh
slave server 每隔这段时间(秒),就会检查 master server 上的 serial number。不过这里会发生一个问题就是,在 master server 在 update data 完成到 slave server 来检查时再 update 可能还有 好一段时间,因此这段期间 master/slave DNS server间 zone files 就可能出现不一致。所以在Bind较新的版本中便加入"notify"功能,使用者在 "named.conf" 设定中在需要的 zone 中加入"notify"的设定,则 master server在 update 完成某个 zone file 的 data 后便会主动发个讯息(NOTIFY),藉以通知该其它的 slave servers,因此如果 slave servers 也有支援这个"notify"功能时,接下来 slave servers 马上就可以做 zone transfer 来update data。
e.g.
zone "twnic.com.tw" {
type master;
file "twnic.hosts";
notify yes;
also-notify { 192.168.10.1; }; //指定slave server的IP地址
};
Retry
当 slave server 无法和 master 进行 serial check时,要每隔几秒 retry 一次。
Expire
当时间超过 Expire 所定的秒数而 slave server 都无法和 master 取得连络,那么 slave 会删除自己的这份 copy。
Minimum
代表这个 zone file 中所有 record 的内定的 TTL 值,也就是其它的 DNS server cache 这笔 record 时,最长不应该超过这个时间。
SOA
Start Of Authority,这种 record 放在 zone file 一开始的地方,每一个记录档只能有一个 SOA,而且一定是档案中第一个“记录”,它描述这个 zone 负责的 name server,version number…等资料,以及当 slave server 要备份这个 zone 时的一些参数。 紧接在 SOA 后面指定了这个区域的授权主机和管理者的信箱,这里分别是 "school.edu.tw" 和" root.school.edu.tw",也就是school.edu.tw主机和 root 的信箱。这里要注意的是我们以"root.school.edu.tw"代表"root@school.edu.tw"
e.g.
@ IN SOA school.edu.tw. root.school.edu.tw. (
1999051401 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
在两个括号中间的选项表示SOA的设定内容,底下会有更详细的说明。
NS
name server,用来指定操作的DNS服务器主机名称,需注意的是不可以IP地址表示。
e.g.
IN NS dns.twnic.net.tw.
A记录
address,将DNS网域名称对应到IPv4的32位地址。
e.g.
server IN A 140.123.102.10
AAAA
可将DNS网域名称对应到IPv6的128位地址。
e.g.
twnic.net.tw. 86400 IN AAAA 3ffe: :bbb:93:5
PTR
pointer,定义某个 IP 对应的 domain name,即将 IP 地址转换成主机的FQDN。
e.g.
20 IN PTR mail.twnic.net.tw.
CNAME
canonical name,可为同一部主机设定许多别名,例如 mix.twnic.net.tw的别名可为 www.twnic.net.tw和 ftp.twnic.net.tw,因此所设定的别名都会连至同一部服务器。
e.g.
www IN CNAME mix
MX
mail exchanger,设定区域中担任邮件服务器的主机,所有要送往那部机器的 mail 都要经过 mail exchanger 转送。而数字则是该主机邮件传递时的优先次序,此值越低表示有越高的邮件处理优先权。
e.g.
server IN MX 10 mail.twnic.net.tw.
SOA设定内容说明
SOA record,以之前例子来看,其中 @ 这个符号是缩写,代表 named.conf 中这个 zone file 所对应的 zone。 SOA 后面的两个参数是指这个 zone file 是在哪部主机 (school.edu.tw)定义的,以及这个 zone file 的负责人 (注意是写成 root.school.edu.tw),然后是用括号括起来的 5 个参数, 分别由底下说明。
Serial
代表这个 zone file 的版本,每当 zone file 内容有变动,name server 管理者就应该增加这个号码,因为 slave 会将这个号码与其 copy 的那份比对以便决定是否要再 copy 一次 (即进行 zone transfer)。
Refresh
slave server 每隔这段时间(秒),就会检查 master server 上的 serial number。不过这里会发生一个问题就是,在 master server 在 update data 完成到 slave server 来检查时再 update 可能还有 好一段时间,因此这段期间 master/slave DNS server间 zone files 就可能出现不一致。所以在Bind较新的版本中便加入"notify"功能,使用者在 "named.conf" 设定中在需要的 zone 中加入"notify"的设定,则 master server在 update 完成某个 zone file 的 data 后便会主动发个讯息(NOTIFY),藉以通知该其它的 slave servers,因此如果 slave servers 也有支援这个"notify"功能时,接下来 slave servers 马上就可以做 zone transfer 来update data。
e.g.
zone "twnic.com.tw" {
type master;
file "twnic.hosts";
notify yes;
also-notify { 192.168.10.1; }; //指定slave server的IP地址
};
Retry
当 slave server 无法和 master 进行 serial check时,要每隔几秒 retry 一次。
Expire
当时间超过 Expire 所定的秒数而 slave server 都无法和 master 取得连络,那么 slave 会删除自己的这份 copy。
Minimum
代表这个 zone file 中所有 record 的内定的 TTL 值,也就是其它的 DNS server cache 这笔 record 时,最长不应该超过这个时间。