如何解决无法使用不同的 FQDN 运行 sssd + AD 域控制器
我有以下用于 ssh 管理的 sssd + 广告设置。
AD Domain - ad.example.net
AD DC 1 hostname - dc1.example.net
AD DC 2 hostname - dc2.example.net
Linux (Centos) Server hostnames - server.int.example.com -> this I can not change as per Org policy
我不想将 AD dns 添加到我的 /etc/resolv.conf 中,我们想使用云提供的 dns 解析器 它使用 *.example.net
解析我们的域控制器主机名当我将它们添加为
ad_server = dc1.example.net,dc2.example.net
ssd 失败 -
[dp_req_reply_gen_error] (0x0080): DP Request [Initgroups #1066]: Finished. Backend is currently offline.
这是我的 sssd.conf 和 krb.conf
sssd.conf -
[sssd]
domains = ad.example.net
reconnection_retries = 3
config_file_version = 2
services = nss,pam,ssh
override_space = _
sbus_timeout = 30
[nss]
reconnection_retries = 3
entry_negative_timeout = 30
entry_cache_nowait_percentage = 7
debug_level = 9
[pam]
reconnection_retries = 3
[domain/default]
cache_credentials = True
entry_cache_timeout = 3600
[domain/ad.example.net]
id_provider = ad
access_provider = ad
ldap_id_mapping = True
auto_private_groups = True
default_shell = /bin/bash
fallback_homedir = /home/%u
use_fully_qualified_names = False
krb5_store_password_if_offline = True
realmd_tags = manages-system joined-with-adcli
ad_domain = ad.example.net
ad_server = dc1.example.net,dc2.example.net
ad_hostname = dev1210utl1.ad.example.net
krb5_realm = AD.example.NET
ldap_user_ssh_public_key = altSecurityIdentities
ldap_user_extra_attrs = altSecurityIdentities:altSecurityIdentities
debug_level = 9
dns_resolver_timeout = 20
krb5_lifetime = 24h
krb5_renewable_lifetime = 7d
krb5_renew_interval = 60s
dyndns_update = false
krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = AD.EXAMPLE.NET
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
spake_preauth_groups = edwards25519
default_ccache_name = KEYRING:persistent:%{uid}
ignore_acceptor_hostname = true
[realms]
AD.EXAMPLE.NET = {
kdc = dc1.example.net
admin_server = dc1.example.net
kdc = dc2.example.net
admin_server = dc2.example.net
}
[domain_realm]
.ad.example.net = AD.EXAMPLE.NET
ad.example.net = AD.EXAMPLE.NET
我知道,我的设置中有不同的 DNS fqdn,但无法避免它们。
sssd 工作,如果我设置 -
ad_server = dc1.ad.example.net,dc2.ad.example.net
但是我必须将 AD DNS 添加为我的解析器,或者我想避免使用它们 /etc/hosts。
任何与帮助相关的帮助。
解决方法
如果 DC FQDN 确实是 dc1.ad.example.net
,那么您到底为什么要尝试使用别名?供应商必须修复此配置,故事结束。
当您绑定时,您必须使用正确的 DC 名称 - 如果它认为您正在尝试访问一个完全不同的主机/领域,那么它当然不会让您连接。您也可以使用“dc1.mickeymouse.com”作为您尝试使用的别名 - 如果 DC FQDN 确实是“dc1.ad.example.net”,它同样无效。
此外,您的云提供商 DNS 是否正确解析了像 _ldap._tcp.ad.example.net
_kerberos_.udp.ad.example.net
这样的 SRV?这是关键的东西。
域中可用的 UPN 是否包含“user@example.net”并不重要 - 现在您正在处理基本的 LDAP 和 Kerberos 网络协议。如果要与主机绑定/身份验证,则需要提供正确的名称。
供应商不需要删除现有的 - 虽然我不得不想知道它们的用途 - 但他们确实需要让正确的 DC 名称解析,无论是通过创建一些记录还是执行可能应该执行的操作已经完成并将“ad.example.net”委派给 DC 作为该分区的权威(因为我认为如果他们不解决就没有完成)。
你的机器主机名是什么并不重要,只要 DC 可以在另一个方向解析它。
如果此提供商的 DNS 是公开的,则还应该对解析内部“ad.example.net”命名空间的外部主机进行一些安全保护(即它们不应该)。
TLDR:如果域 DNS 是“ad.example.net”并且该子区域仅用于 AD 域,则应将其从上游“example.net”名称服务器委派给域控制器作为权威区域。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。