VNC SERVER: QUÉ ES, CÓMO FUNCIONA Y PARA QUÉ SIRVE
VNC, Virtual Network Computing, es un protocolo de escritorio remoto de código abierto que permite controlar un ordenador de forma remota a través de la red. El VNC Server es la parte que se instala en la máquina que se quiere controlar, mientras que el VNC Viewer, o cliente se ejecuta en el dispositivo desde el que para controlar el otro dispositivo. A diferencia de protocolos propietarios como RDP, de Microsoft, VNC es multiplataforma y funciona independientemente del sistema operativo del cliente y del servidor.
¿Cómo funciona VNC?
VNC utiliza el protocolo RFB, Remote Framebuffer. Funciona de la siguiente manera:- El servidor captura el framebuffer (el contenido gráfico) de la pantalla.
- Envía los cambios de píxeles al cliente.
- El cliente envía eventos de teclado y ratón de vuelta al servidor.
Instalación y Configuración
- En Linux (Ubuntu/Debian):
Para una configuración más robusta se recomienda usar "systemd" con un servicio.# TigerVNC sudo apt update sudo apt install tigervnc-standalone-server tigervnc-common # Crear contraseña vncpasswd # Iniciar servidor en display :1 vncserver :1 -geometry 1920x1080 -depth 24 - En Linux con sesión real (recomendado):
sudo apt install x11vnc x11vnc -storepasswd x11vnc -rfbauth ~/.vnc/passwd -display :0 - En Windows
- Descargar TightVNC o RealVNC desde sus sitios oficiales.
- Instalar como servicio para que inicie automáticamente.
- Configurar firewall (puerto TCP 5900 por defecto).
- En contenedores Docker
services:
//yaml vnc: image: tigervnc/tigervnc ports: - "5901:5901" environment: - VNC_RESOLUTION=1920x1080
Seguridad: El punto crítico de VNC
VNC es inseguro por defecto. El tráfico va sin cifrar, excepto en RealVNC. Medidas de seguridad obligatorias:- No exponer VNC directamente a internet.
- Usar SSH
ssh -L 5901:localhost:5901 usuario@servidor - Configurar fail2ban con filtro VNC.
- Usa contraseñas fuertes + VPN (WireGuard/OpenVPN).
- Considera certificados TLS (RealVNC o stunnel).
- Cambiar el puerto por defecto (5900).
Ventajas y Desventajas
Ventajas
- Multiplataforma total.
- Muy ligero en recursos del servidor.
- Fácil de configurar.
- Gran compatibilidad con thin clients.
Desventajas
- Alto consumo de ancho de banda.
- Latencia notable en conexiones lentas.
- Seguridad básica débil.
- Rendimiento inferior a RDP o protocolos basados en display (como SPICE o NoMachine).
Casos de uso recomendados
- Administración de servidores Linux sin interfaz gráfica..
- Soporte técnico remoto..
- Entornos de desarrollo donde se necesita interfaz gráfica ocasional..
- Laboratorios y aulas de informática..
- Acceso a máquinas legacy..
Alternativas Modernas a VNC
- RustDesk (open source, excelente).
- Apache Guacamole (acceso vía web).
- NoMachine (muy rápido).
- XRDP, RDP sobre Linux.
- Moonlight + Sunshine (para gaming).
- WayVNC (para Wayland).
Consejos de un administrador de servidores
- En servidores de producción, elegir x11vnc o TigerVNC + SSH tunnel.
- Para múltiples usuarios, usar TurboVNC o RealVNC con autenticación integrada.
- Monitorizar siempre el uso de CPU/RAM del servidor VNC.
- En entornos de alta disponibilidad, combinar VNC con herramientas de orquestación (Ansible + systemd).
- Probar siempre el rendimiento antes de desplegar en producción.