Назад | Перейти на главную страницу

Единый вход с Samba AD DC, серверами Linux, GSSAPI / Kerberos и клиентами Windows, которые не присоединены к домену

Настроить

У нас есть:

Допустим, основным доменом является example.net (это только внутренний домен). Область kerberos - это SAMBA.EXAMPLE.NET, а домен Windows старого стиля - это EXAMPLE.

Зона example.net находится на DNS-сервере, потому что я не хочу управлять всеми данными DNS через Samba. Он делегирует samba.example.net контроллеру домена. Есть запись TXT _kerberos.example.net, содержащая "SAMBA.EXAMPLE.NET".

На всех серверах Debian в sshd_config включена аутентификация GSSAPI.

Что работает

Что не работает

Что все же работает

Вы можете сказать, что неудивительно, что система единого входа из Windows 10 Home (или даже Windows 10 Pro, если машина не присоединена к домену) не работает. Таким образом, сюрприз в том, что он работает с ФАЙЛОМ (как при просмотре общих ресурсов, так и при подключении к PuTTY)!

Дальнейшее расследование

Я могу бегать klist get host/file и klist get host/file.example.net и получить билеты, но когда я бегу klist get host/test Я получаю ошибку 0x56 (ошибка предварительной проверки подлинности Kerberos), и когда я запускаю klist get host/prod Я получаю 0x520; Windows просто жалуется, что у нее нет учетных данных, и даже не пытается связаться с DC.

В какой-то момент казалось, что разница между двумя последними результатами заключалась в том, существует ли запись A в зоне samba.example.net, но после удаления обеих записей и перезагрузки домашнего компьютера с Windows 10 разница сохраняется. Даже не похоже, что выполняются какие-либо DNS-запросы (я несколько раз очищал кеш, но, возможно, в службе рабочей станции или LSA есть отдельный кеш?)

На самом деле, похоже, мне удалось заставить \ TEST работать, добавив отсутствующую запись IPv6 rDNS. Однако подключение к общим ресурсам на \ DC (netlogon и sysvol) требует длительной задержки, в течение которой Windows пытается разрешить _ldap._tcp.dc._msdcs.dc во всех доменах в списке поиска, но это может быть связано с тем, что контроллер домена специальный, а затем необходимо ввести пароль (очевидно, что Windows использует другой механизм аутентификации), и klist get host/dc приводит к ошибке 0x520, несмотря на наличие всех записей DNS.

Я также изменил запись IPv6 PTR для PROD, чтобы она указывала на prod.example.net (он указывал на имя общедоступного домена), но это не помогло. Кроме того, DNS-сервер присоединен к домену AD и имеет правильные DNS-записи, но klist get приводит к ошибке 0x520 и для него, и для обеих машин с Windows 10 Pro. Я должен упомянуть, что PROD находится в другой локальной сети; Мне было интересно, возможно ли, что Windows Home хочет распознавать только компьютеры, которые она видит через NetBIOS и / или с общими ресурсами, но, конечно же, это не может быть так в наши дни?

Я пробовал включить ведение журнала Kerberos (https://support.microsoft.com/en-us/help/262177/how-to-enable-kerberos-event-logging), но я ничего не вижу в журнале событий.

Вопрос

Почему Windows 10 Home иногда использует существующие учетные данные для получения билета Kerberos, а иногда категорически отказывается?