Вопрос или проблема
Проблема:
С машины на CentOS7:
smbclient -L %domainname%.com --user=%username%
Результат:
подключение к дереву не удалось: NT_STATUS_DUPLICATE_NAME
Это особенно происходит, когда я пытаюсь подключиться к //domainname.com
, что в конечном итоге будет выглядеть как //domainname.com/sysvol
или //domainname.com/netlogon
.
В целом цель состоит в том, чтобы подключиться к общему ресурсу DFS, который находится на доменном имени.
Попытки и результаты:
smbclient -L %Aservername% --user=%username%
= Работает нормально
smbclient -L %IPaddress(любого сервера или DC)% --user=%username%
= Работает нормально
smbclient -L %domainname% --user=%username%
= Запрос на дублирующее имя
Я пытался добавить CNAME
в Windows DNS как %TestName%
к %domainname%
, но это все равно выдает дублирующее имя.
В CentOS /etc/hosts
я сопоставил %domainname%
с %testname%
, но это все равно выдает дублирующее имя.
В CentOS /etc/hosts
я сопоставил IP DC1 с %testname%
В CentOS /etc/hosts
я сопоставил IP DC2 с %testname%
В CentOS /etc/hosts
я сопоставил IP DC3 с %testname%
, но это все равно выдает дублирующее имя.
* Брандмауэр был отключен для этого тестирования.
Любая помощь будет оценена. Я провел много часов, пытаясь разобраться с этим.
В качестве обходного пути вы можете использовать имя вашего контроллера домена вместо доменного имени. Недостаток в том, что вы не сможете получить доступ к общему ресурсу, пока этот контроллер домена не работает. Но это должно случаться редко.
Согласно моим заметкам для системы CentOS 7, пытающейся получить доступ к DFS-общим ресурсам, вам необходимо включить эти строки (внизу будет нормально) в /etc/request-key.conf
. Они отсутствуют по умолчанию.
create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k
Это было для обычной команды монтирования, но, возможно, это применимо и здесь. Упоминаемый файл входит в базовый пакет cifs-utils.
Мои заметки указывают на этот сайт: http://mikemstech.blogspot.com/2012/10/how-to-mount-dfs-share-in-linux.html
Ответ или решение
Решение проблемы подключения к SMB с ошибкой "tree connect failed: NT_STATUS_DUPLICATE_NAME"
Ошибка "tree connect failed: NT_STATUS_DUPLICATE_NAME", возникающая при попытке подключиться к домену через команду smbclient -L %domainname%.com --user=%username%
, может быть вызвана рядом причин, связанных с конфигурацией DNS, именами узлов, а также настройками системы. Мы рассмотрим возможные причины данной проблемы и предложим шаги для ее решения.
Возможные причины возникновения ошибки
-
Конфликт имен: Сообщение об ошибке "NT_STATUS_DUPLICATE_NAME" может указывать на проблемы с конфликтом имен в сети, когда несколько устройств используют одно и то же имя.
-
Проблемы с DNS: Неверные или некорректные записи DNS могут вызвать такие ошибки. Необходима проверка, правильно ли настроены записи CNAME и A для вашего доменного имени и связанных с ним серверов.
-
Конфигурация hosts: Файл
/etc/hosts
должен быть настроен корректно и не создавать конфликты с именами, которые уже используются. Привязка доменного имени к различным IP-адресам может вызвать недоразумения в разрешении имен. -
Отсутствие необходимых утилит: Убедитесь, что на вашей системе установлены все необходимые утилиты для работы с CIFS и DFS, а также корректна их конфигурация.
Шаги для решения проблемы
-
Проверка конфигурации DNS:
- Убедитесь, что в вашей системе правильно настроены записи DNS. Проверьте с помощью команды
nslookup %domainname%.com
, правильно ли разрешается IP-адрес. - Убедитесь, что запись CNAME не вызывает конфликтов с другими записями.
- Убедитесь, что в вашей системе правильно настроены записи DNS. Проверьте с помощью команды
-
Корректировка файла /etc/hosts:
- Проверьте файл
/etc/hosts
для выявления возможных конфликтов. Убедитесь, что имя%domainname%
не дублируется, и оно связано только с одним IP-адресом. - Попробуйте временно удалить все записи для
%domainname%
и убедитесь, что ожидаемое поведение сохраняется.
- Проверьте файл
-
Установка и настройка cifs-utils:
- Если
cifs-utils
не установлены, выполните установку:sudo yum install cifs-utils
- Включите в файл
/etc/request-key.conf
следующие строки, если они еще не добавлены:create cifs.spnego * * /usr/sbin/cifs.upcall -c %k create dns_resolver * * /usr/sbin/cifs.upcall %k
- Эти строки необходимы для корректной работы с DFS при подключении через SMB.
- Если
-
Проверка настроек брандмауэра:
- Несмотря на то, что брандмауэр у вас отключен, убедитесь, что он действительно не активен и прослушивание необходимых портов (например, 445 для SMB) не блокируется.
-
Прямое использование имени контроллера домена:
- В качестве временного решения можете использовать имя контроллера домена для подключения. Это может обойти проблему, однако, будьте готовы к тому, что при недоступности этого контроллера вы не сможете подключиться к общим ресурсам.
Заключение
Используя перечисленные шаги, вы сможете диагностировать и устранять причины возникновения ошибки "tree connect failed: NT_STATUS_DUPLICATE_NAME". Важно помнить, что проблемы с сетевыми именами и DNS могут быть сложными и требовать системного подхода к их решению. Проверьте каждую настройку и документируйте изменения, чтобы в будущем упростить диагностику повторяющихся проблем.