首页 > 解决方案 > 如何设置没有域名的 Kerberos 领域

问题描述

我目前正在为 Ambari Hortonworks 环境设置 Kerberos。由于多种原因,我无法使用不同的域名作为此安装的域名。这很奇怪,因为 - 根据我的阅读 - 领域名称只是按照惯例设置为域名。理论上它可以是任何 ASCII 字符串。

对于这个 Ambari 环境,我基本上是在尝试设置 Kerberos

[libdefaults]
default_realm = FOOBAR

事实上,我当前的 krb5.conf 看起来像这样:

[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = FOOBAR
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
rdns = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[domain_realm]
#Not sure how to use this mapping property in this case
FOOBAR = FOOBAR
.FOOBAR = FOOBAR

[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log

[realms]
FOOBAR = {
admin_server = {admin ip adress}
kdc = {kdc ip address}
}

/etc/hosts

{kdc ip address} FOOBAR kdc

应该能够使用 hosts 文件缩短 DNS 检查。但我似乎无法让 Kerberos 以这种方式工作。到目前为止,我在网上找到的所有文档都描述了遵循 DNS 约定的良好、安全的设置。任何人都可以指向一个教程,或者描述使 Kerberos 在没有域名的情况下工作的必要步骤吗?

标签: hadoopkerberos

解决方案


鉴于缺乏有用的回应,我将分享我最终使用的内容(有效但可能不是最佳的)

[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = FOOBAR
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[domain_realm]
FOOBAR = FOOBAR
.FOOBAR = FOOBAR

[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log

[realms]
FOOBAR = {
admin_server = {admin_server ip}
kdc = {kdc_server ip}
}

此外,请务必将集群中所有机器的 IP 地址和主机名添加到 /etc/hosts 文件中。


推荐阅读