Я публикую это здесь после того, как потратил последние 5 дней на поиск в Google, прохождение тестовых примеров, а также анализ сетевого трафика на случай, если кто-то может указать мне правильное направление или понять, что идет не так.
Сценарий:
У нас есть сервер samba 4.7, работающий на CentOS 7.5, привязанный к этой конкретной версии ОС для совместимости с драйверами и присоединенный к домену, управляемому RedHat IdM для конкретной сети (назовем его зоной B). В другой сети у нас есть рабочие столы Windows 10, рабочие столы Ubuntu и серверы Windows (некоторые с общими ресурсами), присоединенные к домену Active Directory (назовем его Зона A). Эти два домена имеют доверительные отношения, поэтому пользователи из зоны AD могут аутентифицироваться на серверах, расположенных в зоне RedHat IdM.
Samba ---> RedHat IdM <--- trust ---> Windows AD <--- Windows 10 / Ubuntu 18.04 / Windows Server
Проблема под рукой:
Клиенты Windows из зоны A не могут аутентифицироваться в общих файловых ресурсах на сервере Samba из зоны B, но настольные компьютеры Linux из зоны A могут. Клиенты Windows могут подключиться к серверу Samba по SSH, успешно используя учетные данные из леса AD.
Устранение неполадок выполнено на данный момент:
1) много поисков в Google, которые пока ни к чему не приводят. (может быть, мой googlefu в последнее время плохой)
2) Попытка клиента Windows 10 без применения каких-либо GPO привела к сбою.
3) Сравнение захватов пакетов из:
От Ubuntu Desktop 18.04 (зона A) до сервера Samba (зона B) [Успех]
Windows 10 (зона A) на сервер Samba (зона B) [сбой]
От Windows 10 (зона A) к общему файловому ресурсу Windows Server (зона A) [Успешно]
Результат захвата пакетов показывает, что клиенты и сервер согласовывают используемый протокол, в данном случае SMB3_02.
Клиент Ubuntu отправляет запрос на настройку сеанса серверу samba сразу после согласования, в то время как клиент Windows просто зависает и через несколько секунд отправляет тайм-аут.
При добавлении Windows 10 в Windows Server в захвате зоны A клиент и сервер согласовывают протокол (SMB3_02), а затем Windows 10 отправляет запрос на настройку сеанса и успешно проходит аутентификацию на сервере Windows.
Глобальный раздел конфигурации Samba (в других разделах есть только настройки path / ro):
[global]
workgroup = ZONEB
realm = ZONEB.LAB
dedicated keytab file = FILE:/etc/samba/samba.keytab
kerberos method = dedicated keytab
log file = /var/log/samba/log.%m
security = ads
max protocol = SMB3_02
create mask = 0660
directory mask = 0770
Вот выход на тот случай, если кто-то окажется в такой ситуации.
Следующая запись DNS отсутствовала и никогда не присутствовала на стороне IdM.
_kerberos._tcp.ZONEA._sites.dc._msdcs.ZONEB.LAB
Мы добавили записи для обоих контроллеров домена ZONEB.LAB IdM, и все начало работать.