none
Указание двух имён у сервера RRS feed

  • Вопрос

  • Имелось два сервера: Server 2012 (имя: server1)-новый контроллер домена,файловый сервер и Server 2003 (имя: server2)-старый контроллер домена, файловый сервер. Какое-то время они функционировали вместе, но потом было принято решение убрать server2. Всё расшаренное с server2 было перенесено на server1. Всё вроде бы было замечательно, но вскоре выяснилось, что одна чертёжная программа хранит путь (путь был задан по имени сервера: \\server2\lib) к используемой ею библиотеке объектов в каждом файле чертежа (библиотека ранее находилась в шаре на server2 и была перенесена на шару на server1) из-за чего при открытии любого старого чертежа программа подвисает на 40-80 секунд (пытается найти библиотеку на старом сервере server2 ). В DNS был добавлен Alias для записи server1, теперь сервер по ip *.*.*.* откликается на два имени server1 и server2.  С клиентов с WIndows 7 можно зайти по старому имени server2 (программа не подвисает и загружает библиотеку), а клиентам с Windows XP доступ получить не удаётся (программа перестала подвисать, но и не подгружает библиотеку, приходится руками указывать новый путь)

    И в логах стали появляться ошибки: Log Name:      System
    Source:        Microsoft-Windows-Security-Kerberos
    Date:          30.03.2015 10:19:32
    Event ID:      4
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      server1.work.local
    Description:
    The Kerberos client received a KRB_AP_ERR_MODIFIED error from the server server1$. The target name used was work\server2$. This indicates that the target server failed to decrypt the ticket provided by the client. This can occur when the target server principal name (SPN) is registered on an account other than the account the target service is using. Ensure that the target SPN is only registered on the account used by the server. This error can also happen if the target service account password is different than what is configured on the Kerberos Key Distribution Center for that target service. Ensure that the service on the server and the KDC are both configured to use the same password. If the server name is not fully qualified, and the target domain (work.LOCAL) is different from the client domain (work.LOCAL), check if there are identically named server accounts in these two domains, or use the fully-qualified name to identify the server.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Security-Kerberos" Guid="{98E6CFCB-EE0A-41E0-A57B-622D4E1B30B1}" EventSourceName="Kerberos" />
        <EventID Qualifiers="16384">4</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2015-03-30T07:19:32.000000000Z" />
        <EventRecordID>97038</EventRecordID>
        <Correlation />
        <Execution ProcessID="0" ThreadID="0" />
        <Channel>System</Channel>
        <Computer>server1.work.local</Computer>
        <Security />
      </System>
      <EventData>
        <Data Name="Server">server1$</Data>
        <Data Name="TargetRealm">work.LOCAL</Data>
        <Data Name="Targetname">work\server2$</Data>
        <Data Name="ClientRealm">work.LOCAL</Data>
        <Binary>
        </Binary>
      </EventData>
    </Event>

    Вопросы: 1. можно ли обеспечить доступ по старому имени с клиентов с Windows XP

    2. Приведённая выше ошибка как я понимаю связана с наличием двух записей в DNS ссылающихся на один IP. Можно как-то её устранить 

    30 марта 2015 г. 8:45

Ответы

  • Попробуйте создать для старого имени SPN:

    setspn -S -C host/server2.domain.ru server1


    Сазонов Илья http://isazonov.wordpress.com/

    Судя по сообщению об ошибке, создавать нужно SPN для короткого имени HOST/server2 (похоже, что XP у вас почему-то предпочитает использовать для разрешения имен NetBIOS).

    PS А вообще, нужно и то, и то имя SPN; и службе lanmanserver тоже неплохо было бы сообщить, что имя server2 - это к ней относится; в общем, посмотрите мой старый, более подробный, ответ на аналогичный вопрос - вроде бы, там я написал всё, и  человеку помогло.


    Слава России!

    30 марта 2015 г. 17:16

Все ответы

  • Попробуйте на клиентах прописать нужное имя в Hosts и Lmhosts файлах https://support.microsoft.com/en-us/kb/923947

    Сазонов Илья http://isazonov.wordpress.com/

    • Помечено в качестве ответа Alexander RusinovModerator 30 марта 2015 г. 11:19
    • Снята пометка об ответе dobrevsem 30 марта 2015 г. 13:00
    30 марта 2015 г. 8:55
    Модератор
  • Попробуйте на клиентах прописать нужное имя в Hosts и Lmhosts файлах https://support.microsoft.com/en-us/kb/923947

    Сазонов Илья http://isazonov.wordpress.com/


    И что это даст? Насколько я понимаю здесь основная проблема, в том что не может быть удостоверен клиент подключающийся к серверу. С указанием алиаса в днс, сервер нормально пингуется с XP машин, но не даёт разрешения на доступ.
    30 марта 2015 г. 13:05
  • Добрый день,

    Попробуйте просто повесить в таком случае дополнительный адрес на сетевом адаптере этого сервера и создать соответствующую запись на него на DNS сервере.

    30 марта 2015 г. 15:25
  • Попробуйте создать для старого имени SPN:

    setspn -S -C host/server2.domain.ru server1


    Сазонов Илья http://isazonov.wordpress.com/

    30 марта 2015 г. 16:01
    Модератор
  • Попробуйте создать для старого имени SPN:

    setspn -S -C host/server2.domain.ru server1


    Сазонов Илья http://isazonov.wordpress.com/

    Судя по сообщению об ошибке, создавать нужно SPN для короткого имени HOST/server2 (похоже, что XP у вас почему-то предпочитает использовать для разрешения имен NetBIOS).

    PS А вообще, нужно и то, и то имя SPN; и службе lanmanserver тоже неплохо было бы сообщить, что имя server2 - это к ней относится; в общем, посмотрите мой старый, более подробный, ответ на аналогичный вопрос - вроде бы, там я написал всё, и  человеку помогло.


    Слава России!

    30 марта 2015 г. 17:16
  • Спасибо за рекомендации.

    Получилось следующее: 1. Приведённая в посте ошибка исчезла после применения команды:NTDSUTIL (видно не полностью удалились сведения о server2)

    2. Указание второго имени с помощью изменения реестра сработало, правда решили вернуть всё назад, так как стали наблюдаться проблемы с службой лицензирования другой старой программы(.

    3. С использованием setspn ничего не получилось. По непонятным для меня причинам новые записи исчезали через небольшой промежуток времени. Например выполняю команду setspn -s HOST/server2 server1, проверяю setspn -L server1  запись есть, через через несколько минут проверяю setspn -L server1, записи уже нет))


    13 апреля 2015 г. 11:20
  • 3. С использованием setspn ничего не получилось. По непонятным для меня причинам новые записи исчезали через небольшой промежуток времени. Например выполняю команду setspn -s HOST/server2 server1, проверяю setspn -L server1  запись есть, через через несколько минут проверяю setspn -L server1, записи уже нет))


    Не учёл, что хост сам обновляет свой SPN. Видимо в таком случае нужно либо добавлять дополнительное имя компьютера через netdom computername /add, либо указывать перед косой чертой не обобщённый класс службы - HOST, а класс службы для сервера SMB - CIFS.

    PS Мне как-то не доводилось устанавливать SPN для дополнительного имени сервера SMB, поэтому совет основывается чисто на знании теории. Если будет желание проверить - отпишите, как именно оно работает


    Слава России!

    13 апреля 2015 г. 18:04