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

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

Symptômes

Il y a un dysfonctionnement de la résolution des noms de domaines dans un conteneur / une machine virtuelle Windows.

  • La requête Nslookup réussit :

    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
    
  • Le ping de l'adresse IP fonctionne

  • Le ping FQDN renvoie le message d'erreur Impossible de trouver l'hôte :

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

Cause

Une mauvaise configuration des paramètres de recherche de domaine du stack IP/TCP Windows peut générer ce type de comportement.

Résolution

Dans le cas où une seule machine virtuelle / un seul conteneur est concerné :

  1. Connectez-vous via RDP à la machine virtuelle / au conteneur (pour les conteneurs et les machines virtuelles avec les Outils Parallels installés, vous pouvez utiliser les commandes vzctl enter CTID et prlctl enter VMNAME depuis le node).

  2. Exécutez la commande suivante :

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

    (Au lieu d'utiliser l'invite de commande, vous pouvez ouvrir l'éditeur de registre et ajouter une valeur de chaîne Domaine vide à la clé "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters")

  3. Rebootez le conteneur / la machine virtuelle.

Si le problème affecte les conteneurs que vous venez de créer :

Réinstallez le template d'OS à l'aide des instructions dans l'article Comment puis-je réinstaller le template d'OS ?

Si toutes les machines virtuelles créées depuis un template spécifique sont concernées par ce problème :

  1. Créez une machine virtuelle depuis le template affecté :

    # prlctl create TempVM --type vm --ostemplate WindowsTemplateName
    
  2. Démarrez cette machine virtuelle :

    # prlctl start TempVM
    
  3. Connectez-vous via RDP à la machine virtuelle :

  4. Créez le fichier C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\prl_set_domain.cmd avec le contenu suivant :

    @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. Ajoutez-le au script de démarrage.

  6. Arrêtez la machine virtuelle temporaire et clonez-la en tant que template :

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

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

Email subscription for changes to this article
Save as PDF