无法在 BIND 9.10 中从 Active Directory 启用 GSS-TSIG 更新

无法在 BIND 9.10 中从 Active Directory 启用 GSS-TSIG 更新

我在尝试使用 BIND 9.10 启用 GSS-TSIG 时遇到了问题。

在我开始描述我所做的事情之前,我想说我已经在另一个领域中完成了这件事,没有任何问题。所以我认为我遗漏了一些非常具体的东西。如果有人能帮助我调试这个问题,我会非常高兴。

开始吧。

我在 FreeBSD 10.0 上运行 BIND9 9.10.0P2_5,由我自己编译,启用了 GSSAPI_BASE 选项。我使用同一个二进制包将其部署到其他正常运行的域上。

named.conf然后我在我的文件中启用了 GSS-TSIG :

options {
    ( … )
    tkey-gssapi-keytab "/etc/krb5.keytab”;
    ( … )
};

zone “local.example.com" {
       type master;
       file "/usr/local/etc/namedb/dynamic/local.example.com";
       notify yes;
       check-names ignore;
       allow-query { clients; };
       allow-transfer { intnameservers; };
#      allow-update {
#              key "iq-rndc-key";
#              domaincontrollers;
#      };
       update-policy {
               grant * subdomain local.iq.ufrj.br. ANY;
       };
};

zone "10.in-addr.arpa" {
       type master;
       file "/usr/local/etc/namedb/dynamic/10.in-addr.arpa";
       notify yes;
       allow-query { clients; };
       allow-transfer { intnameservers; };
#       allow-update { 
#               key "iq-rndc-key"; 
#               domaincontrollers;
#       };
       update-policy {
               grant * subdomain 10.in-addr.arpa. PTR TXT;
       };
};

然后我使用 Samba4 和 Kerberos 加入了 AD 域,方式如下:

/etc/krb5.conf创建具有以下内容的文件:

[libdefaults]
    default_realm = EXAMPLE.COM
    dns_lookup_realm = true
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = yes

/usr/local/etc/smb4.conf安装 Samba 4.1 并创建包含以下内容的文件:

[global]
    security = ads
    realm = EXAMPLE.COM
    workgroup = EXAMPLE

    kerberos method = secrets and keytab

    client signing = yes
    client use spnego = yes
    log file = /var/log/samba4/%m.log

请求管理员 Kerberos 票证:

$ kinit Administrator

然后加入域并创建 keytab

$ net ads join createupn=dns/[email protected] -k
$ net ads keytab create -k

毕竟我已经成功收到了一张票,并成功创建了一个计算机帐户和一个服务主体帐户。

下一步是 chown bind,/etc/krb5.keytab以便 BIND9 可以成功读取 keytab。

毕竟,什么都没起作用……GSS-TSIG 甚至没有在日志中给出错误,这令人沮丧。我尝试使用 named.conf 中的这些选项来调试它:

logging {

       channel update_log {
               file "/var/log/named/bind-ddns-updates.log";
               severity debug;
               print-category yes;
               print-severity yes;
               print-time yes;
       };

       category update {
               update_log;
       };

       category update-security {
               update_log;
       };
};

但我在日志文件中没有看到任何有用的内容。

提前致谢,

相关内容