Skip to Content

Soporte remoto con VNC sin abrir puertos en el cliente

Estuve buscando una aplicación similar a TeamViewer pero nativo de Linux sin encontrar nada que cumpliera con mis requisitos.

Necesitaba poder acceder al entorno gráfico de  las PCs de los clientes para darles soporte remoto.

Sin necesidad de abrir puertos en los Routers/Firewalls.

Que sea libre y gratuito.

Por esta razón me dispuse a crear un front-end en Python para vnc, uno para el cliente y otro para soporte.

El funcionamiento es muy simple:

El soporte inicia la aplicación, la que lanza un vncviewer en modo escucha.

El cliente inicia la aplicación y conecta con soporte mediante x11vnc para la asistencia remota.

El cliente no necesita ninguna configuracion en su Router/Firewall, el soporte debe redirigir los puertos necesarios en su Router/Firewall.

Con la configuración por defecto seria:

Suponiendo que hay tres PCs para dar soporte y tienen las IPS 192.168.0.11 192.168.0.12 y 192.168.0.13.

El soporte tendría que redirigir el puerto 5500 a la IP 192.168.0.11:5500

puerto 5501 a la IP 192.168.0.12:5500

puerto 5502 a la IP 192.168.0.13:5500

De esta forma logramos 3 mesas de ayuda entre las que el cliente puede elegir con una simple selección en su aplicación.

La aplicación para el cliente se ver así:

ServiceDesk

Obviamente es una aplicación libre, están invitados a descargar el deb y el codigo fuente

Pueden modificar la variable 'dns' del archivo sdeskcliente.py para que apunte a la IP o nombre de dominio donde van a dar soporte, igualmente, también puede ser modificada desde la aplicación.

Necesitan tener instalado el paquete x11vnc, cosa que el paquete .deb hace automáticamente.

La aplicación para soporte es simplemente un icono en la barra Tray que les permite iniciar y detener el vncviewer en modo escucha, no necesita ninguna modificación para funcionar.

Pueden descargar el .deb y el codigo fuente.

Si alguien tiene una sugerencia, corrección o mejora, deje un comentario.