Hemos visto en un montón de tutoriales publicados en esta misma web que el VNC es una herramienta muy útil para poder controlar un ordenador a distancia. De todas formas puede surgir un problema si se quiere usar para, por ejemplo, arreglar el ordenador de un amigo. Imaginaos la situación:
Suponed que os llama un amigo y os dice que necesita que le ayudes para cualquier tema relacionado con el ordenador. Tú le pides que instale el UltraVNC para poder revisar su equipo de forma remota. Él lo hace, pero de repente surge el problema de que tiene que configurar los puertos para que funcione correctamente. Aquí ya se lió una buena, porque como cada router es distinto, habría que mirar con calma cómo hacer para mapear los puertos de forma correcta.
O si quereis suponed esta otra situación: Quereis controlar el equipo del trabajo desde vuestra casa, pero no teneis acceso al router ni podeis mapear los puertos necesarios para que funcione el vnc en el trabajo.
Estos problemas pueden solucionarse mediante conexiones inversas. El concepto es un poco complicado de explicar, pero vamos a intentarlo para que quede muy clarito. En anteriores tutoriales, lo que hacíamos era lo siguiente: el equipo al que queríamos acceder de forma remota (llamémosle equipo 1) lo dejábamos «escuchando» peticiones de internet mediante un programa servidor (UltraVNC server). En ese equipo teníamos el router con los puertos mapeados y todo preparado para que si entraba una petición por el puerto del VNC, se dirigiera al equipo correcto. En cuanto otro equipo intentaba entrar (equipo 2) mediante un programa cliente, el servidor le preguntaba la contraseña y si ésta era correcta, permitía el acceso remoto.
En este tutorial vamos a hacerlo al revés. El equipo 2, en lugar de ser el que hace la petición va a ser el que esté «escuchando» y preparado para recibir peticiones, por lo que va a ser este equipo el que tenga que tener correctamente configurado el router y los puertos, y va a ser el servidor (equipo 1) el que haga la petición al cliente. Veamos cómo se hace eso.
Primero nos vamos al equipo 2 (el ordenador con el que vamos a ver de forma remota el contenido del otro equipo) y arrancamos el «UltraVNC viewer» de una forma especial para que funcione como servidor. Nos vamos en el menú inicio a la carpeta del UltraVNC y dentro de la subcarpeta «UltraVNC viewer» pinchamos en «Run UltraVNC Viewer (Listen mode)». Si tenemos alguna otra versión de VNC, también podemos acceder mediante el símbolo del sistema, yendo a la carpeta del VNC y escribiendo «vncviewer -listen».
De cualquiera de las dos formas, tendremos al final en la bandeja del sistema un icono del VNC viewer (verde, no azul como el server), que indicará que está revisando las peticiones que estén entrando en el equipo.
Este equipo debe estar conectado directamente a internet (por ejemplo, con un modem cable, no un router) o bien debe tener un puerto mapeado en el router para lograr una conexión correcta. Supongamos que si tenemos un router tenemos mapeado el puerto 5912, o bien, supongamos que usamos un módem de cable (con un módem de este tipo, no haría falta mapear ningún puerto). Supongamos que la ip pública de este equipo es xxx.xxx.xxx.xxx (Sustituid la ip por la del equipo). Si no conoceis la ip pública del equipo y da la casualidad que veis este tutorial desde él, os dejo aquí a un tipo que os la dirá
Una vez que sabemos qué número de puerto debemos usar y la dirección IP de nuestro equipo, procedemos a configurar el otro equipo.
En el equipo remoto iniciamos el UltraVNC Server. Cuando lo veamos en la bandeja del sistema (al lado del reloj), hacemos click con el botón derecho en su icono y seleccionamos «add new client». Ponemos dentro algo similar a esto:
Por supuesto sustituís las XXX por los números de vuestra dirección ip. En el momento en que lo hagais, lo que se está viendo en la pantalla, se estará viendo en el otro equipo y podrán controlarlo.
El concepto de este método es un poco lioso, pero tal vez os resulte de utilidad si con el método normal teneis problemas para mapear un puerto en el router.