Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少。对于两者都熟悉的,实现 Bind+DLZ+MySQL正向解析的也已经很多了,但实现反向解析的恐怕是没有几个人去做。原因:一是不怎么需要反向解析,而是即使需要也不知道如何配置。
 
其实反向解析还是需要的,比如说邮件系统或者防火墙系统会判断电子邮件的域名和IP地址是否在DNS注册的值相匹配以确定是否是垃圾邮件。
 
实现DNS的反向解析其实和正向解析的原理是一样的,只要对DNS、DLZ、ACL和VIEW以及原理深刻理解一下就可以类比互通,以和正向解析同样的方式来实现反向解析。
 
对比一下下面的示例一看便知。
 
1.实现DNS的正向解析
 
插入SOA记录
 
INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`, `ttl`,`mx_priority`,
 
`refresh`, `retry`, `expire`, `minimum`, `serial`, `resp_person`, `primary_ns`,`second_ns`,
 
`data_count`) VALUES
 
('linuxidc.com', '@', 'SOA', 'ns1.linuxidc.com.', 10, NULL, 600, 3600, 86400,
 
10, 2011061200, 'linuxidc.com.', 'ns1.linuxidc.com.','ns2.linuxidc.com.',0);
 
插入@和NS记录
 
INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES
 
('linuxidc.com', '@', 'NS', 'ns1.linuxidc.com.'),
 
('linuxidc.com', '@', 'NS', 'ns2.linuxidc.com.');
 
插入NS和A记录
 
INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES
 
('linuxidc.com', 'ns1', 'A', '172.16.201.204'),
 
('linuxidc.com', 'ns2', 'A', '172.16.201.206');
 
注意:在插入的过程中需要指定属于哪一个ISP提供商,见附表。

ISP

 

简称

 

中国电信

 

dx

 

中国联通

 

lt

 

中国移动

 

yd

 

中国铁通

 

td

 

中国教育网

 

edu

 

其他ISP类型

 

any

 

如果只使用内网进行测试(特别是使用DNS服务器自身)而不使用其他网络中的主机进行测试时,则必须指定一个any的view类型,否则服务器可能返回一个错误信息。
 
Linux的dig命令返回“;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 49529”;nslookup命令返回“** server can't find : NXDOMAIN”或“** server can't find : SERVFAIL”。
 
Windows的nslookup命令返回“*** [172.16.201.204] can't find : Server failed”。
 
如果日志中没有提示错误,配置文件也没有权限或者限制等问题,则一定是出在view这种逻辑问题上。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/09b93c30334bd89a4db8938776b01607.html