免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6391 | 回复: 8
打印 上一主题 下一主题

[DNS] [已经解决]一个关于MS AD + Bind DNS的棘手问题--SRV记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-19 13:19 |只看该作者 |倒序浏览
SRV 记录本是一个域名系统 (DNS) 资源记录,用于标识承载特定服务的计算机。SRV 资源记录用于定位 Active Directory 的域控制器。要验证域控制器的 SRV 定位器资源记录。在这个记录中,很多是用“下划线(_)组成”。

在运行 Microsoft DNS 服务的服务器上安装 Active Directory 后,可以使用 DNS 管理控制台来验证是否为每个 DNS 区域都创建了适当的区域和资源记录。
Active Directory 在以下文件夹中创建自己的 SRV 记录,其中 Domain_Name 为域名:
Forward Lookup Zones/Domain_Name/_msdcs/dc/_sites/Default-First-Site-Name/_tcp Forward Lookup Zones/Domain_Name/_msdcs/dc/_tcp
在这些位置,将显示以下服务的 SRV 记录:

_kerberos
_ldap

我们可以看到,这些记录都有不少的“下划线”,同时Microsoft DNS也都认可这种格式。

但在使用非 Microsoft DNS (如Linux Bind 9.3.2) 的服务器来支持 Active Directory,麻烦却来了。因为在这个版本中,所有记录中不得含有“下划线(_)”,如有记录有下划线时,都识为非法记录,导致连Named服务都启动不了,出现提示" Bad ower name (check-name)"。在named.conf中加上"check-name master ignore"后,Named服务倒是启动了,可是忽略所有记录中的错误,也包括带有"下划线"的这些记录。这样一台,AD 的 SRV记录根本没有注册到DNS中,客户端PC也根本找不到“域/域控制器”。怎么办?难道要放弃LINUX BIND DNS而改用Microsoft DNS?  那位大虾有什么解决方案啊?

注:BIND 9.2.2 可能识别带有“下划线”的记录。总不可以升级后的版本不可以与Microsoft AD一起用,没这个道理啊,如果这样的话。那Linux以后如何混得下去哦!一定不可能。


BIND 9.2.2 中与AD有关的一些SRV记录(所有域名为例子,请误对照).

$ORIGIN dc._msdcs.bel-wx.wuxi.suntech.com.
$ORIGIN _tcp.Default-First-Site-Name._sites.dc._msdcs.bel-wx.wuxi.suntech.com.
_kerberos               SRV     0 100 88 bdc-belwx.bel-wx.wuxi.suntech.com.
                        SRV     0 100 88 pdc-belwx.bel-wx.wuxi.suntech.com.
_ldap                   SRV     0 100 389 bdc-belwx.bel-wx.wuxi.suntech.com.
                        SRV     0 100 389 pdc-belwx.bel-wx.wuxi.suntech.com.
$ORIGIN dc._msdcs.bel-wx.wuxi.suntech.com.
$ORIGIN _tcp.dc._msdcs.bel-wx.wuxi.suntech.com.
_kerberos               SRV     0 100 88 bdc-belwx.bel-wx.wuxi.suntech.com.
                        SRV     0 100 88 pdc-belwx.bel-wx.wuxi.suntech.com.
_ldap                   SRV     0 100 389 bdc-belwx.bel-wx.wuxi.suntech.com.
                        SRV     0 100 389 pdc-belwx.bel-wx.wuxi.suntech.com.
$ORIGIN _msdcs.bel-wx.wuxi.suntech.com.
_ldap._tcp.d03682fd-a1b0-4612-a2ff-ae435596d995.domains SRV 0 100 389 bdc-belwx.bel-wx.wuxi.suntech.com.
                        SRV     0 100 389 pdc-belwx.bel-wx.wuxi.suntech.com.
gc                      A       192.168.140.75
                        A       192.168.140.217
$ORIGIN gc._msdcs.bel-wx.wuxi.suntech.com.
_ldap._tcp.Default-First-Site-Name._sites SRV 0 100 3268 bdc-belwx.bel-wx.wuxi.suntech.com.
_ldap._tcp              SRV     0 100 3268 bdc-belwx.bel-wx.wuxi.suntech.com.
$ORIGIN _msdcs.bel-wx.wuxi.suntech.com.
_ldap._tcp.pdc          SRV     0 100 389 bdc-belwx.bel-wx.wuxi.suntech.com.

......

解决方法见5楼,改天整一个完整的,与大家分享.

[ 本帖最后由 windychan 于 2008-7-14 22:04 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-06-19 13:57 |只看该作者
BIND9是支持SRV记录的,起码9.4.2是可以的。SRV记录是在RFC2782中定义。name字段带下划线“_”是符合定义的。

论坛徽章:
0
3 [报告]
发表于 2008-06-19 14:11 |只看该作者
原帖由 diancn 于 2008-6-19 13:57 发表
BIND9是支持SRV记录的,起码9.4.2是可以的。SRV记录是在RFC2782中定义。name字段带下划线“_”是符合定义的。



---->SRV记录是在RFC2782中定义。name字段带下划线“_”是符合定义的。这点我上知道,但MS AD有的SRV 记录中有“下划线”,这是不可改变的事实啊。

我试试9.4.2吧!

论坛徽章:
0
4 [报告]
发表于 2008-06-19 14:32 |只看该作者
看来ms的ad创建的SRV 记录 并不完全遵从RFC, 不知在使用时是否可以严格遵从RFC来使用下划线,这样来保证互通。  呵呵,对ms ad不太了解。

论坛徽章:
0
5 [报告]
发表于 2008-06-19 20:53 |只看该作者

网上这样讲的。回上班再试试

Microsoft Windows 2000使用一个称为"_msdcs"来存放动态目录数据。尽管这种子域不会与合法的主机名产生不一致,

  但是也使得在子域中存放非法的主机名成为可能。这种主机名的使用默认是被BIND拒绝的。

  动态目录希望在_msdcs中有"全局目录(global catalog)"(例如,gc._msdcs.example.com),这默认是拒绝的。为了解

  决此问题,我们推荐动态目录设为独立的域(例如,"_msdcs.example.com")并配置成不检查非法的主机名。这应该是合理

  的,因为Window 2000服务器创建这些数据,而且不应该会与其它希望访问这些数据的Windows 2000机器产生不一致问

  题。

  例如,

  zone "_msdcs.example.com" {

  type master;

  file "_msdcs.example.db";

  check-names ignore;

  allow-update { localnets; };

  };

论坛徽章:
0
6 [报告]
发表于 2008-07-14 22:02 |只看该作者

确认5楼的这种方案

终于解决了BIND+ MS AD的问题.改天整出来与大家共享.

论坛徽章:
0
7 [报告]
发表于 2008-08-24 13:44 |只看该作者
原帖由 windychan 于 2008-7-14 22:02 发表
终于解决了BIND+ MS AD的问题.改天整出来与大家共享.


收藏此贴,等待楼主整理更新

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
8 [报告]
发表于 2008-08-26 13:50 |只看该作者
收藏了

论坛徽章:
0
9 [报告]
发表于 2008-09-20 03:23 |只看该作者
我看了半天,貌似5楼没什么意义。

楼主想要实现什么?用bind替换 ms域dns?

那么 file "_msdcs.example.db" 的内容从何而来?

另外 一个ms域dns 的 master zone "_msdcs.example.com" 如何才能同步到bind9以上的dns 的 slave zone 中?

从ms的zone同步数据需要key,楼主如何通过认证的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP