Service Principal Name (SPN)
Общая информация
Service Principal Name (SPN) - Первичное имя сервиса. Это в некотором роде Windows аналог /etc/hosts в Linux. Здесь указываются имена сервера, которые используются установленными на нём сервисами. Только в SPN могут заводиться записи не только для компьютеров, но и для пользователей. Официальное название объекта в SPN: участник-служба.
Команда setspn
- Посмотреть все записи SPN можно командой:
setspn -L <Имя сервера>
- Добавить новый новое DNS имя newname.domain.local для сервера servname можно командой:
setspn -a host/newname.domain.local servname
- команда setspn запущенная без параметров, покажет как и для чего ей можно пользоваться, а также предоставит примеры.
Работа над ошибками
Не доступны сетевые ресурсы сервера по DNS имени
Такое может произойти в случае если DNS имя компьютера не совпадает c "простым" NetBIOS именем.
Например, у нас компьютера (сервер) имеет несколько имён:
- Alfa - простое имя компьютера, имя NetBIOS
- alfa.domain.local - имя в домене , но мы также создали ему псевдоним (алиас, alias, CNAME запись в DNS)
- music.domain.local - псевдоним (алиас, alias, CNAME запись в DNS) по выполняемой функции
- zeta.domain2.local - DNS имя (CNAME запись) в другом домене
В описанном случае замечались проблемы с получением списка SMB ресурсов сервера по DNS имени, хотя все имена разрешались (резолвились) корректно и пинговались (ping). Причём проблема была при обращение с компьютеров Windows XP, с Windows 7 все ресурсы были доступны.
Решается проблема добавлением SPN записей на сервере (не всегда[1]). Для нашего случая это выполняется командами, запускаемыми на alfa:
setspn -a host/music.domain.local alfa setspn -a host/zeta.domain2.local alfa
Сноски
Полезные ссылки
- Service Principal Names - официальное описание Microsoft (англ.)
- Connecting to SMB share on a Windows 2000-based computer or a Windows Server 2003-based computer may not work with an alias name - описание решения проблем обращения к сетевым ресурсам по псевдониму (alias) сервера (англ.)