Article ID: 119079, created on Jan 23, 2014, last review on Aug 12, 2014

  • Applies to:
  • Operations Automation 5.5
  • Virtuozzo 6.0
  • Virtuozzo containers for Windows
  • Virtuozzo hypervisor

Симптомы

В виртуальной машине/контейнере с Windows неправильно работает распознавание доменных имен:

  • Запрос Nslookup выполняется успешно:

    C:\>nslookup google.com
    nslookup google.com
    Non-authoritative answer:
    Server:  ns1.bell.net.mt
    Address:  217.168.160.42
    
    
    Name:    google.com
    Addresses:  2a00:1450:4002:800::1001
              173.194.113.231
              173.194.113.232
    
  • IP-адрес пингуется
  • Пинг доменного имени выдает ошибку could not find host:

    C:\>ping google.com
    ping google.com
    Ping request could not find host google.com. Please check the name and try again.
    

Причина

Такое поведение может быть вызвано неправильными параметрами поиска доменов у TCP/IP-стека Windows.

Решение

Если затронута только одна виртуальная машина/контейнер:

  1. Подключитесь к этой виртуальной машине/контейнеру по RDP (если на контейнере или виртуальной машине установлены Parallels Tools, то можно использовать команды vzctl <ID контейнера> и prlctl <имя ВМ>).

  2. Выполните следующую команду:

    C:\>reg add "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters" /v Domain /t reg_sz
    

    (Вместо командной строки можно открыть Редактор реестра и добавить пустую строку Domain в раздел "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters".)

  3. Перезапустите виртуальную машину/контейнер.

Если проблема затрагивает все вновь создаваемые контейнеры:

Переустановите шаблон ОС, как описано в этой статье.

Если проблема затрагивает все виртуальные машины, созданные из конкретного шаблона:

  1. Создайте временную виртуальную машину из затронутого шаблона:

    # prlctl create TempVM --type vm --ostemplate WindowsTemplateName
    
  2. Запустите эту виртуальную машину:

    # prlctl start TempVM
    
  3. Подключитесь к этой виртуальной машине по RDP.

  4. Создайте файл C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\prl_set_domain.cmd со следующим содержимым:

    @echo off
    reg query "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters" /v Domain >NUL 2>&1
    if x%ERRORLEVEL%x NEQ x0x (reg add "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters" /v Domain /t reg_sz)
    
  5. Добавьте его в сценарий запуска.

  6. Остановите временную виртуальную машину и клонируйте ее в шаблон:

    # prlctl stop TempVM
    # prlctl clone TempVM --name WindowsTemplateName2 --template
    

Дополнительная информация

Эта проблема была полностью устранена в Parallels Cloud Server 6.0.5 Update 5 Hotfix 2 (6.0.5-1784)

Все обновления к PCS можно установить с помощью следующей команды:

    # yum update

Примечание. После установки обновлений нужно обновить Parallels Tools внутри затронутого шаблона Windows.

d02f9caf3e11b191a38179103495106f 2897d76d56d2010f4e3a28f864d69223 965b49118115a610e93635d21c5694a8 5b048d9bddf8048a00aba7e0bdadef37 caea8340e2d186a540518d08602aa065 5356b422f65bdad1c3e9edca5d74a1ae 2554725ed606193dd9bbce21365bed4e c62e8726973f80975db0531f1ed5c6a2 0dd5b9380c7d4884d77587f3eb0fa8ef a26b38f94253cdfbf1028d72cf3a498b 614fd0b754f34d5efe9627f2057b8642

Email subscription for changes to this article
Save as PDF