PowerDNS管理工具开发中学习到的DNS知识
PowerDNS是一个数据库代替DNS域文件方法的开源软件,主要实现DNS主体功能进程bind实现从数据库取数据来实现DNS解析。最近做了一个DNS记录数据库的管理系统,系统本身较简单,不过从中学习和巩固了不少DNS知识,特记录总结供有心人查阅(包括自己)。
DNS支持A/AAAA/CNAME/SRV/TXT/PTR/NS/MX/SOA/RP/HINFO, URL/LOC/DNSKEY/KEY/NSEC/NAPTR/CERT/RRSIG/SSHFP/MBOXFW/DS/ISDN等记录类型。前部分是常用记录类型, 下列表详细阐述之。
类型名
|
类型描述
|
NAME
|
Content
|
补充描述
|
A
|
主机记录Alias
|
主机名
|
IPv4地址
|
255.255.255.255
|
AAAA
|
主机记录Alias
|
主机名
|
IPv6地址
|
冒号分割的多段表示的IPv6地址(4个16进制为一段(label))。双冒号可以表示连续多个0段,共8段。
|
CNAME
|
别名记录canonical name
|
主机名
|
FQDN
|
名字全局惟一
|
SRV
|
服务记录
|
服务名.协议名.DOMAIN后缀
|
重要度 端口号目标服务器FQDN
|
服务名:下划线开头后跟多个字母(不区分大小写);
协议名:下划线开头后跟多个字母(不区分大小写),目前有_tcp和_udp;
重要度:0-65535
端口号:0-65535
该记录类型带Priority
|
TXT
|
文本记录
|
(同域名)
|
描述信息
|
该记录类型带Priority
|
PTR
|
指针记录
|
IPv4反向主机名或者IPv6反向主机名
|
主机名FQDN
|
IPv4域名以in-addr.arpa结尾;
IPv6域名固定为ip6.arpa或ip6.int;
IPv4名字:1-255
IPv6名字:([0-9a-f].){31}([0-9a-f]
该记录类型带Priority
|
NS
|
域名服务器记录
|
主机名或同域名
|
主机名FQDN
|
|
MX
|
邮件服务器记录
|
主机名或同域名
|
主机名FQDN
|
该记录类型带Priority
|
SOA
|
域开始记录(Start Of Authority)
|
同域名
|
Primary HostMaster AutoSerial Refresh Retry Expire NegativeCacheTTL
|
Primary:Primary NS
HostMaster: Email address of host master
For same domain
AutoSerial: sync id(0- 4294967295)
Refresh:default 120(2min),0- 2147483647
Retry:default 10800(3 hours),0- 2147483647
Expire:default 604800(1week),0- 2147483647
Negative Cache TTL:default 86400(1day),0- 2147483647
|
RP
|
负责人记录(Responsibility Person)
|
记录名
|
文本信息
|
|
HINFO
|
主机信息记录(Host Information)
|
记录名
|
OSINFO CPUINFO
|
OSINFO和CPUINFO参考RFC1835
|
* RDATA就是PowerDNS的Priority(如果有)+ content+TTL字段,TTL默认600;Priority默认0,如果有的话。
* 名字可以带点号以支持子域主机名。
* 同域内:CNAME名字惟一,任何记录不能跟CNAME的记录名相同。
* FQDN(Full qualified domain name)全域名主机名,FQDN在RDATA中结尾点来注明是FQDN。
* FQDN名字规范:形如abc.company.com。总长不超过255;段数不超过127段;每段不能多于63个字符,少于1个字符;点号分割每段;首段(主机名)不能全为数字,可以包含数字,字母,连字符三种情况;其余段可以包含数字,字母,连字符,首尾不能是连字符。
* MX记录的priority值越小优先级越高。
* SOA记录的AutoSerial值用来主域和从域间同步记录信息用,如果从域发现主域的该值比自己的大,就会请求同步,并刷新自己的该值。通常做法用YYYYMMDD[00-99]来协商。
本文转自 dannyy1026 51CTO博客,原文链接:
http://blog.51cto.com/dannyyuan/165712