注册
 找回密码
 注册
江西广告网
查看: 343|回复: 0
打印 上一主题 下一主题

Win2000环境下使用BIND作域名服务器

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-3 23:33:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  Windows 2000 server 以其优异的性能,逐渐被广泛的应用。在Windows 2000 server中新增了Active Directory服务,该服务存储所有网络资源的信息,如计算机、共享文件夹、用户等等。它还通过标准的 LDAP 协议(轻量目录访问协议)将此类信息提供给用户和应用程序。与Windows NT 4.0 中的域控制器相比,Active Directory 与 DNS 的关系更加密切。实际上,DNS是支持 Active Directory 所必需的。通常,安装 Active Directory 服务器时,如果网络上找不到 合适的DNS 服务器,就会在安装过程中安装 DNS 服务。   Windows 2000 中最重要的新概念之一就是:计算机不再主要用网络基本输入/输出系统 (NetBIOS) 名称来标识,而是使用 DNS 完全合格的域名称 (FQDN) 来标识。 因此,要登录并访问 Windows NT 域中的资源,Windows 2000 计算机必须查找 DNS 服务器,以定位 Active Directory 域控制器。也就是说Windows 2000 中服务位置和名称解析的主要机制是域名系统(DNS),它在启动和登陆过程使用DNS来查找如LDAP和Kerveros这类的服务,以便至少检索到一个域控制器的IP地址.因此,也可以说Windows 2000中Active Directory依赖于DNS.   Windows 2000不仅通过DNS定位资源和服务,而且将自己的名字及所提供的服务注册到DNS数据库中并动态更新。   在以下原因或事件下会发送动态更新:   · 在 TCP/IP 协议的属性中添加、删除或修改了任何网络连接的 IP 地址。   · 用 DHCP 服务器更改或刷新了任何网络连接的 IP 地址。例如,在启动计算机或者使用了 ipconfig /renew 命令的时候。   · ipconfig /registerdns 命令用于手工强制刷新 DNS 中的客户机名称注册。   · 计算机关闭后再次启动。   Windows 2000使用以下过程进行 DNS 动态更新:   1. 客户机请求其已配置的 DNS 服务器为待更新 DNS 名称的 DNS 区域查找授权名称服务器。   2. DNS 客户机的已配置 DNS 服务器会执行标准名称解析过程,并发送 SOA(起始授权机构)资源记录和负责此查询 DNS 区域授权的名称服务器的 IP 地址。   3. 客户机将动态更新请求发送给负责这个待更新 DNS 名称的区域的授权 DNS 服务器。   客户机的动态更新请求可能包括一列前提条件,只有满足这些条件后才能完成更新。前提条件类型包括:   o 存在资源记录集。   o 不存在资源记录集。   o 名称正被使用。   o 名称未被使用。   4. 授权 DNS 服务器判断这些前提条件是否满足。如果满足,授权 DNS 服务器就执行请求的更新。如果不满足前提条件,则更新失败。不论是哪种情况,授权服务器都会应答客户机,说明更新是否成功。   在 Windows 2000 中,默认情况下,所有 DNS 客户计算机的 A 资源记录和 PTR 资源记录都被注册到 DNS 中。此外,域控制器和提供服务的其它计算机将 SRV(服务)资源记录注册到 DNS 中。由于 SRV 资源记录提供了将服务名称解析到 IP 地址的途径,将它们注册到 DNS 使 Windows 2000 客户计算机可以定位域控制器和其它类型的服务器。   SRV记录格式如下:   _service. _protocol.domain.name IN SRV priority weight port target   service 是指服务的名称如ldap, protocol是指传输层的协议名如tcp, 紧跟着是域名,priority是指优先级,当客户机找到指向同一服务的多条记录时,它将使用priority值最小的一项。Weight是指权重用于负载的分配,当客户机找到多个具有相同priority值得SRV记录,它将根据weight值选择适当的服务器。Port 和target分别指服务的端口号及提供服务的主机的名字。   因此,用于支持 Active Directory的 DNS 服务器必须支持 SRV 记录。而且,Microsoft 极力推荐这些 DNS 服务器也支持RFC 2136所描述动态更新。   在实际应用过程中,我们有时会遇到这样情况:网络中使用UNIX下的BIND作主域名服务器而且由于种种原因不能把域名服务放在Windows 2000上,在这种情况下如何从 Windows NT 4的域平滑地升级到Windows2000的Active Directory呢?   经过上面的分析可知,可以使用运行于任何 OS 上的任何支持 SRV 记录的 DNS 服务器与Windows 2000协同工作。同时微软极力推荐使用支持动态更新(按照 RFC 2136)的 DNS 服务器。而BIND 在8.2.2版本以上都是完全满足要求的。   基于上述认识,我们以一个实例来说明在网络中使用UNIX下的BIND作域名服务器的情况下,如何从Windows NT 4的域平滑地升级到Windows2000的Active Directory:   在一个局域网络中,主域名、邮件放在SUN工作站上,域名是mail.ddri.com.cn。IP地址为:10.65.65.1,操作系统为solaris 2.6中文版,域名服务器软件为solaris 2.6中捆绑的的BIND 4.9.3。.另外有两台服务器安装Windows NT 4.0分别作两个域的主域控制器。主机名分别是 zyxx.ddri.com.cn和xxdc.ddri.com.cn,IP地址分别为10.65.65.16和10.65.65.56。   首先,下载BIND软件包,当前最新版本是9.2.0beta,我们使用的是9.1.3.rc1,可以在ftp://ftp.isc.org/isc/bind9/9.1.3/下载源代码包bind-9.1.3.tar.gz然后进行编译,编译方法可以参照软件包中的文档。这里我们从http://www.sunfreeware.com/下载已经预先编译好的bind-9.1.3rc1-sol26-sparc-local.gz,另外需要下载gzip-1.3-sol26-sparc-local来解压缩。先使用admintool下先安装gzip-1.3-sol26-sparc-local。然后用gzip –d bind-9.1.3rc1-sol26-sparc-local.gz解包,最后再次使用admintool 来安装bind-9.1.3rc1-sol26-sparc-local。      其次,修改配置文件:在BIND 8.2.2以后的版本中主要使用allow-update和 update-policy语句来实现和控制动态更新。   allow-update的语法是:   allow-update { “acl-name”;} ;   或allow-update { ip_addr;} ;   update-policy用来定义简单的安全策略 。因为当使用动态更新时是会带来一些安全问题的,所以建议使用安全策略来控制动态更新。语法是:   update-policy {(grant/deny) identity nametype name [type];};   每一个动态更新请求如果成功的匹配规则。那么动态更新被允许或禁止。      下面是实际的配置文件/etc/named.conf:      options {   directory "/var/named";   pid-file "named.pid";   allow-query { any;};   auth-nxdomain yes;   transfer-format one-answer;   forwarders {   10.65.1.1;   10.65.1.2;   10.65.50.1;   };   };   zone "." {   type hint;   file "root.cache";   };   zone "0.0.127.in-addr.arpa" {   type master;   file "localhost.rev";   notify no;   };   zone "ddri.com.cn" {   type master;   file "ddri.com.cn.db";   allow-transfer {   10.65.1.1;   10.65.1.2;   10.65.50.1;   };   allow-update {   10.65.65.0/24;   };       update-policy {   grand *.ddri.com.cn. self *.ddri.com.cn. A;   grand *.ddri.com.cn. self *.ddri.com.cn. SRV;   };   zone "65.65.10.in-addr.arpa" {   type master;   file "10.65.65.db";   allow-transfer {   10.65.1.1;   10.65.1.2;   10.65.50.1;   };   allow-update {   10.65.65.0/24;   };   update-policy {   grand *.ddri.com.cn. self *.ddri.com.cn. A;   grand *.ddri.com.cn. self *.ddri.com.cn. SRV;   };      };      };      在这个配置中允许所有IP 地址为10.65.65网段和域名为ddri.com.cn的计算机使用动态更新。(这个配置文件中还使用了转发器,并且为了在与低版本BIND进行区传送时兼容,我们使用了transfer-format one-answer;语句。)关于这个文件中的其它语句及可选项的语法,可以参考《BIND 9 ADMINISTRATOR REFERENCE MANUAL》。   接着,配置区文件中的静态项。需要注意的是区文件是要被动态更新的,所以文件权限必须是被named可写的。下面给出了写好的正向解析的区文件 /var/named/ddri.com.cn.db的例子:   @ IN SOA mail.ddri.com.cn. root.ddri.com.cn. (   2000120615 ; Serial Number   10800 ; Refresh after 3 hours   3600 ; Retry after 1 hour   604800 ; Expire after 1 week   86400 ) ; Minimum TTL of 1 day      @ IN NS mail.ddri.com.cn.   @ IN A 10.65.65.1   ddri.com.cn. IN NS mail   localhost IN A 127.0.0.1      mail IN A 10.65.65.1   info IN A 10.65.65.18   zyxx IN A 10.65.65.16   ddri.com.cn. IN MX 10 mail   反向解析记录区文件在这里就不例举了。   最后:修改启动脚本使BIND 9 自动运行。在各种UNIX、Linux修改方法是不尽相同的,可以参考相关资料来修改。在solaris 2.6 下修改/etc/inet.d/inetsvc:   找到…   if [ -f /usr/sbin/in.named -a -f /etc/named.boot ]; then   /usr/sbin/in.named; echo "starting internet domain name server."   fi   修改为:   if [ -f /usr/local/sbin/named ]; then   /usr/local/sbin/named; echo "starting BIND 9.1.3rc1."   fi   (在缺省情况下BIND 9安装在/usr/local/sbin下)   重新启动服务器,BIND 9的配置就生效了。现在就可以升级到Windows 2000的Active D <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表