Citrix Hypervisor

Activer VNC pour les machines virtuelles Linux

Les machines virtuelles peuvent ne pas être configurées pour prendre en charge le Virtual Network Computing (VNC), que Citrix Hypervisor utilise pour contrôler les machines virtuelles à distance, par défaut. Avant de pouvoir vous connecter à XenCenter, assurez-vous que le serveur VNC et un gestionnaire d’affichage X sont installés sur la machine virtuelle et correctement configurés. Cette section explique comment configurer VNC sur chacune des distributions de systèmes d’exploitation Linux prises en charge afin de permettre des interactions correctes avec XenCenter.

Pour les machines virtuelles basées sur CentOS, suivez les instructions pour les machines virtuelles basées sur Red Hat ci-dessous, car elles utilisent le même code de base pour fournir un accès VNC graphique. CentOS X est basé sur Red Hat Enterprise Linux X.

Activer une console graphique sur les machines virtuelles Debian

Remarque :

Avant d’activer une console graphique sur votre machine virtuelle Debian, assurez-vous d’avoir installé les Citrix VM Tools pour Linux. Pour plus d’informations, consultez Installer les Citrix VM Tools pour Linux.

La console graphique des machines virtuelles Debian est fournie par un serveur VNC fonctionnant à l’intérieur de la machine virtuelle. Dans la configuration recommandée, un gestionnaire d’affichage standard contrôle la console de sorte qu’une boîte de dialogue de connexion soit fournie.

  1. Installez votre invité Debian avec les paquets du système de bureau, ou installez GDM (le gestionnaire d’affichage) en utilisant apt (en suivant les procédures standard).

  2. Installez le serveur Xvnc en utilisantapt-get (ou similaire) :

    apt-get install vnc4server
    <!--NeedCopy-->
    

    Remarque :

    L’environnement de bureau graphique Debian, qui utilise le démon Gnome Display Manager version 3, peut prendre beaucoup de temps processeur. Désinstallez le gdm3 package Gnome Display Manager et installez le package gdmcomme suit :

    apt-get install gdm
    apt-get purge gdm3
    <!--NeedCopy-->
    
  3. Configurez un mot de passe VNC (ne pas avoir un mot de passe est un risque sérieux pour la sécurité) à l’aide de la commande vncpasswd. Transmettez un nom de fichier dans lequel écrire les informations de mot de passe. Par exemple :

    vncpasswd /etc/vncpass
    <!--NeedCopy-->
    
  4. Modifiez votre fichier gdm.conf (/etc/gdm/gdm.conf) pour configurer un serveur VNC pour gérer l’affichage de 0 en étendant les sections [servers] et [daemon] comme suit :

        [servers]
        0=VNC
        [daemon]
        VTAllocation=false
        [server-VNC]
        name=VNC
        command=/usr/bin/Xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlacklistTimeout=0
        flexible=true
    <!--NeedCopy-->
    
  5. Redémarrez GDM, puis attendez que XenCenter détecte la console graphique :

    /etc/init.d/gdm restart
    <!--NeedCopy-->
    

Remarque :

Vous pouvez vérifier que le serveur VNC est en cours d’exécution à l’aide d’une commande comme ps ax | grep vnc.

Activer une console graphique sur les machines virtuelles Red Hat, CentOS ou Oracle Linux

Remarque :

Avant de configurer vos machines virtuelles Red Hat pour VNC, assurez-vous d’avoir installé Citrix VM Tools pour Linux. Pour plus d’informations, consultez Installer les Citrix VM Tools pour Linux.

Pour configurer VNC sur des machines virtuelles Red Hat, modifiez la configuration GDM. La configuration GDM est conservée dans un fichier dont l’emplacement varie en fonction de la version de Red Hat Linux que vous utilisez. Avant de le modifier, déterminez d’abord l’emplacement de ce fichier de configuration. Ce fichier est modifié dans plusieurs procédures ultérieures de cette section.

Déterminez l’emplacement de votre fichier de configuration VNC

Si vous utilisez Red Hat Linux, le fichier de configuration GDM est /etc/gdm/custom.conf. Ce fichier est un fichier de configuration fractionné qui contient uniquement des valeurs spécifiées par l’utilisateur qui remplacent la configuration par défaut. Ce type de fichier est utilisé par défaut dans les nouvelles versions de GDM. Il est inclus dans ces versions de Red Hat Linux.

Configurez GDM pour utiliser VNC

  1. En tant que root sur l’interface de ligne de commande de texte dans la machine virtuelle, exécutez la commande rpm -q vnc-server gdm. Les noms des packages vnc-server et gdm apparaissent, avec leurs numéros de version spécifiés.

    Les noms de packages affichés indiquent les packages déjà installés. Si vous voyez un message indiquant qu’un package n’est pas installé, cela signifie peut-être que vous n’avez pas sélectionné les options du bureau graphique lors de l’installation. Installez ces packages avant de pouvoir continuer. Pour plus d’informations sur l’installation de logiciels supplémentaires sur votre machine virtuelle, consultez le Guide d’installation Red Hat Linux x86 approprié.

  2. Ouvrez le fichier de configuration GDM avec votre éditeur de texte préféré et ajoutez les lignes suivantes au fichier :

        [server-VNC]
        name=VNC Server
        command=/usr/bin/Xvnc -SecurityTypes None -geometry 1024x768 -depth 16 \
        -BlacklistTimeout 0
        flexible=true
    <!--NeedCopy-->
    

    Avec les fichiers de configuration sur Red Hat Linux, ajoutez ces lignes dans la [servers] section vide.

  3. Modifiez la configuration pour que leXvnc serveur soit utilisé à la place du serveur X standard :

    • 0=Standard

      Modifiez-le comme suit :

      0=VNC

    • Si vous utilisez Red Hat Linux, ajoutez la ligne ci-dessus juste en dessous de la [servers] section et avant la [server-VNC] section.

  4. Enregistrez, puis fermez le fichier.

Redémarrez GDM pour que votre modification de configuration prenne effet, en exécutant la commande /usr/sbin/gdm-restart.

Remarque :

Red Hat Linux utilise le niveau d’exécution 5 pour le démarrage graphique. Si votre installation démarre au niveau d’exécution 3, modifiez cette configuration pour que le gestionnaire d’affichage démarre et accédez à une console graphique. Pour plus d’informations, consultez Niveaux d’exécutionde contrôle.

Paramètres de pare-feu

Par défaut, la configuration du pare-feu ne permet pas le passage du trafic VNC. Si vous disposez d’un pare-feu entre la machine virtuelle et XenCenter, autorisez le trafic sur le port utilisé par la connexion VNC. Par défaut, un serveur VNC écoute les connexions d’une visionneuse VNC sur le port TCP 5900 + n, où n est le numéro d’affichage (généralement zéro). Ainsi, une configuration de serveur VNC pour Display-0 écoute sur le port TCP 5900TCP-5901, Display-1 est, etc. Consultez la documentation de votre pare-feu pour vous assurer que ces ports sont ouverts.

Si vous souhaitez utiliser le suivi des connexions IP ou limiter le lancement des connexions d’un seul côté, configurez davantage votre pare-feu.

Pour configurer le pare-feu VMS basé sur Red Hat afin d’ouvrir le port VNC :

  1. Pour Red Hat Linux, utilisez system-config-securitylevel-tui.

  2. Sélectionnez Personnaliser et 5900 ajoutez-les à la liste des autres ports.

Vous pouvez également désactiver le pare-feu jusqu’au prochain redémarrage en exécutant la commande service iptables stop ou définitivement en exécutant chkconfig iptables off. Cette configuration peut exposer des services supplémentaires au monde extérieur et réduire la sécurité globale de votre machine virtuelle.

Résolution de l’écran VNC

Après la connexion à une machine virtuelle à l’aide de la console graphique, la résolution de l’écran ne correspond pas toujours. Par exemple, l’affichage de la machine virtuelle est trop grand pour tenir confortablement dans le volet de la console graphique. Contrôlez ce comportement en définissant le geometry paramètre du serveur VNC comme suit :

  1. Ouvrez le fichier de configuration GDM avec votre éditeur de texte préféré. Pour plus d’informations, consultez Déterminer l’emplacement de votre fichier de configuration VNC.

  2. Trouvez la section [server-VNC] que vous avez ajoutée ci-dessus.

  3. Modifiez la ligne de commande à lire, par exemple :

    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    <!--NeedCopy-->
    

    La valeur du geometry paramètre peut être n’importe quelle largeur et hauteur d’écran valides.

  4. Enregistrez, puis fermez le fichier.

Activer VNC pour les machines virtuelles RHEL, CentOS ou OEL

Si vous utilisez Red Hat Linux, le fichier de configuration GDM est /etc/gdm/custom.conf. Ce fichier est un fichier de configuration fractionné qui contient uniquement des valeurs spécifiées par l’utilisateur qui remplacent la configuration par défaut. Par défaut, ce type de fichier est utilisé dans les nouvelles versions de GDM et est inclus dans ces versions de Red Hat Linux.

Pendant l’installation du système d’exploitation, sélectionnez Mode Bureau . Sur l’écran d’installation de RHEL, sélectionnez Bureau > Personnaliser maintenant, puis cliquez sur Suivant :

Capture d'écran de l'écran d'installation de RHEL

Cette action affiche l’écran Système de base, assurez-vous que la compatibilité UNIX héritée est sélectionnée :

Capture d'écran de l'écran Système de base

Sélectionnez Ordinateurs de bureau > Packages facultatifs, puis cliquez sur Suivant :

Capture d'écran de l'écran Ordinateurs de bureau

Cette action affiche la fenêtre Packages dans le bureau, sélectionnez tigervnc-server-<version_number>, puis cliquez sur Suivant :

Capture d'écran de la fenêtre Packages sur le bureau

Suivez les étapes suivantes pour poursuivre la configuration de vos machines virtuelles RHEL :

  1. Ouvrez le fichier de configuration GDM avec votre éditeur de texte préféré et ajoutez les lignes suivantes aux sections appropriées :

        [security]
        DisallowTCP=false
    
        [xdmcp]
        Enable=true
    <!--NeedCopy-->
    
  2. Créez le fichier, /etc/xinetd.d/vnc-server-stream :

        service vnc-server
        {
                      id = vnc-server
                 disable = no
                    type = UNLISTED
                    port = 5900
             socket_type = stream
                    wait = no
                    user = nobody
                   group = tty
                  server = /usr/bin/Xvnc
             server_args = -inetd -once -query localhost -SecurityTypes None \
             -geometry 800x600 -depth 16
        }
    <!--NeedCopy-->
    
  3. Entrez la commande suivante pour démarrer le service xinetd:

    # service xinetd start
    <!--NeedCopy-->
    
  4. Ouvrez le fichier /etc/sysconfig/iptables. Ajoutez la ligne suivante au-dessus de la ligne suivante -A INPUT -j REJECT --reject-with icmp-host-prohibited :

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
    <!--NeedCopy-->
    
  5. Entrez la commande suivante pour redémarrer iptables :

    # service iptables restart
    <!--NeedCopy-->
    
  6. Entrez la commande suivante pour redémarrer gdm :

        # telinit 3
        # telinit 5
    <!--NeedCopy-->
    

Remarque :

Red Hat Linux utilise le niveau d’exécution 5 pour le démarrage graphique. Si votre installation démarre au niveau d’exécution 3, modifiez cette configuration pour que le gestionnaire d’affichage soit démarré et pour accéder à une console graphique. Pour plus d’informations, voir Vérifier les niveaux d’exécution.

Configurer des machines virtuelles basées sur SLES pour VNC

Remarque :

Avant de configurer vos machines virtuelles SUSE Linux Enterprise Server pour VNC, assurez-vous d’avoir installé les Citrix VM Tools pour Linux. Pour plus de détails, reportez-vous à la section Installer les Citrix VM Tools pour Linux .

SLES prend en charge l’activation de « Administration à distance » comme option de configuration dansYaST. Vous pouvez choisir d’activer l’administration à distance au moment de l’installation, disponible sur l’écran Services réseau du programme d’installation de SLES. Cette fonctionnalité vous permet de connecter une visionneuse VNC externe à votre invité pour vous permettre de visualiser la console graphique. La méthode d’utilisation de la fonctionnalité d’administration à distance SLES est légèrement différente de celle fournie par XenCenter. Toutefois, il est possible de modifier les fichiers de configuration de votre machine virtuelle SUSE Linux afin qu’elle soit intégrée à la fonctionnalité de console graphique.

Rechercher un serveur VNC

Avant d’apporter des modifications à la configuration, vérifiez qu’un serveur VNC est installé. SUSE fournit le serveur tightvnc par défaut. Ce serveur est un serveur VNC approprié, mais vous pouvez également utiliser la distribution RealVNC standard.

Vous pouvez vérifier que le logiciel tightvnc est installé en exécutant la commande :

rpm -q tightvnc
<!--NeedCopy-->

Activer l’administration à distance

Si l’administration à distance n’a pas été activée lors de l’installation du logiciel SLES, vous pouvez l’activer comme suit :

  1. Ouvrez une console de texte sur la machine virtuelle et exécutez l’utilitaire YaST :

    yast
    <!--NeedCopy-->
    
  2. Utilisez les touches fléchées pour sélectionner Network Services dans le menu de gauche. Appuyez sur la touche Tabulation dans le menu de droite et utilisez les touches fléchées pour sélectionner Administration à distance. Appuyez sur Entrée.

  3. Dans l’écran Administration à distance, cliquez sur la touche Tab pour accéder à la section Paramètres d’administration à distance . Utilisez les touches fléchées pour sélectionner Autoriser l’administration à distance et appuyez sur Entrée pour placer un X dans la case à cocher.

  4. Accédez à la section Paramètres du pare-feu . Utilisez les touches fléchées pour sélectionner Ouvrir le port dans le pare-feu et appuyez sur Entrée pour placer un X dans la case à cocher.

  5. Appuyez sur la touche Tabulation jusqu’au bouton Terminer, puis appuyez sur Entrée.

  6. Une boîte de message s’affiche, vous demandant de redémarrer le gestionnaire d’affichage pour que vos paramètres prennent effet. Appuyez sur Entrée pour accuser réception du message.

  7. Le menu de premier niveau d’origine de YaST s’affiche. Appuyez sur le bouton Quitter et appuyez sur Entrée.

Modifiez la xinetd configuration

Après avoir activé l’Administration à distance, modifiez un fichier de configuration si vous souhaitez autoriser XenCenter à se connecter. Vous pouvez également utiliser un client VNC tiers.

  1. Ouvrez le fichier/etc/xinetd.d/vnc dans votre éditeur de texte préféré.

  2. Le fichier contient des sections telles que les suivantes :

        service vnc1
        {
        socket_type = stream
        protocol    = tcp
        wait        = no
        user        = nobody
        server      = /usr/X11R6/bin/Xvnc
        server_args = :42 -inetd -once -query localhost -geometry 1024x768 -depth 16
        type        = UNLISTED
        port        = 5901
        }
    <!--NeedCopy-->
    
  3. Modifiez la port ligne pour la lire

    port = 5900
    <!--NeedCopy-->
    
  4. Enregistrez, puis fermez le fichier.

  5. Redémarrez le gestionnaire d’affichage et le service xinetd avec les commandes suivantes :

    /etc/init.d/xinetd restart
    rcxdm restart
    <!--NeedCopy-->
    

SUSE Linux utilise le niveau d’exécution 5 pour le démarrage graphique. Si votre poste de travail distant n’apparaît pas, vérifiez que votre machine virtuelle est configurée pour démarrer au niveau d’exécution 5. Pour plus d’informations, consultez Niveaux d’exécutionde contrôle.

Paramètres de pare-feu

Par défaut, la configuration du pare-feu ne permet pas le passage du trafic VNC. Si vous disposez d’un pare-feu entre la machine virtuelle et XenCenter, autorisez le trafic sur le port utilisé par la connexion VNC. Par défaut, un serveur VNC écoute les connexions d’une visionneuse VNC sur le port TCP 5900 + n, où n est le numéro d’affichage (généralement zéro). Ainsi, une configuration de serveur VNC pour Display-0 écoute sur le port TCP 5900TCP-5901, Display-1 est, etc. Consultez la documentation de votre pare-feu pour vous assurer que ces ports sont ouverts.

Si vous souhaitez utiliser le suivi des connexions IP ou limiter le lancement des connexions d’un seul côté, configurez davantage votre pare-feu.

Pour ouvrir le port VNC sur le pare-feu des machines virtuelles SLES 11.x :

  1. Ouvrez une console de texte sur la machine virtuelle et exécutez l’utilitaire YaST :

    yast
    <!--NeedCopy-->
    
  2. Utilisez les touches fléchées pour sélectionner Sécurité et utilisateurs dans le menu de gauche. Accédez au menu de droite et utilisez les touches fléchées pour sélectionner Pare-feu. Appuyez sur Entrée.

  3. Dans l’écran Pare-feu, utilisez les touches fléchées pour sélectionner Règles personnalisées dans le menu de gauche, puis appuyez sur Entrée.

  4. Appuyez sur le bouton Ajouter dans la section Règles autorisées personnalisées, puis appuyez sur Entrée.

  5. Dans le champ Réseau source, saisissez 0/0. Appuyez sur la touche Tabulation jusqu’au champ Port de destination et saisissez 5900.

  6. Appuyez sur la touche Tabulation jusqu’au bouton Ajouter, puis appuyez sur Entrée.

  7. Cliquez sur le boutonSuivantavec la touche Tab et appuyez sur Entrée.

  8. Dans l’écran de résumé, cliquez sur le bouton Terminer et appuyez sur Entrée.

  9. Sur l’écran supérieur YaST, appuyez sur le bouton Quitter et appuyez sur Entrée.

  10. Redémarrez le gestionnaire d’affichage et le service xinetd avec les commandes suivantes :

    /etc/init.d/xinetd restart
    rcxdm restart
    <!--NeedCopy-->
    

Vous pouvez également désactiver le pare-feu jusqu’au prochain redémarrage en exécutant la commande d’ arrêt RCSUseFirewall2 ou de façon permanente à l’aide de YaST. Cette configuration peut exposer des services supplémentaires au monde extérieur et réduire la sécurité globale de votre machine virtuelle.

Résolution de l’écran VNC

Après la connexion à une machine virtuelle à l’aide de la console graphique, la résolution de l’écran ne correspond pas toujours. Par exemple, l’affichage de la machine virtuelle est trop grand pour tenir confortablement dans le volet de la console graphique. Contrôlez ce comportement en définissant le geometry paramètre du serveur VNC comme suit :

  1. Ouvrez le fichier /etc/xinetd.d/vncavec votre éditeur de texte préféré et trouvez la section service_vnc1 (correspondant àdisplayID 1).

  2. Modifiez l’argument geometry de la ligne server-args selon la résolution d’affichage souhaitée. Par exemple,

    server_args  = :42 -inetd -once -query localhost -geometry 800x600 -depth 16
    <!--NeedCopy-->
    

    La valeur du geometry paramètre peut être n’importe quelle largeur et hauteur d’écran valides.

  3. Enregistrez, puis fermez le fichier.

  4. Redémarrez le serveur VNC :

    /etc/init.d/xinetd restart
    rcxdm restart
    <!--NeedCopy-->
    

Vérifiez les niveaux d’exécution

Les machines virtuelles Red Hat et SUSE Linux utilisent le niveau d’exécution 5 pour le démarrage graphique. Cette section explique comment vérifier que votre machine virtuelle démarre au niveau d’exécution 5 et comment modifier ce paramètre.

  1. Vérifiez/etc/inittab ce que le niveau d’exécution par défaut est défini. Recherchez la ligne qui se lit comme suit :

    id:n:initdefault:
    <!--NeedCopy-->
    

    Si n n’est pas 5, modifiez le fichier pour le faire.

  2. Vous pouvez exécuter la commande telinit q ; telinit 5 après cette modification pour éviter d’avoir à redémarrer pour changer de niveau d’exécution.

Activer VNC pour les machines virtuelles Linux