zoukankan      html  css  js  c++  java
  • Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少。对于两者都熟悉的,实现 Bind+DLZ+MySQL正向解析的也已经很多了,但实现反向解析的恐怕是没有几个人去做。原因:一是不怎么需要反向解析,而是即使需要也不知道如何配置。

    其实反向解析还是需要的,比如说邮件系统或者防火墙系统会判断电子邮件的域名和IP地址是否在DNS注册的值相匹配以确定是否是垃圾邮件。

    实现DNS的反向解析其实和正向解析的原理是一样的,只要对DNSDLZACLVIEW以及原理深刻理解一下就可以类比互通,以和正向解析同样的方式来实现反向解析。

    对比一下下面的示例一看便知。

    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

    ('vtest.org', '@', 'SOA', 'ns1.vtest.org.', 10, NULL, 600, 3600, 86400,

    10, 2011061200, 'vtest.org.', 'ns1.vtest.org.','ns2.vtest.org.',0);

    插入@NS记录

    INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES

    ('vtest.org', '@', 'NS', 'ns1.vtest.org.'),

    ('vtest.org', '@', 'NS', 'ns2.vtest.org.');

    插入NSA记录

    INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES

    ('vtest.org', 'ns1', 'A', '172.16.201.204'),

    ('vtest.org', 'ns2', 'A', '172.16.201.206');

    注意:在插入的过程中需要指定属于哪一个ISP提供商,见附表。

    ISP

    简称

    中国电信

    dx

    中国联通

    lt

    中国移动

    yd

    中国铁通

    td

    中国教育网

    edu

    其他ISP类型

    any

    如果只使用内网进行测试(特别是使用DNS服务器自身)而不使用其他网络中的主机进行测试时,则必须指定一个anyview类型,否则服务器可能返回一个错误信息。

    Linux的dig命令返回“;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 49529”;nslookup命令返回“** server can't find www.vtest.org: NXDOMAIN”或“** server can't find www.vtest.org: SERVFAIL”。

    Windowsnslookup命令返回“*** [172.16.201.204] can't find www.vtest.org: Server failed”。

    如果日志中没有提示错误,配置文件也没有权限或者限制等问题,则一定是出在view这种逻辑问题上。

    插入CNAME记录

    注意事项与插入A记录相同(view问题)。

    INSERT INTO dns_records (zone,host,type,DATA,view) VALUES

    ('vtest.org', 'bbs', 'CNAME', 'www','dx');

    2.实现DNS的反向解析

    实现DNS的反向解析其实和正向解析的原理是一样的,只要对DNSDLZACLVIEW的原理深刻理解一下就可以类比互通,以和正向解析的同样的方式来实现反向解析。

    插入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

    ('201.16.172.in-addr.arpa', '@', 'SOA', 'ns1.vtest.org.', 10, NULL, 600, 3600, 86400,

    10, 2011061200, 'vtest.org.', 'ns1.vtest.org.','ns2.vtest.org.',0);

    插入@NS记录

    INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES

    ('vtest.org', '@', 'NS', 'ns1.vtest.org.'),

    ('vtest.org', '@', 'NS', 'ns2.vtest.org.');

    插入NSA记录

    INSERT INTO `dns_records` (`zone`, `host`, `type`, `data`) VALUES

    ('201.16.172.in-addr.arpa', '204', 'PTR', 'www1.vtest.org.'),

    ('201.16.172.in-addr.arpa', '205', 'PTR', 'www2.vtest.org.');

     

     总之设置方面一句话,只要明白zone记录的写法一切就OK了!思路方面:多类比,多尝试,遇到问题不要急于找资料,先理顺思路、分析透彻,一切慢慢来。

     




    本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1174723,如需转载请自行联系原作者

  • 相关阅读:
    eyou通用标签的调取
    eyou头部相关标签的调用
    自增标签循环+1的方法
    文章内容页相关的标签
    当前栏目有多少文章
    指定栏目最顶级栏目名称
    当前单页正文
    Python-pandas常用函数
    监控在线平台
    网页爬虫---音乐
  • 原文地址:https://www.cnblogs.com/twodog/p/12138919.html
Copyright © 2011-2022 走看看