我要投稿
  • 您当前的位置:57365.com -> 技术教程 -> 服务器网络 -> 服务器教程 -> 域名服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • BIND 高级特性-- 动态更新域名服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:域名服务器教程    收藏本页
                  摘要:BIND 高级特性-- 动态更新 在很多大的网络中为了简化维护量,都使用了DHCP来动态分配IP地址。这样就要求DNS也能够动态的添加和删除记录。BIND 8和9就支持DNS动态更新机制。

     在很多大的网络中为了简化维护量,都使用了DHCP来动态分配IP地址。这样就要求DNS也能够动态的添加和删除记录。BIND 8和9就支持DNS动态更新机制。
    主DNS和辅DNS在处理收到的动态更新记录是有区别的,辅DNS在收到更新消息的时候,由于它不是该区的主DNS,它就会将这个更新消息转发给它的主DNS,这称作“更新转发”。而主DNS当然就简单地做更新而已。
    如何来创建动态更新消息呢?第一种是用软件编程方式,采用ns_update()解析器例程来创建。第二种则是用命令行程序nsupdate命令手工创建。这里主要讲一下第二种,命令格式如下:
    prereq yxrrset domain name type
    prereq nxrrset domain name type
    prereq yxdomain domain name
    prereq nxdomain domain name
    update delete domain name [type] [rdata]
    update add domain name ttl [class] type rdata

    看起来似乎挺复杂,其实很容易。prereq 表示预先必须符合的条件,yxrrset表示存在记录,nxrrset表示不存在记录,而yxdomain则表示存在域名了。例如:

    # nsupdate
    > prereq nxdomain
    www.xmgd.com.
    > update add
    www.xmgd.com. 600 A 210.52.83.228
    >
    这个例子告诉服务器只有在域名不存在时才对域名
    www.xmgd.com 添加一个地址。注意最后一个空行表示nsupdate发送这个更新消息。

    # nsupdate
    > prereq yxrrset xmgd.com. MX
    > update delete xmgd.com. MX
    > update add xmgd.com. 600 MX 10 mail.xmgd.com.
    > update add xmgd.com. 600 MX 50 pop.xmgd.com.
    >
    这个例子告诉服务器检查服务器是否有xmgd.com.的MX记录,如果有的话就删除原有的MX记录,重新添加两个。

    如何来限制动态更新呢?我们可以使用allow-update参数来限制动态更新,如:
    zone “xmgd.com” {
    type master;
    file "zone.xmgd.com";
    allow-update { x.x.x.x; }; // IP 地址
    };

    不过,要注意的是如果我们允许从辅DNS向主DNS进行地址更新,那么任何人只要向辅DNS发送更新消息,经过转发更新也能进行原本不能进行的动态更新,如何防止这一点呢?可以在辅DNS上使用allow-update-forwarding参数来做转发更新的限制,如:

    zone “xmgd.com” {
    type slave;
    file "zone.xmgd.com";
    allow-update-forwarding { x.x.x.x; }; // IP 地址
    };

    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.hxswjs.com All Rights Reserved.57365.com 版权所有