全新安装和更新 && 升级后,我已按照本指南将机器添加到我们的 AD 基础设施,但在基本配置realm join -v [domain]
返回后
! Can't contact LDAP server
realm: No such realm found
所以我启动了一个 CentOS 最小的虚拟机,并且能够通过它注册机器。交叉引用这两个输出,我注意到在 Ubuntu 上realm
查找 LDAP 服务器时,相同的命令正在查询错误的 IP,但我没有找到任何有关如何在配置文件中或通过man realm
.
所以我尝试ldapsearch -h [server IP]
了,手动指定服务器并返回:
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_0))
这应该不是问题,因为 CentOS VM 给出了相同的结果,尽管它已成功加入。所以,我从 CentOS 机器上复制了 krb5.conf、sssd.conf 和 realmd.conf 的配置文件(备份后),但给出了相同的原始错误。
我认为错误的 LDAP DSE 查找是问题所在,但我无法在任何地方找到要更改的参数。
谢谢你的帮助。
AD 服务器运行 Windows Server 2016。提供以下 .conf 文件:
krb5.conf
[libdefaults]
default_realm = MYDOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc = true
forwardable = true
rdns = false
[realms]
MYDOMAIN.COM = {
kdc = server.mydomain.com
admin_server = server.mydomain.com
default_domain = mydomain.com
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
sssd.conf
[sssd]
services = nss, pam
domains = mydomain.com
config_file_version = 2
[domain/mydomain.com]
id_provider = ad
access_provider = ad
ad_domain = mydomain.com
krb5_realm = MYDOMAIN.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
领域配置文件
[users]
default-home = /home/%D/%U
default-shell = /bin/bash
[active-directory]
default-client = sssd
os-name = Ubuntu
os-version = 18.04
[service]
automatic-install = no
[mydomain.com]
fully-qualified-names = yes
automatic-id-mapping = no
user-principal = yes
manage-system = yes
提供我自己的解决方案作为完整指南。
免责声明:我在这个网站上整理了不同的答案并添加了我自己的部分。我还在整个指南中假设 su 特权。
使用 Ubuntu 18.04 加入 AD 网络
0)确保
/etc/hosts
和/etc/hostname
文件包含与您的域管理员提供的凭据相符的地址和名称。还要安装以下软件包:注意:安装 kerberos 时会提示插入您的领域和域名。跟进,但如果你不知道一些位,请留空。
1)禁用 systemd-resolved
注意:这是我找到的方式,但禁用 systemd-resolved 可能并不理想。
2)将以下内容添加到
/etc/NetworkManager/NetworkManager.conf
该[main]
部分:3)删除符号链接
/etc/resolv.conf
。它将使用正确的值重新创建。4)重启网络服务,添加dnsmasq包:
5)在
/etc/nsswitch.conf
替换主机行中:注意:如果您有问题,请尝试此行
hosts: files dns myhostname
。6)将以下内容添加到
/etc/krb5.conf
. 它是区分大小写的,所以要小心。还要删除其他所有内容(首先备份默认值$ cp /etc/krb5.conf /etc/krb5.conf.bak
)。如果某个部分不存在,请自行添加:注意:强制查找关闭,对调试有很大帮助,通常我发现查看正在发生的事情非常有用,这与该主题的所有其他指南基本相反。此外,反向 dns 行
rnds
可能仅与我的网络设置相关,因此请尝试true
是否发生某些问题的值。7)检查
/etc/sssd/sssd.conf
以包括以下内容。从第 6 点开始适用相同的指导方针和限制)。可能已经设置了一些值:8)重启
9)加入您的域(需要管理员凭据。您将被要求输入管理员密码):
注意:详细的
-v
标签对于查看可能出现的问题基本上是必不可少的。在这一点上,如果你真的通过了发现步骤(总是命令的第一步join
),如果发生了一些非常详细的错误,那么最坏的情况应该已经过去了。祝你好运!
太好了,你分享!我有同样的初始问题:
我正在遵循这些指南:
我的问题通过两个较小的操作解决了:
安装生成的新 netplan 设置文件如下所示:
就像这样:
当我切换到经过验证的旧设置结构时,它看起来像这样:
后一个例子是我让它发挥作用所需要的。
禁用 IPv6 -(也许这不是最初的问题,但我在尝试 netplan 解决方案之前禁用了它,所以我已经对其进行了调整,所以我想分享它。)
我更改了这两行
/etc/default/grub
并添加了ipv6.disable=1
:并跑了
update-grub
。我有两台机器都运行 Kubuntu,还有一台运行 Samba 4 AD 服务器的 Nethserver (CentOS) 服务器。
其中一台客户端机器较旧,并已多次更新。另一台客户端机器上安装了相当新的 Kubuntu 19.10。
出于某种原因,域登录停止在旧机器上工作。我一直在检查两台机器上的配置,看看它们的不同之处。
新机器没有 krb5.conf 或 realmd.conf。旧机器可以。不知何故,在 sssd.conf 文件中,该行
已更改为假。
我删除了这两个配置文件并将 ldap_id_mapping 值改回 True,一切似乎恢复正常。如果您遇到问题,可以删除文件并尝试默认设置。至少可以缩小问题的根源。