我使用一个 KDC 来管理两个不同数据库中的两个领域(例如krb5kdc -p 2001 -r REALM1 -p 2002 -r REALM2
),如何配置它们以相互信任?我知道在两个不同的 KDC 中(例如add_principal krbtgt/REALM1@REALM2
)的步骤。它们可以以相同的方式配置吗?或者根本不需要配置,它们已经在同一个 KDC 服务中相互信任?
如果我有两个领域不同的 Hadoop 集群,哪种方式更好?一个 KDC 还是两个 KDC?
答案1
总体步骤是相同的。然而,随着每个领域通常有一个单独的数据库,您需要确保将主体添加到正确的数据库;即,您仍然需要通过和添加相同“信任”主体的两个kadmin.local -r REALM1
副本kadmin.local -r REALM2
。
您不需要为每个领域指定自定义端口——“krb5kdc”实际上可以在同一个默认端口上为多个领域提供服务,并根据客户端主体的领域区分它们。
只有“kadmind”仅限于每个端口一个领域,并且您可能需要运行两个 kadmind 实例,每个领域一个(因此建议kadmin.local
在这种情况下使用)。