DNS协议可以看DNS的RFC(RFC1035等)或者<<TCP/IP详解>>这本书。
DNS包:
+---------------------+
|Header |
+---------------------+
| Question | the question for the name server
+---------------------+
|Answer | RRs answering the question
+---------------------+
| Authority | RRs pointing toward an authority
+---------------------+
| Additional | RRs holding additional information
+---------------------+
The question section is used to carry the "question" in most queries,
i.e., the parameters that define what is being asked. The section
contains QDCOUNT (usually 1) entries, each of the following format:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ QNAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
QTYPE a two octet code which specifies the type of the query.
The values for this field include all codes valid for a
TYPE field, together with some more general codes which
can match more than one type of RR.
3.2.2. TYPE values
TYPE fields are used in resource records. Note that these types are a
subset of QTYPEs.
TYPEvalue and meaning
A 1 a host address
NS 2 an authoritative name server
MD 3 a mail destination (Obsolete - use MX)
MF 4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA 6 marks the start of a zone of authority
MB 7 a mailbox domain name (EXPERIMENTAL)
MG 8 a mail group member (EXPERIMENTAL)
MR 9 a mail rename domain name (EXPERIMENTAL)
NULL10 a null RR (EXPERIMENTAL)
WKS 11 a well known service description
PTR 12 a domain name pointer
HINFO 13 host information
MINFO 14 mailbox or mail list information
MX 15 mail exchange
TXT 16 text strings
3.2.3. QTYPE values
QTYPE fields appear in the question part of a query. QTYPES are a
superset of TYPEs, hence all TYPEs are valid QTYPEs. In addition, the
following QTYPEs are defined:
Mockapetris[Page 12]
RFC 1035Domain Implementation and SpecificationNovember 1987
AXFR252 A request for a transfer of an entire zone
MAILB 253 A request for mailbox-related records (MB, MG or MR)
MAILA 254 A request for mail agent RRs (Obsolete - see MX)
* 255 A request for all records
下面是我配置DNS的实例:1 所需配置文件:
/etc/named.conf 系统自带,需要配置
/etc/resolv.conf 系统自带,需要配置
/var/named/myqmail.com.db 系统没有,自已创建
/var/named/db.192.168.0.198 系统没有,自已创建
/var/named/named.local 系统自带,不需要修改
/var/named/named.ca 系统自带,不需要修改
2 相关工具
nslookup
说明:检测DNS是否配置正确的工具,系统自带。
3 配置方案
3.1 /etc/named.conf
说明:DNS主配置文件,定义了域数据库信息的基本参数和源点,该文件可以存放在本地或远程的服务器上。源文件:
// generated by named-bootconf.pl
options {
directory "/var/named"
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53
}
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost} keys { rndckey}
}
zone "." IN {
type hint
file "named.ca"
}
zone "localhost" IN {
type master
file "localhost.zone"
allow-update { none}
}
zone "0.0.127.in-addr.arpa" IN {
type master
file "named.local"
allow-update { none}
}
zone "myqmail.com" IN {
type master
file "myqmail.com.db"
allow-update { none}
}
zone "0.168.192.in-addr.arpa" IN{
type master
file "db.192.168.0.198"
allow-update { none}
}
include "/etc/rndc.key"
3.2 /var/named/myqmail.com.db
说明:正向解析配置文件,即实现域名到IP的对应。源文件:
$TTL 86400
@ IN SOA www.myqmail.com. myqmail.com. (
2002103000 Serial
28800 Refresh
14400 Retry
3600000 Expire
86400 ) Minimum
IN NS www.myqmail.com.
localhost IN A 127.0.0.1
www IN A 192.168.0.198
3.3 /var/named/db.192.168.0.198
说明:DNS反向解析配置文件,即实现IP地址很域名的映射。源文件:
$TTL 86400
@ IN SOA www.myqmail.com. myqmail.com. (
2002103000 Serial
28800 Refresh
14400 Retry
3600000 Expire
86400 ) Minimum
IN NS www.myqmail.com.
198 IN PTR www.myqmail.com.
3.4 /etc/resolv.conf
说明:指定域名服务器的IP和搜索顺序。源文件:
search myqmail.com
nameserver 192.168.0.198
4 测试及管理办法
4.1 测试方法
1. 修改完DNS的配置文件,需要执行/etc/rc.d/init.d/named restart来使更改生效。
2. nslookup:测试正向、反向的解析是否正常
5 小结
DNS服务是许多服务的基础,所以我刚开始linux服务器时,就着手配置DNS服务器。在不懂如何开始时,就拚命上网查相关配置文档。但我犯错了。因为我的DNS是用在局域网中,根本不连接Internet,仅仅限于局域网中为各个部门的各主机及服务器作解析用。但是许多网上资料都是针对有DNS服务器来配置的,也就是说是一种层层解析方式,与我的配置思路不一样。在耗用了许多时间的情况下,我终于成功地配置了自己的DNS服务器。希望我的配置实例对大家有很好的帮助。
什么是DNS反向解析?
可逆DNS(RDNS)就是反向解析,就是把IP解析成域名。相对应的,DNS是正向解析,把域名解析成IP。可逆DNS(RDNS)的原理和DNS解析是完全相同的。
DNS反向解析就是将IP反向查询为域名,在相关IP授权DNS服务器上增加您的IP地址的PTR记录。反向解析的意义是这个IP地址的网络身份是被认可的,是合法的。
可逆DNS(RDNS)的一个应用是作为垃圾邮件过滤器.它是这样工作的:垃圾邮件制造者一般会使用与域名不合的无效IP地址,即不和域名匹配的IP地址.可逆DNS查找程序把引入信息的IP地址输入一个DNS数据库.如果没有找到和IP地址匹配的有效域名,服务器就认为该EMAIL是垃圾邮件。如AOL(美国在线)要求必须实施IP反解的邮件服务器才能向AOL/AIM邮箱发送邮件。
什么IP才能做反向解析?
国内的IP只有部分才能申请反向解析,这部分IP为电信运营商认可的固定IP地址,动态IP池中的不能申请。
一般反向解析是和IP地址分配有联系的,所以ISP(接入服务商)直接申请反向解析的授权很难得到。而电信运营商在这方面就具备天然优势,通常这个授权都会直接授予本地的电信运营商,然后再由电信运营商授予各个使用此IP地址的ISP(当然,这个ISP至少要完全占有整个C类地址的使用权,否则不会得到授权),大部分情况,电信运营商自己的DNS来提供相应IP地址的反向解析服务。
如何申请反向解析?
1)反向解析和域名注册服务商无任何关系
2)向提供您数据接入服务的ISP申请,如果ISP无授权做,则只有向ISP的上层运营商电信、网通申请
3)通常情况ISP会收取DNS反向解析服务费后,再向上层运营商下工单申请IP反解
4)申请周期长的可能需要1个月(如网通的IP反解申请一般需要统一由北京网通总部来做,周期长)
DNS反向解析费用
DNS反向解析通常需要支付年费,原因是电信运营商投入了DNS服务器运营来负责IP地址的反解,几乎所有电信运营商都将DNS反向解析列入收费项目,如果您通过ISP申请,ISP需要付费给电信运营商,产生的费用可能较高。
没做DNS反向解析造成的邮件退信举例说明
国内很多ISP还不知道什么是RDNS,更不知道如何架设RDNS服务器了。也就是说不是所有ISP都可以做RDNS的。这也就是为什么国内很多用户发往国外的遭到邮件退信的主要原因。
退信原因
某些邮件服务器为了防垃圾邮件的需要,接收邮件时进行对发信人的email地址进行DNS反向查询,对于公网存在正确DNS解析的发件人的邮件放行,而对于DNS反向解析不正确的地址予以拦截。
可能出现的关键字
can’t verify FROM domain in DNS、domain does not exist
解决方法
存在此类问题的多数是具有自己域名的企业邮箱用户,这类的服务器要求用户所用的域名解析设置中有关的SOA记录、MX记录都正确可查询。所以DNS解析记录不完整或者对方反向解析时刚好域名所在的邮件服务器出现故障不能正常返回查询,而收件人的邮件系统具有这样的验证机制时,就会出现这样的退信了。
确认退信是以上原因的时候,通知你的域名服务器的管理员检查确认你的域名解析记录信息或者稍后等域名服务器正常了即可正常发送。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)