- Вопрос или проблема
- Ответ или решение
- Решение проблемы: Не удается присоединиться к Active Directory через Kerberos/Samba на Debian 8
- 1. Проверка конфигурации Kerberos
- 2. Настройки Samba
- 3. Тестирование связи с контроллерами домена
- 4. Статус службы Winbind
- 5. Проблемы с обновлением DNS
- 6. Использование SSSD вместо Winbind
- Заключение
Вопрос или проблема
У меня есть проблема, когда я пытаюсь присоединиться к своему домену.
Я смог успешно создать билет kerberos.
root@debian:~# kinit [email protected]
Пароль для [email protected]:
root@debian:~# klist
Кэш билетов: FILE:/tmp/krb5cc_0
Основной принцип: [email protected]
Действителен с Истекает Служебный принцип
26/04/2016 18:20:18 27/04/2016 04:20:18 krbtgt/[email protected]
продлить до 27/04/2016 18:20:11
и когда я пытаюсь присоединиться к домену:
root@debian:~# net ads join -k
Не удалось присоединиться к домену: ошибка при поиске
DC информации для домена 'ASP.DOMAIN' через rpc: {Время ожидания устройства} Указанная операция ввода-вывода на %hs не была завершена до истечения времени ожидания.
мой krb5.conf:
[libdefaults]
default_realm = ASP.DOMAIN
# Следующие переменные krb5.conf только для MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
ASP.DOMAIN = {
kdc = asp.domain
admin_server = server.domain
default_domain = DOMAIN
}
[domain_realm]
.asp.domain = ASP.DOMAIN
asp.domain = ASP.DOMAIN
Мой smb.conf:
[global]
security = ADS
realm = ASP.DOMAIN
password server = server.domain
workgroup = asp.domain
winbind separator = /
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
winbind use default domain = yes
domain master = no
local master = no
preferred master = no
os level = 0
У меня нет идей: нет блокировок на моем файрволе. Билет в порядке. Я пробовал с 3 контроллерами домена.
PS: Домен – это переменная
EDIT: Я также пробовал сделать это с samba-tool
root@debian:~# samba-tool domain join ASP.DOMAIN MEMBER -UAdministrateur --real=ASP.DOMAIN
ERROR(runtime): uncaught exception - Соединение с SAMR pipe PDC для ASP.DOMAIN не удалось: соединение с DC не удалось: NT_STATUS_IO_TIMEOUT
Файл "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", строка 175, в _run
return self.run(*args, **kwargs)
Файл "/usr/lib/python2.7/dist-packages/samba/netcmd/domain.py", строка 606, в run
machinepass=machinepass)
EDIT 2: Присоединение в порядке? Но wbinfo -u не работает
root@debian:~# net ads join -U Administrateur
Введите пароль для Administrateur:
Используя короткое имя домена -- DOMAIN
Присоединился 'ASP.DOMAIN' к dns домену 'asp.domain'
DNS обновление для asp.kapia не удалось: ERROR_DNS_GSS_ERROR
Ошибка обновления DNS: NT_STATUS_UNSUCCESSFUL
root@debian:~# net ads testjoin
Присоединение в порядке
root@debian:~# wbinfo -u
не удалось получить сведения об интерфейсе winbind: WBC_ERR_WINBIND_NOT_AVAILABLE
не удалось получить имя домена winbind!
Ошибка при попытке найти доменных пользователей
EDIT 3:
root@debian:~# service winbind status
● winbind.service - LSB: запуск демона Winbind
Загружено: загружено (/etc/init.d/winbind)
Активно: активно (вышел) с ср. 2016-04-27 16:16:00 CEST; 55s назад
Процесс: 2222 ExecStart=/etc/init.d/winbind start (код=вышел, статус=0/УСПЕХ)
апрель 27 16:16:00 debian winbindd[2233]: #5 /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_timer_delay+0xcd) [0x7fbc2b11e1cd]
апрель 27 16:16:00 debian winbindd[2233]: #6 /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x91ca) [0x7fbc2b11f1ca]
апрель 27 16:16:00 debian winbindd[2233]: #7 /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x78e7) [0x7fbc2b11d8e7]
апрель 27 16:16:00 debian winbindd[2233]: #8 /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x8d) [0x7fbc2b11a12d]
апрель 27 16:16:00 debian winbindd[2233]: #9 /usr/sbin/winbindd(main+0xb7c) [0x7fbc325cbc8c]
апрель 27 16:16:00 debian winbindd[2233]: #10 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fbc2a92db45]
апрель 27 16:16:00 debian winbindd[2233]: #11 /usr/sbin/winbindd(+0x25318) [0x7fbc325cc318]
апрель 27 16:16:00 debian winbindd[2233]: [2016/04/27 16:16:00.971185, 0] ../source3/lib/dumpcore.c:318(dump_core)
апрель 27 16:16:00 debian winbindd[2233]: создание дампа в /var/log/samba/cores/winbindd
апрель 27 16:16:00 debian winbindd[2233]:
У вас установлено значение default_realm
, но вы также можете изменить ваш krb5.conf
следующим образом:
[libdefaults]
default_realm = ASP.DOMAIN
dns_lookup_realm = true
dns_lookup_kdc = true
У меня есть эти записи в моем smb.conf
для winbind
, но на самом деле я сейчас использую sssd
:
winbind trusted domains only = no
winbind use default domain = yes
; winbind enum users = yes
; winbind enum groups = yes
winbind nested groups = yes
winbind expand groups = 4
winbind offline logon = yes
winbind refresh tickets = yes
winbind normalize names = no
Настройки winbind enum *
могут замедлить всё. Попробуйте и посмотрите, будет ли это хорошо работать для вас или нет. Это одна из причин, почему я перешел на sssd
.
Я заметил, что при подключении клиента Samba к домену AD я всегда получаю ошибку обновления DNS. Клиент добавляется корректно, но не может обновить свою запись DNS. (Поскольку большинство моих клиентов на самом деле являются серверами на базе Linux со статическими IP-адресами, это меня никогда не беспокоило.)
Ответ или решение
Решение проблемы: Не удается присоединиться к Active Directory через Kerberos/Samba на Debian 8
При попытке присоединить Debian 8 к домену Active Directory с использованием Kerberos и Samba может возникнуть проблема, описанная вами. В этой статье мы подробно рассмотрим возможные причины возникновения данной проблемы и предложим методы ее решения.
1. Проверка конфигурации Kerberos
Ваша конфигурация krb5.conf
выглядит практически корректно. Однако для улучшения распознаваемости KDC и повышения надежности, рекомендуется добавить следующие строки:
[libdefaults]
default_realm = ASP.DOMAIN
dns_lookup_realm = true
dns_lookup_kdc = true
Добавление dns_lookup_realm
и dns_lookup_kdc
позволит Kerberos автоматически разрешать домены и KDC через DNS.
2. Настройки Samba
Проверьте ваш файл конфигурации smb.conf
. Убедитесь, что все параметры указаны правильно. Особенно внимательно отнеситесь к следующим настройкам:
[global]
security = ADS
realm = ASP.DOMAIN
workgroup = ASP
password server = server.domain
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind use default domain = yes
Обратите внимание на разницу между realm
и workgroup
. Рабочая группа обычно соответствует краткому имени домена без суффикса .DOMAIN.
Кроме того, если ваш сервер имеет статический IP, убедитесь, что DNS настроен правильно и разрешает имя вашего KDC.
3. Тестирование связи с контроллерами домена
Неверная конфигурация или проблемы с сетевым соединением могут привести к ошибкам. Используйте следующие команды, чтобы проверить доступность контроллеров домена:
ping server.domain
nslookup server.domain
Если вы видите проблемы с разрешением DNS, это может быть причиной ошибки.
4. Статус службы Winbind
Убедитесь, что служба winbind
запущена и работает должным образом. Выполните команду:
service winbind status
Если она не активна или имеет ошибки, попробуйте перезапустить ее:
service winbind restart
Следите за логами в /var/log/samba/
, чтобы обнаружить дополнительные ошибки.
5. Проблемы с обновлением DNS
Вы упомянули, что ошибка ERROR_DNS_GSS_ERROR
возникает при попытке обновления DNS. Это часто связано с отсутствием достаточных прав у учётной записи, используемой для подключения. Убедитесь, что учетная запись имеет права на обновление DNS записей.
В случае, если обновление DNS не критично, можно игнорировать эту ошибку, особенно для серверов с фиксированными IP-адресами.
6. Использование SSSD вместо Winbind
Рассмотрите возможность перехода с winbind
на sssd
. Некоторые администраторы сообщают о более стабильной работе sssd в средах с Active Directory. Настройка может выглядеть следующим образом:
[sssd]
services = nss, pam
config_file_version = 2
domains = ASP.DOMAIN
[domain/ASP.DOMAIN]
id_provider = ad
access_provider = ad
Заключение
Соблюдение вышеуказанных рекомендаций должно помочь вам успешно присоединить Debian 8 к Active Directory. Если проблема сохраняется, обратитесь к логам Samba и Kerberos для детального анализа. Помните, что в каждом случае необходимо учитывать особенности вашей сети и конфигурации. Надеюсь, данный документ сможет помочь вам решить возникшую проблему и успешно интегрировать ваш Linux-сервер в среду Active Directory.