This post is also available in: Inglese

Reading Time: 3 minutes

Qualche settimana, scorrendo la Community VMware, mi sono imbattuto in un thread curioso che mi ha fatto scoprire l’esistenza di una funzione “primordiale” anche nelle ultime versioni di ESXi: è possibile usare il protocollo VNC per collegarsi alla console di una VM, come descritto nel vecchio (notare che fa ancora riferimento al VMware GSX Server!) articolo di KB1246 (Using a VNC Client to Connect to Virtual Machines).

Nota: come scritto nello stesso articolo, VMware non supporta l’uso di questo server VNC. Il modo corretto per accedere alla console delle VM è usare il vSphere Client (oppure il Web Client), oltre che ovviamente ad usare protocolli di accesso remoto a livello di guest OS.

Del resto, personalmente, non ne vedo l’utilità, ma mosso da pura curiosità ne ho verificato il funzionamento.

La configurazione è a livello di ogni singola VM, ma il servizio viene fornito a livello di host, quindi se volete abilitare VNC per diverse VM, dovrete usare porte diverse per ciascuna VM.

Per configurare ogni VM editate il file VMX oppure usate il vSphere Client per modificare le Virtual Machine Properties ed aggiungere le seguenti righe:

  • RemoteDisplay.vnc.enabled = TRUE
    Impostando questo parametro a TRUE si abilita il server VNC. Da notare che funziona solo quando la macchina virtuale è accesa. A VM spenta il server VNC non risponde.
  • RemoteDisplay.vnc.port = TCP_Port
    Permette di specificare una porta per il server VNC (5900 è quella di default). Volendo abilitare questa funzione su più VM, per ognuna bisognerà sperificare una porta diversa(meglio se tra 5900 e 5999).
  • RemoteDisplay.vnc.password = password
    Permette di utilizzare l’autenticazione con password di VNC 3.3 (massimo 8 caratteri).

In questo esempio viene utilizzata la porta TCP 5901 e “password” (senza le virgolette):

A questo punto, su ESXi 5, c’è un’ulteriore complicazione… bisogna aggiungere una nuova regola nel personal firewall. Per farlo basta seguire il post di William Lam (How to Create Custom Firewall Rules in ESXi 5.0).

Il primo passo è creare un file di configurazione per la porta VNC, tipo questo:

~ # cat /etc/vmware/firewall/vnc.xml
 

   VNC

     inbound
     tcp
     dst
     5901

     outbound
     tcp
     dst

      0
      65535

    true
    false

A questo punto si può aggiornare il set di regole del firewall e verificare l’effettiva attivazione coi i seguenti comandi (da eseguire in ESXi shell, o via RCLI):

~ # esxcli network firewall refresh
~ # esxcli network firewall ruleset list | grep VNC
VNC                    true

Alla fine basta scaricare un VNC client (ad esempio il TightVNC Viewer) e collegarsi al server ESXi alla porta specificata (nell’esempio 5901) usando la sintassi IP:Porta.

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.