Я регулярно монтирую общий диск с сервера Windows 2012R2 на машину Linux (OpenSUSE Tumbleweed). С прошлого четверга, когда обновления были установлены на сервере Windows, монтирование не удалось с сообщением об ошибке
Aug 26 11:45:27 <linux server> kernel: CIFS: Attempting to mount //<windows server>/<share>
Aug 26 11:45:27 <linux server> kernel: CIFS: Status code returned 0xc000018d STATUS_TRUSTED_RELATIONSHIP_FAILURE
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: \\a-store Send error in SessSetup = -5
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: cifs_mount failed w/return code = -2
Я пробовал разные параметры монтирования (vers=2.0, 2.1, 3.0, sec=ntlm, ntlmssp) и разных пользователей — все с тем же результатом. Сервер Linux может монтировать общие ресурсы с других серверов, а общие ресурсы на сервере Windows доступны с (почти всех) других компьютеров. Я пробовал выходить из домена при повторном присоединении к нему на обеих машинах — безрезультатно.
На данный момент я бы сказал, что причиной проблемы является одно из обновлений на сервере Windows. У нас есть другие серверы, работающие на 2012R2, которые все еще работают нормально и также получили обновления в четверг. Единственное отличие — это язык операционной системы (немецкий / английский).
Есть ли способ получить больше информации по этой проблеме? Документация по "STATUS_TRUSTED_RELATIONSHIP_FAILURE" не совсем полезна.
решение1
Похоже на проблему аутентификации, попробуйте это:
- следите за файлами журналов на вашем сервере Windows, чтобы отслеживать любые соответствующие ошибки.
- Убедитесь, что учетная запись, которую вы используете в Linux, имеет право доступа к этому ресурсу (локальные и доменные учетные записи).
- попробуйте выполнить базовый пинг вашего Linux на Windows, если ваш брандмауэр это позволяет
- попробуйте с другой машины Linux
- почему вы говорите "почти все"? может быть, есть что-то общее между тем, что блокирует ваш Linux и другими машинами, которые не подключаются
Надеюсь, это поможет.
решение2
Проблема, похоже, была в том, что я не мог использовать аутентификацию Kerberos. Я изменил winbind на sssd, чтобы присоединиться к домену Windows, и использовал sec=krb5 в качестве опции в команде mount.cifs:
mount.cifs //server.tld/share /path/to/mount/point -o vers=3.0,sec=krb5
К сожалению, до перехода на sssd это было невозможно.
[Редактировать 2021-02-21]
Я использовал winbind до этого и изменил его на sssd, чтобы присоединиться к домену. Я не помню всех изменений, которые я сделал, но из конфигурации в /etc похоже, что я сделал следующее
- добавил конфигурацию sssd в /etc/sssd/sssd.conf
- присоединился к домену с помощью
kinit
иnet ads join
Изменения в smb.conf не потребовались.