Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • InformatiWeb Pro
  • Virtualisation
  • VMware
  • Accéder à distance à une machine virtuelle VMware ESXi 6.7 via VNC
  • VMware
  • VMware ESXi, VMware vSphere
  • 29 juin 2022 à 11:15
  • InformatiWeb

Accéder à distance à une machine virtuelle VMware ESXi 6.7 via VNC

Si vous avez déjà utilisé VMware Workstation Pro sur votre ordinateur, vous avez surement déjà remarqué qu'il était possible de contrôler une machine virtuelle VMware Workstation à distance en utilisant n'importe quel client VNC.
Bien que cela ne soit indiqué nulle part pour l'hyperviseur VMware ESXi, il est tout de même possible de faire la même chose. Autrement dit, contrôler une machine virtuelle de votre hyperviseur VMware ESXi à distance depuis votre client VNC favori.

Attention : bien que cela fonctionne aussi bien que sous VMware Workstation, cette technique n'est pas supportée officiellement par VMware.
Vous ne devriez donc pas utiliser cette technique en entreprise. De plus, cela nécessite la modification d'un fichier de configuration de votre hyperviseur VMware ESXi, ainsi que la configuration de son pare-feu.
Ce qui pourra poser problème si vous souhaitez contacter plus tard le support de VMware, car ils verront que ce fichier aura été modifié manuellement.

Ce tutoriel est donc destiné aux personnes utilisant un serveur sous VMware ESXi à la maison ou pour des tests, mais qui n'ont pas besoin du support de VMware.

Important : cette fonctionnalité cachée a été retirée depuis VMware vSphere 7.0, comme vous pouvez le voir sur la page "Notes de mise à jour de VMware vSphere 7.0".

  1. Activer le protocole SSH de VMware ESXi
  2. Configuration du pare-feu pour le serveur VNC
  3. Configuration de la machine virtuelle
  4. Connexion via VNC à une machine virtuelle

1. Activer le protocole SSH de VMware ESXi

Pour commencer, vous devrez activer le protocole SSH de votre hyperviseur VMware ESXi afin de pouvoir effectuer les modifications nécessaires en ligne de commandes.
En effet, cette option n'est pas disponible via l'interface graphique étant donné que VMware ne la supporte pas par défaut pour VMware ESXi.

2. Configuration du pare-feu pour le serveur VNC

Utilisez votre client SSH préféré.
Par exemple : PuTTY sous Windows.

Pour pouvoir accéder à vos machines virtuelles via le protocole VNC, vous devez modifier le fichier de configuration "/etc/vmware/firewall" de votre hyperviseur VMware ESXi.
Néanmoins, comme vous pouvez le voir, ce fichier est en lecture seule par défaut (droit "r" = "read" = "droit de lecture").

Bash

ls -an /etc/vmware/firewall

Plain Text

-r--r--r--    1 0        0            20822 Aug  5  2019 service.xml

Pour pouvoir modifier ce fichier, vous devez donc d'abord modifier ses droits grâce à ces commandes :

Bash

chmod 644 /etc/vmware/firewall/service.xml
chmod +t /etc/vmware/firewall/service.xml

Comme vous pouvez le voir, les droits ont été modifiés pour ce fichier :

Bash

ls -an /etc/vmware/firewall

Plain Text

-rw-r--r-T    1 0        0            21167 Nov 16 10:02 service.xml

Ensuite, modifier ce fichier de configuration grâce à "vi" :

Bash

vi /etc/vmware/firewall/service.xml

Allez à la fin de ce fichier en appuyant sur "SHIFT + G", puis passer en mode insertion dans "vi" en appuyant une fois sur la lettre "i".
Juste avant le "</ConfigRoot>" situé à la fin de ce fichier, rajoutez le bloc ci-dessous.

Note : remplacez la valeur "SERVICE_UNIQUE_ID" par un ID de service unique dans ce fichier.
Notez que les services sont triés par défaut par leur ID.
Dans notre cas, le dernier service de ce fichier à l'ID "0044".
Donc, nous avons utilisé l'ID de service "0045" pour le service VNC.

Plain Text

  <!-- VNC server -->
  <service id='SERVICE_UNIQUE_ID'>
    <id>VNC</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>
        <begin>5900</begin>
        <end>5964</end>
      </port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>

Ensuite, appuyez une fois sur la touche "Esc" (ou "Echap") de votre clavier pour passer en mode "commandes" et tapez ":wq" (sans les guillemets).

Ensuite, pour restaurer les droits par défaut de ce fichier, utilisez la commande :

Bash

chmod 444 /etc/vmware/firewall/service.xml

Vérifiez les droits de ce fichier grâce à cette commande :

Bash

ls -an /etc/vmware/firewall

Comme prévu, ce fichier est de nouveau en lecture seule.

Plain Text

-r--r--r--    1 0        0            21167 Nov 16 10:02 service.xml

Rafraichissez les règles du pare-feu de votre hyperviseur VMware ESXi pour que ce changement soit pris en compte.

Bash

esxcli network firewall refresh

Activez la nouvelle règle "VNC" que vous venez de créer dans le pare-feu de votre hyperviseur :

Bash

esxcli network firewall ruleset set --ruleset-id VNC --enabled true

Affichez la liste des règles du pare-feu.

Bash

esxcli network firewall ruleset list

Vers la fin de la liste qui s'affiche, vous devriez voir votre règle "VNC" apparaitre :

Plain Text

Name                    Enabled
----------------------  -------
...
VNC                        true

Ensuite, liste les règles présentes dans les règles du pare-feu :

Bash

esxcli network firewall ruleset rule list

Plain Text

Ruleset                 Direction  Protocol  Port Type  Port Begin  Port End
----------------------  ---------  --------  ---------  ----------  --------
...
VNC                     Inbound    TCP       Dst              5900      5964

Dans l'interface web de votre hyperviseur VMware ESXi, allez dans : Mise en réseau -> Règles du pare-feu.

A la fin de la liste qui s'affiche, vous trouverez votre règle concernant VNC.

Sources officielles utilisées :

  • Creating custom firewall rules in VMware ESXi (2008226)
  • Ports de pare-feu entrants et sortants pour les hôtes ESXi

3. Configuration de la machine virtuelle

Maintenant que le pare-feu de votre hyperviseur VMware ESXi a été configuré, vous devez activer le contrôle à distance via VNC sur les machines virtuelles souhaitées.
Pour cela, sélectionnez la machine virtuelle souhaitée et cliquez sur "Modifier".

Allez dans "Options VM -> Avancé" et cliquez sur le bouton : Modifier la configuration.

Dans la fenêtre "Paramètres de configuration" qui apparait, cliquez sur : Ajouter un paramètre.

Plusieurs lignes apparaitront.

Cliquez sur les cases pour ajouter les paramètres suivants :

Plain Text

RemoteDisplay.vnc.enabled="TRUE"
RemoteDisplay.vnc.port=5900

Le paramètre "RemoteDisplay.vnc.enabled" permet d'activer le contrôle à distance de cette machine virtuelle via le protocole VNC.
Le paramètre "RemoteDisplay.vnc.port" permet de définir sur quel port sera accessible cette machine virtuelle via votre client VNC préféré.

Important : le port utilisé doit être unique par machine virtuelle.
En effet, étant donné que le serveur VNC se trouve sur votre hyperviseur VMware ESXi, vous devez indiquer l'adresse IP de votre serveur ESXi, ainsi que le port indiqué pour la machine virtuelle souhaitée pour vous connecter à celle-ci.
Le port doit donc être unique pour chaque machine virtuelle.
La plage de ports valide étant celle définie précédemment dans le fichier "/etc/vmware/firewall" : 5900-5964.

En plus de ces paramètres obligatoires, vous pourrez aussi spécifier le layout de votre clavier pour que celui-ci soit correct lorsque vous vous connecterez à votre machine virtuelle via le protocole VNC.
Pour cela, utilisez le paramètre "RemoteDisplay.vnc.keyMap" et indiquez "fr" pour le clavier "Français (France)" ou "fr-be" pour le clavier "Français (Belgique)".
Pour connaitre toutes les valeurs possibles pour les autres layouts claviers, consultez la page "Language Codes" du site de VMWare.

Plain Text

RemoteDisplay.vnc.keyMap="fr"

Pour finir, vous pourrez aussi définir un mot de passe pour le contrôle à distance de cette machine virtuelle via votre client VNC préféré.
Ce paramètre facultatif est "remoteDisplay.vnc.password" et le mot de passe à utiliser doit être indiqué en tant que valeur.

Plain Text

remoteDisplay.vnc.password="MyPassword"

Une fois que vous avez ajouté les paramètres souhaités, cliquez sur OK.

Puis, cliquez sur : Enregistrer.

Le message "La machine virtuelle [nom de la VM] a été reconfigurée" apparait.

Si vous avez activé l'accès via le protocole VNC sur plusieurs machines virtuelles, il est possible que vous ne sachiez plus quels ports sont déjà utilisés et quels ports sont libres.
Pour trouver rapidement quels ports sont utilisés et par quelles machines virtuelles (y compris si elles sont éteintes en ce moment), utilisez la commande :

Bash

grep "vnc.port" */*/*/*/*.vmx

Ce qui donne ceci dans notre cas.
Notez que les machines virtuelles apparaitront 2 fois :

  • une fois avec l'identifiant du datastore concerné
  • l'autre fois avec le nom du datastore concerné.

Plain Text

vmfs/volumes/xxxxxxxx-xxxxxxxx-.../Win 10 v2004 x64/Win 10 v2004 x64.vmx:RemoteDisplay.vnc.port = "5900"
vmfs/volumes/RAID Vol/Win 10 v2004 x64/Win 10 v2004 x64.vmx:RemoteDisplay.vnc.port = "5900"

4. Connexion via VNC à une machine virtuelle

Pour accéder à votre machine virtuelle, démarrez celle-ci, puis téléchargez et lancez votre client VNC favori.
Dans notre cas, nous avons choisi le client "VNC Viewer" de "RealVNC".

Une fois ce client VNC installé, lancez-le et indiquez l'adresse IP de votre hyperviseur VMware ESXi, suivi du symbole ":", puis le port correspondant à la machine virtuelle à laquelle vous souhaitez accéder.
Dans notre cas, cela donne "10.0.0.5:5900". Puis, cliquez sur l'option "Connexion à l'adresse ou au nom d'ordinateur ..." qui s'affiche.

Une fenêtre de connexion apparait.

Puis, une fenêtre vous indique que la connexion n'est pas chiffrée.
Ignorez cet avertissement en cochant la case "Ne plus afficher cet avertissement", puis en cliquant sur "Continuer".

Si vous avez défini un mot de passe grâce au paramètre vmx "remoteDisplay.vnc.password", alors une fenêtre "Authentification" apparaitra.
Dans ce cas, indiquez ce mot de passe ici et cliquez sur OK.

Comme prévu, l'écran de votre machine virtuelle apparait dans ce client VNC.

Important : le transfert de fichiers n'est pas supporté par le serveur VNC se trouvant sur votre hyperviseur VMware ESXi.
Que vous utilisiez le client VNC de RealVNC (comme c'est le cas ici) ou n'importe quel autre client VNC (tel que "TightVNC Client" qui supporte aussi le transfert de fichiers lorsque le serveur VNC distant le support aussi), cela ne fonctionnera pas.
A vrai dire, nous avons testé tous les clients VNC existant sur Internet et aucun n'a permis de transférer des fichiers via le serveur VNC hébergé par VMware ESXi.

Si vous avez configuré correctement le paramètre "RemoteDisplay.vnc.keyMap" dans la configuration de votre machine virtuelle, le layout de votre clavier devrait être bon.
Sinon, vérifiez la configuration de votre client VNC.
Dans notre cas, aucune modification n'a été nécessaire pour ce client VNC.

Un des avantages du protocole VNC dans ce cas-ci est que vous êtes connecté au serveur VNC de votre hyperviseur VMware ESXi et non à celui que vous auriez installé dans votre machine virtuelle.
Ce qui signifie que si vous redémarrez la machine virtuelle, vous ne perdrez pas l'accès à celle-ci.

Par contre, la connexion sera perdue si vous arrêtez la machine virtuelle au lieu de la redémarrer.

Comme vous pouvez le voir, même le logo de VMware (affiché notamment au démarrage d'une machine virtuelle, mais aussi lors de son redémarrage) apparaitra.

La machine virtuelle continue de démarrer.

Et voilà, le redémarrage est terminé et la connexion n'a pas été interrompue.

Partager ce tutoriel

Partager
Tweet

A voir également

  • VMware ESXi 6.7 - Ajouter un disque physique sur l'hôte

    VMware 27/7/2022

    VMware ESXi 6.7 - Ajouter un disque physique sur l'hôte

  • VMware ESXi 6.7 - Créer une clé USB virtuelle

    VMware 13/7/2022

    VMware ESXi 6.7 - Créer une clé USB virtuelle

  • VMware ESXi 6.7 - Piles TCP/IP

    VMware 10/3/2023

    VMware ESXi 6.7 - Piles TCP/IP

  • VMware ESXi 6.7 - Utiliser un contrôleur SCSI paravirtuel (PVSCSI)

    VMware 21/10/2022

    VMware ESXi 6.7 - Utiliser un contrôleur SCSI paravirtuel (PVSCSI)

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.