После новой установки и обновления && обновление, я следовал этому руководству для добавления машины к нашей AD инфраструктуре, но после базовой конфигурации realm join -v [domain]
возвраты
! Can't contact LDAP server
realm: No such realm found
Таким образом, я разжег CentOS минимальный VM и смог зарегистрировать машину через это. Перекрестно ссылаясь на эти два вывода, я заметил это на Ubuntu то же realm
команда запрашивает неправильный IP при поиске сервера LDAP, но я не нашел информации о том, как изменить тот параметр в файлах конфигурации или через 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
realmd.conf
[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 полномочия всюду по руководству.
0) Удостоверьтесь это /etc/hosts
и /etc/hostname
файлы содержат адреса и имена соответственно с Вашими учетными данными, обеспеченными Вашим администратором домена. Также установите следующие пакеты:
$ apt install -y realmd sssd sssd-tools libnss-sss libpam-sss krb5-user adcli samba-common-bin
Примечание: При установке kerberos, подсказка для вставки области и доменных имен дана. Выполните, но отпуск, пустой, если Вы не знаете некоторые биты.
1) Отключите systemd-разрешенный
$ systemctl disable systemd-resolved.service
$ systemctl stop systemd-resolved
Примечание: это - способ, которым я нашел, но это могло бы быть не идеально, чтобы Вы отключили systemd-разрешенный.
2) Добавьте следующее к /etc/NetworkManager/NetworkManager.conf
в [main]
раздел:
dns=default
3) Удалите символьную ссылку /etc/resolv.conf
. Это будет воссоздано с правильными значениями.
4) Перезапустите сетевую службу и добавьте dnsmasq пакет:
$ service network-manager restart
$ apt install dnsmasq
5) В /etc/nsswitch.conf
замените строку хостов этим:
hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
Примечание: Если у Вас есть проблемы, попробуйте эту строку вместо этого hosts: files dns myhostname
.
6) Добавьте следующее к /etc/krb5.conf
. Это чувствительно к регистру, поэтому предостерегитесь. Также удалите все остальное (скопируйте значение по умолчанию сначала $ cp /etc/krb5.conf /etc/krb5.conf.bak
). Если раздел не там, добавьте его сами:
[libdefaults]
default_realm = YOUR.REALM.NAME
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = KEYRING:persistent:%{uid}
rdns = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
YOUR.REALM.NAME = {
kdc = your.realm.name
admin_server = your.realm.name
}
[domain_realm]
your.realm.name = YOUR.REALM.NAME
.your.realm.name = YOUR.REALM.NAME
Примечание: при принуждении поисков прочь, значительно помогает для отладки, и обычно я находил действительно полезным видеть то, что продолжается вопреки в основном всем другим руководствам по теме. Также обратная строка DNS rnds
могло бы относиться только к моей настройке сети, так попробуйте значение true
если некоторая проблема происходит.
7) Проверить /etc/sssd/sssd.conf
включать следующее. Те же инструкции и ограничения применяются от точки 6). Некоторые значения могли бы быть уже установлены:
[sssd]
domains = your.realm.name
config_file_version = 2
services = nss, pam
[domain/your.domain.name]
ad_domain = your.domain.name
krb5_realm = YOUR.DOMAIN.NAME
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
8) Перезагрузка
9) Присоединитесь Ваш домен (нуждается в администраторских учетных данных. Вас спросят пароль администратора):
$ realm join -v --user=[admin_username] your.realm.name
Примечание: -v
тег для подробного в основном важен для наблюдения то, что могло пойти не так, как надо. На данном этапе, если Вы на самом деле передаете шаг исследования (всегда первый шаг join
команда), у Вас будут некоторые довольно подробные ошибки следовать, если что-то произойдет, и худшее должно закончиться.
Удачи!
У меня есть две машины, на которых работает Kubuntu, и сервер Nethserver (CentOS), на котором запущен сервер Samba 4 AD.
Одна из клиентских машин устарела и обновлялась несколько раз. Другой клиентский компьютер имеет достаточно новую установку Kubuntu 19.10.
По какой-то причине регистрация в домене перестала работать на более старой машине. Я просмотрел конфигурацию на обеих машинах, чтобы увидеть, в чем они различаются.
На новой машине нет krb5.conf или realmd.conf. Более старая машина делает. Каким-то образом в файле sssd.conf строка
ldap_id_mapping = True
была изменена на false.
Я удалил два файла конфигурации и изменил значение ldap_id_mapping обратно на True, и все, похоже, вернулось к норме. Если у вас возникли проблемы, возможно, удалите файлы и попробуйте значения по умолчанию. По крайней мере, можно сузить источник проблемы.
Здорово, что вы поделились! У меня была та же первоначальная проблема:
realm: No such realm found:
Я следовал этим руководствам:
Моя проблема была решена двумя небольшими действиями:
Новый файл настроек сетевого плана, созданный при установке, выглядел так:
кошка /etc/netplan/50-cloud-init.yaml:
Это было так:
сеть:
Ethernet:
enp0s4:
адреса:
- 192.168.1.8/24
шлюз4: 192.168.1.3
серверы имен:
адреса:
- 192.168.1.252
- 192.168.1.253
- 192.168.1.3
- 1.1.1.1
поиск:
- домен.loc
версия: 2
Когда я переключился на свою старую проверенную структуру настроек, она выглядела так:
сеть:
Ethernet:
enp0s4:
DHCP4: нет
адреса: [192.168.1.8/24]
шлюз4: 192.168.1.3
серверы имен:
адреса: [192.168.1.252,192.168.1.253,192.168.1.3,1.1.1.1]
версия: 2
Последний пример — это то, что мне нужно, чтобы заставить его работать.
Отключить IPv6 — (Возможно, это не было причиной первоначальной проблемы, но я отключил его, прежде чем попробовать решение сетевого плана, поэтому я уже настроил его, поэтому хочу поделиться им.)
Я изменил эти две строки в /etc/default/grub
и добавил ipv6.disable=1
:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
И запустил update-grub
.