Cómo conectar a KVM en Proxmox con clientes VNC externos [VNCviewer, tigerVNC, ultraVNC…]

Proxmox es una de las mejores opciones a la hora de virtualizar si no quieres invertir en software. Gracias a su política open source, se ha convertido en mi preferido, pero no está libre de fallos. Te voy a enseñar cómo conectar con cualquier cliente VNC a tus KVM de Proxmox.

De esta forma podrás evitar usar el interfaz web, y con el método que te pongo aquí todo se quedará funcionando como servicio. Esto significa que aguantará entre reinicios y no tienes que andar ejecutando comandos cada vez que quieras acceder a tus KVMs.

Cómo conectar tu cliente VNC a cualquier KVM de Proxmox

Otra de las razones, es que la interfaz web funciona bien, siempre y cuando no deje de hacerlo. Puede que te haya pasado como a mí, que llega un momento que sin cambiar nada deja de funcionar vnc en la web de proxmox de tu servidor.

Esto es una putada, puesto que en esencia es el único punto de acceso que ofrece así sencillo sin tener que hacer nada, y si no tienes experiencia con linux más todavía.

Lo que vamos a hacer consta de dos pasos, ya que podrías conseguir conectarte por vnc ejecutando un comando, pero lo que nos interesa es tener siempre disponible esas conexiones para las máquinas virtuales que queramos.

La única pega es que para cada máquina que crees, tendrás que conectar al servidor por ssh y añadir una línea más en la configuración que vamos a crear. Pero no necesitas nada más.

Instalar openbsd-inetd en Debian

Como Proxmox está basado en debian, tanto si has usado la distribución completa que ofrecen en su página, como si lo has instalado por tu cuenta, la distribución base es Debian.

Léete también  Como instalar windows 8.1 sin vincular una cuenta Microsoft

Vamos a necesitar instalar el paquete openbsd-inetd, que a grandes rasgos es un paquete que instala un servicio (daemon) de red que gestiona conexiones entrantes y es capaz de hacer que esas conexiones sean dirigidas a programas o se ejecuten comandos sobre ellas.

La instalación la harás como administrador (sudo) con este comando:

Una vez instalado no estará iniciado, pero eso lo haremos después de configurarlo.

Cómo redirigir los puertos para conectar por VNC a máquinas KVM en proxmox

En este punto te quiero comentar primero que debes elegir qué puertos serán los que estarán a la espera de conexiones VNC para ser redirigidos a las máquinas pertinentes.

Mi consejo es que uses algún tipo de lógica. En mi caso, sabiendo que el puerto predeterminado de las conexiones vnc es 5900, uso el prefijo 59, y luego la id de la KVM que configuro en proxmox para saber a cual me conecto cada vez.

Por ejemplo:

  • Puerto 59101 va a la kvm 101
  • Puerto 59800 va a la kvm 800

Tú puedes usar el mismo método que yo, o elegir tus propios puertos, solo recuerda usar puertos que no estén ya ocupados y que te sean fáciles de recordar.

Una vez ya tienes en mente los puertos que vas a usar y las ids de las KVMs (puedes verlas junto al nombre en la interfaz web), edita el archivo /etc/inetd.conf:

Recuerda que necesitas permisos root. Ahora vas a añadir una línea por cada KVM a la que quieras acceder por VNC con este formato:

La CONFIG es la que te voy a poner en los ejemplos, solo tienes que poner tu puerto y vmid.

Léete también  Como solucionar el error "algo está interfiriendo con tu conexión segura" en chrome

Una vez los tengas ya insertados al final del archivo inetd.conf guarda y ciérralo.

Por último hay que reiniciar (o iniciar si es la primera vez pero es el mismo comando) el servicio:

Cualquiera de los dos comandos debería servirte, pero por si acaso te dejo los dos.

Ahora solo falta que te vayas a tu programa VNC favorito y apuntes a la ip del SERVIDOR:puerto.

Recuerda, la ip tiene que ser la del servidor, no la de la máquina virtual, y el puerto el que hayas configurado como primer parámetro.

Actualizando los accesos VNC a los KVM de proxmox

Después de esto, si quieres añadir o quitar accesos a las máquinas que tengas, lo puedes hacer simplemente modificando el archivo de configuración:

Simplemente recuerda añadir o quitar las líneas al final del archivo, y también las puedes comentar si pones # delante de la línea para que deje de funcionar en el siguiente reinicio del servicio.

Léete también  ll: command not found [Solucionado]

Para reiniciar el servicio una vez hechos los cambios puedes hacerlo como en el paso anterior:

Conectar al KVM en proxmox con el puerto que has configurado

Esto te va a venir bien para utilizar TigerVNC, VNC Viewer, UltraVNC o cualquier otro para acceder a tus máquinas en proxmox.

Lo mejor, es que a diferencia del acceso por la interfaz web, aquí puedes cambiar las resoluciones y no te dará problemas de cursor, o pantallas incompletas.

Para acceder con cualquiera de los programas que he comentado (o el que prefieras si te gustan otros), simplemente tienes que apuntar a la ip y puesto del servidor en formato: xxx.xxx.xxx.xxx:xxxxx.

Seguramente te va a pedir contraseña para la conexión VNC, y como para la interfaz web no es necesario tendrás que configurar uno. Para eso abre la web de tu servidor proxmox y haz click encima de la KVM a editar.

En el panel de opciones de la máquina (barra lateral con pestañas), verás una que se llama monitor con el icono de un ojo. Ábrela y verás una consola en blanco en la que indica help para ver la ayuda.

Pon este comando y dale a intro:

set_password vnc tupassword

Donde tupassword será la contraseña que usarás cuando te lo pregunte al conectar con el cliente de VNC.

Después de esto ya deberías poder conectar a cualquier máquina virtual desde clientes de vnc externos en proxmox, independientemente de si te funciona la interfaz web o no.

Si tienes algún problema en el proceso o dudas déjame un comentario y te echo un cable.

¿Tienes proxmox o lo vas a probar? ¿Para qué lo usas? Comenta y comparte

 

Publicado en Ayudapor VicHaunter el

AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.