Есть файловый сервер:
- Старый адрес:
\\smb-old.piksrv.ru\files\ - Новый сервер:
\\smb.piksrv.ru\files\
Старый сервер выведен из эксплуатации, данные перенесены на новый.
Задача — чтобы пользователи могли продолжать работать по старому адресу без проблем.
Проблема
Если просто создать DNS-алиас (CNAME):
smb-old → smb
то при подключении:
\\smb-old.piksrv.ru\files\
пользователи получат:
запрос логина/пароля
Почему так происходит
- DNS работает корректно
- Но Kerberos требует точное совпадение имени сервера (SPN)
- Для алиаса (
CNAME) SPN по умолчанию отсутствует
В итоге:
- Kerberos не срабатывает
- Переход на NTLM → запрос пароля
Решение
Нужно добавить SPN для алиаса на новый сервер.
Шаг 1. Проверка (важно!)
На контроллере домена:
setspn -Q cifs/smb-old.piksrv.ru
setspn -Q cifs/smb-old
Ожидаемый результат:
No such SPN found
Шаг 2. Добавление SPN
setspn -S cifs/smb-old.piksrv.ru smb
setspn -S cifs/smb-old smb
Где:
smb— имя нового сервера (NetBIOS)
Шаг 3. Проверка
setspn -L smb
Должно появиться:
cifs/smb-old.piksrv.ru
cifs/smb-old
Шаг 4. Проверка с клиента
klist purge
После этого:
\\smb-old.piksrv.ru\files\
Должно открыться без запроса логина
Альтернатива через GUI
- Открыть Active Directory Users and Computers
- Включить: View → Advanced Features
- Найти компьютер: smb
- Свойства → Attribute Editor
- Атрибут: servicePrincipalName
- Добавить: cifs/smb-old.piksrv.ru
cifs/smb-old
Важные моменты
Не допускайте дубликатов SPN
Перед добавлением обязательно проверяйте:
setspn -Q <SPN>
Используйте -S, а не -A
-Sпроверяет уникальность-Aможет создать конфликт
Перезапуск не требуется
Изменения применяются сразу (иногда помогает klist purge)