具有相同kerberos领域的两个集群

woobm2wo  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(637)

我有两个叫做app cluster和data cluster的ambari集群。两者都由kerberos保护。两个集群都有自己的kdc服务器。但是相同的域名(由管理团队配置)。
现在我想从app cluster访问datacluster的name节点。但是app cluster没有数据集群的名称节点主体。所以我犯了个错误
tgs请求结果:-1765328377/服务器nn/machine@realm 在kerberos数据库中找不到。
我检查了跨域身份验证。它说两个领域的名称应该是不同的。
如何使用具有相同域名的两个不同的主kdc服务器实现跨集群kerberos身份验证?

toe95027

toe950271#

当有两个具有相同领域名称的kdc主机时,我看到的问题是每个主机有两个不同的kerberos数据库,这意味着它们有不同的数据,使用不同的主密钥加密,使用不同的salt,甚至可能使用不同的加密类型(例如,如果从不同的发行版安装)。
例如,您可以通过在两个主机上执行以下命令来确保数据不同,然后比较输出: kdb5_util tabdump keydata 跨域身份验证的正确情况是,当有两个或至少两个kdc主服务器负责不同域中的不同域时,您仍然希望来自一个域的用户在另一个域中进行身份验证:
https://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/cross_002drealm-authentication.html
当一个领域和域中有两个kdc时,将其中一个作为主kdc,另一个作为从kdc是有意义的。这就引出了一个问题——为什么要把第二个kdc主机放在第一位呢?
是因为担心吗?那么,确实需要将kdc的一个主kdc设置为从kdc。
两者都是吗 app-cluster 以及 data-cluster 在不同的领域?那么拥有不同的领域是有意义的。
如果到目前为止还没有高可用性问题(例如,这两个集群都还在开发阶段),另一种选择可能是只使用一个kdc主节点,而不使用任何从属节点,并配置所有集群中的节点与这个kdc进行通信。
关于领域配置的一般建议:
https://web.mit.edu/kerberos/krb5-1.12/doc/admin/realm_config.html

相关问题