Activer VNC pour les machines virtuelles Linux

Les machines virtuelles peuvent ne pas être configurées pour prendre en charge 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 décrit comment configurer VNC sur chacune des distributions de système d’exploitation Linux prises en charge pour permettre les interactions appropriées avec XenCenter.

Pour les machines virtuelles basées sur Centos, suivez les instructions relatives aux machines virtuelles 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é l’agent invité Linux. Pour de plus amples informations, consultez la section Installer l’agent invité Linux.

La console graphique pour les 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 est fournie.

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

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

    apt-get install vnc4server
    

    Remarque :

    L’environnement de bureau graphique Debian, qui utilise le démon de Gnome Display Manager version 3, peut prendre beaucoup de temps CPU. Désinstallez legdm3 package Gnome Display Manager et installez-le comme suit :gdm

    apt-get install gdm
    apt-get purge gdm3
    
  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 lavncpasswd commande. Transmettez un nom de fichier pour écrire les informations de mot de passe. Par exemple :

    vncpasswd /etc/vncpass
    
  4. Modifiez votregdm.conf fichier (/etc/gdm/gdm.conf ) pour configurer un serveur VNC pour gérer l'affichage0 en étendant le[servers] et [daemon]sections 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
    
  5. Redémarrez GDM, puis attendez que XenCenter détecte la console graphique :

    /etc/init.d/gdm restart
    

Remarque :

Vous pouvez vérifier que le serveur VNC est en cours d’exécution à l’aide d’une commande commeps 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é l’agent invité Linux. Pour de plus amples informations, consultez la section Installer l’agent invité 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.

Remarque :

Pour plus d’informations sur l’activation de VNC pour les machines virtuelles RHEL, CentOS ou OEL 6.x, reportez-vous à la sectionActiver VNC pour les machines virtuelles RHEL, CentOS ou OEL 6.

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

Si vous utilisez Red Hat Linux version 5.x, le fichier de configuration GDM est/etc/gdm/custom.conf. Ce fichier est un fichier de configuration fractionnée 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 versions plus récentes de GDM. Il est inclus dans ces versions de Red Hat Linux.

Configurer 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 commanderpm -q vnc-server gdm. Les noms des paquetsvnc-server etgdm apparaissent, avec leurs numéros de version spécifiés.

    Les noms de paquets affichés affichent les packages qui sont déjà installés. Si vous voyez un message indiquant qu’un package n’est pas installé, vous n’avez peut-être pas sélectionné les options graphiques de bureau lors de l’installation. Installez ces packages avant de pouvoir continuer. Pour plus d’informations sur l’installation d’autres logiciels sur votre machine virtuelle, reportez-vous au 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
    

    Avec les fichiers de configuration sur Red Hat Linux 5.x, 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 5.x ou version ultérieure, ajoutez la ligne ci-dessus juste en dessous de la[servers] section et avant la[server-VNC] section.

  4. Enregistrez et 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 de plus amples informations, consultez la section Vérifier les niveaux d’exécution.

Paramètres du pare-feu

Par défaut, la configuration du pare-feu n’autorise pas le trafic VNC à passer. Si vous disposez d’un pare-feu entre la VM 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 TCP5900, Display-1 estTCP-5901, et ainsi de suite. 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 à partir d’un seul côté, configurez davantage votre pare-feu.

Pour configurer le pare-feu Red Hat-base VMS pour ouvrir le port VNC :

  1. Pour Red Hat Linux 5.x, utilisezsystem-config-securitylevel-tui.

  2. Sélectionnez Personnaliser et ajouter5900 à la liste des autres ports.

Vous pouvez également désactiver le pare-feu jusqu’au prochain redémarrage en exécutant la commandeservice iptables stopou en exécutant définitivementchkconfig 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 d’écran VNC

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

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

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

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

    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    

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

  4. Enregistrez et fermez le fichier.

Activer VNC pour les machines virtuelles RHEL, CentOS ou OEL 6

Si vous utilisez Red Hat Linux version 6.x, le fichier de configuration GDM est/etc/gdm/custom.conf. Ce fichier est un fichier de configuration fractionnée 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 versions plus récentes de GDM et est inclus dans ces versions de Red Hat Linux.

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

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

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

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

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

Capture d'écran de l'écranOrdinateurs 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êtrePaquets dans le Bureau

Suivez les étapes suivantes pour continuer la configuration de vos machines virtuelles RHEL 6.x :

  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
    
  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
        }
    
  3. Entrez la commande suivante pour démarrer lexinetd service :

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

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

    # service iptables restart
    
  6. Entrez la commande suivante pour redémarrer gdm :

        # telinit 3
        # telinit 5
    

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 de plus amples informations, consultez la section 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é l’agent invité Linux. Voir Installer l’agent invité Linux pour plus de détails.

SLES prend en charge l’activation de « Administration à distance » comme option de configuration dansYaST. Vous pouvez sélectionner 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 un visualiseur VNC externe à votre invité pour vous permettre d’afficher la console graphique. La méthode d’utilisation de la fonctionnalité d’administration à distance SLES est légèrement différente de la méthode fournie par XenCenter. Cependant, il est possible de modifier les fichiers de configuration de votre machine virtuelle SUSE Linux afin qu’il soit intégré à la fonctionnalité de la console graphique.

Rechercher un serveur VNC

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

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

rpm -q tightvnc

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
    
  2. Utilisez les touches fléchées pour sélectionner Services réseau dans le menu de gauche. Tab 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 , sélectionnez 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. Onglet de la section Paramètres du pare-feu. Utilisez les touches fléchées pour sélectionner Open Port dans le pare-feu et appuyez sur Entrée pour placer un X dans la case à cocher.

  5. Tab pour le bouton Terminer et appuyez sur Entrée .

  6. Une boîte de message s’affiche, vous indiquant 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 niveau supérieur d’origineYaST s’affiche. Tab pour le bouton Quitter et appuyez sur Entrée .

Modifier la configuration xinetd

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 comme suit :

        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
        }
    
  3. Modifier laport ligne à lire

    port = 5900
    
  4. Enregistrez et 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
    

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 de plus amples informations, consultez la section Vérifier les niveaux d’exécution.

Paramètres du pare-feu

Par défaut, la configuration du pare-feu n’autorise pas le trafic VNC à passer. Si vous disposez d’un pare-feu entre la VM 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 TCP5900, Display-1 estTCP-5901, et ainsi de suite. 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 à partir 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
    
  2. Utilisez les touches fléchées pour sélectionner Sécurité et Utilisateurs dans le menu de gauche. Tab dans le 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. Tab pour 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. Sélectionnez le champ Port de destination et saisissez 5900 .

  6. Tab pour le bouton Ajouter , puis appuyez sur Entrée .

  7. Tab pour le bouton Suivant et appuyez sur Entrée .

  8. Dans l’ onglet de l’écran Résumé pour le bouton Terminer et appuyez sur Entrée .

  9. Sur l’YaST écran de niveau supérieur Tab 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
    

Vous pouvez également désactiver le pare-feu jusqu’au prochain redémarrage en exécutant la commande RcsuseFirewall2 stop , ou de manière permanente à l’aide deYaST . 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 d’écran VNC

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

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

  2. Modifiez l’geometry argument de laserver-args ligne à la résolution d’affichage souhaitée. Exemple :

    server_args  = :42 -inetd -once -query localhost -geometry 800x600 -depth 16
    

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

  3. Enregistrez et fermez le fichier.

  4. Redémarrez le serveur VNC :

    /etc/init.d/xinetd restart
    rcxdm restart
    

Vérifier 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 :

    id:n:initdefault:
    

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

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