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 XenServer 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 outils de machine virtuelle XenServer pour Linux. Pour plus d’informations, consultez Installer les outils de machine virtuelle XenServer 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.
-
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).
-
Installez le serveur Xvnc en utilisant
apt-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 packagegdm
comme suit :apt-get install gdm apt-get purge gdm3 <!--NeedCopy-->
-
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-->
-
Modifiez votre fichier
gdm.conf
(/etc/gdm/gdm.conf
) pour configurer un serveur VNC pour gérer l’affichage de0
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-->
-
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é les outils de machine virtuelle XenServer pour Linux. Pour plus d’informations, consultez Installer les outils de machine virtuelle XenServer 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
-
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 packagesvnc-server
etgdm
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é.
-
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. -
Modifiez la configuration pour que le
Xvnc
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.
-
-
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 5900
TCP-5901
, Display-1 est, etc. Consultez la documentation de votre pare-feu pour vous assurer que ces ports sont ouverts. Pour plus d’informations, consultez Ports de communication utilisés par XenServer.
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 :
-
Pour Red Hat Linux, utilisez
system-config-securitylevel-tui
. -
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 :
-
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.
-
Trouvez la section
[server-VNC]
que vous avez ajoutée ci-dessus. -
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. -
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 :
Cette action affiche l’écran Système de base, assurez-vous que la compatibilité UNIX héritée est sélectionnée :
Sélectionnez Ordinateurs de bureau > Packages facultatifs, puis cliquez sur Suivant :
Cette action affiche la fenêtre Packages dans le bureau, sélectionnez tigervnc-server-<version_number>, puis cliquez sur Suivant :
Suivez les étapes suivantes pour poursuivre la configuration de vos machines virtuelles RHEL :
-
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-->
-
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-->
-
Entrez la commande suivante pour démarrer le service
xinetd
:# service xinetd start <!--NeedCopy-->
-
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-->
-
Entrez la commande suivante pour redémarrer
iptables
:# service iptables restart <!--NeedCopy-->
-
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 outils de machine virtuelle XenServer pour Linux. Voir Installer les outils de machine virtuelle XenServer pour Linux pour plus de détails.
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 :
-
Ouvrez une console de texte sur la machine virtuelle et exécutez l’utilitaire
YaST
:yast <!--NeedCopy-->
-
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.
-
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.
-
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.
-
Appuyez sur la touche Tabulation jusqu’au bouton Terminer, puis appuyez sur Entrée.
-
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.
-
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.
-
Ouvrez le fichier
/etc/xinetd.d/vnc
dans votre éditeur de texte préféré. -
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-->
-
Modifiez la
port
ligne pour la lireport = 5900 <!--NeedCopy-->
-
Enregistrez, puis fermez le fichier.
-
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 5900
TCP-5901
, Display-1 est, etc. Consultez la documentation de votre pare-feu pour vous assurer que ces ports sont ouverts. Pour plus d’informations, consultez Ports de communication utilisés par XenServer.
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 :
-
Ouvrez une console de texte sur la machine virtuelle et exécutez l’utilitaire
YaST
:yast <!--NeedCopy-->
-
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.
-
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.
-
Appuyez sur le bouton Ajouter dans la section Règles autorisées personnalisées, puis appuyez sur Entrée.
-
Dans le champ Réseau source, saisissez 0/0. Appuyez sur la touche Tabulation jusqu’au champ Port de destination et saisissez 5900.
-
Appuyez sur la touche Tabulation jusqu’au bouton Ajouter, puis appuyez sur Entrée.
-
Cliquez sur le boutonSuivantavec la touche Tab et appuyez sur Entrée.
-
Dans l’écran de résumé, cliquez sur le bouton Terminer et appuyez sur Entrée.
-
Sur l’écran supérieur
YaST
, appuyez sur le bouton Quitter et appuyez sur Entrée. -
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 :
-
Ouvrez le fichier
/etc/xinetd.d/vnc
avec votre éditeur de texte préféré et trouvez la sectionservice_vnc1
(correspondant àdisplayID
1). -
Modifiez l’argument
geometry
de la ligneserver-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. -
Enregistrez, puis fermez le fichier.
-
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.
-
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.
-
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.