Bueno, ya habíamos visto en la entrada anterior sobre este tema como conectarse a un servidor de Lineage II a través de un túnel SSH burlando un Firewall. En esta entrada concluiré ese tema explicando como realizar la conexión cuando el servidor modifica el cliente en lugar de modificar el archivo de hosts.
En realidad esta entrada también explica una manera de redireccionar cualquier conexión que vaya a una determinada IP a una IP diferente usando un túnel SSH. Esta facultad es especialmente útil por ejemplo cuando queremos saltar Firewalls o cuando tenemos programas viejos que ya no tienen mantenimiento y tienen una IP quemada en el código que no podemos cambiar y necesitamos que se conecten a una IP diferente, entre otras posibilidades.
De que trata esta entrada
Esta entrada explica la manera de usar un túnel SSH para desviar conexiones que van a determinada IP de modo que vayan a una IP diferente de nuestra elección. Para explicar dicho tema haré uso de un ejemplo, una conexión a través de un Firewall usando un túnel SSH para conectarse a un servidor de Lineage II que modifica el cliente.
En este ejemplo en particular realizaremos una conexión al servidor Ludmila, un servidor que al momento de escribir esta entrada era un servidor low rate (7x) que corría con Lineage II - CT1 Hellbound
Para mas información sobre el tema que se está tratando en esta entrada por favor lean las entradas anteriores del blog sobre el mismo tema.
Antes de empezar
Antes de poder hacer uso de esta técnica se necesita alguna información, en particular necesitamos las direcciones IP y los puertos a los que el cliente necesita conectarse para poder realizar el redireccionamiento IP. Esta información la puedes conseguir muy seguramente en la página del servidor en el que juegas o tal vez preguntando en el foro de este mismo, no obstante, enseñaré aquí una ténica para obtener esta información por nuestra propia cuenta monitoreando las conexiones activas del PC.
Antes de intentar lo que describiré a continuación trata de minimizar lo más posible las conexiones que tu PC tiene con la red, cierra los programas que usan internet como Messenger, Skype, Outlook, etc. Lo ideal si puedes es que no haya ninguna conexión activa.
Seguidamente abre una consola y ejecuta:
netstat -n -p tcp
Verás en la consola algo como esto:
Bueno, ahora vuelve a escribir el comando en la consola pero NO presiones Entrar, esto es, la consola debe estar lista para ejecutar el comando. Luego abre el cliente de Lineage II y escribe tus datos de inicio de sesión, luego da clic en Login o presiona Entrar y rápidamente presiona ALT+TAB para cambiar a la consola y presiona Entrar para que se ejecute el comando que estaba preparado en la consola.
Inmediatamente verás aparecer la nueva conexión con su IP y puerto. Bien, ya tenemos la información del servidor de autenticación. Seguidamente selecciona el servidor en la lista de servidores y dale a Connect, cuando veas la lista de personajes ejecuta nuevamente el comando y verás aparecer la IP y el puerto del servidor del juego, algo como esto:
Ok, ya tenemos las IPs y puertos que necesitaremos para establecer la conexión, estos son:
- 190.224.162.71:666
- 190.224.162.71:7777
- 190.224.162.74:2106
No importa si en tu caso el cliente se conecta a más o menos destinos lo importante es que anotes las IPs y los puertos que necesitarás redireccionar.
Preparar la tarjeta de red
Lo siguiente que haremos será preparar la tarjeta de red para desviar las conexiones que normalmente irían a través de la puerta de enlace de vuelta a nuestro equipo. Ya expliqué como hacerlo en la entrada anterior, aquí solo mostraré un screenshot de como se ve la página de configuración avanzada de IPv4:
Nótese que he agregado las dos direcciones IP del servidor del juego que hemos detecto (190.224.162.71 y 190.224.162.74) además de la IP de conexión de la red local (192.168.0.174) dejando la tarjeta de red con un total de tres direcciones IP.
Crear el Túnel SSH
Lo siguiente que haremos será crear el Túnel SSH. Para hacerlo volveré a utilizar el Putty ya que es lo más fácil. Los pasos base para establecer la conexión ya los he explicado en las entradas anteriores así que aquí solo mostraré un screenshot de como se ve la configuración de los túneles:
Listo, una vez configurados los túneles le damos al botón Open y establecemos la conexión con el equipo relevador. Una vez establecida la conexión Putty estará escuchando en los puertos 666, 7777 y 2106 listo para hacer el redireccionamiento IP al servidor real del juego.
Abrimos el juego y nos conectamos como si nada. Felicitaciones!
Algunos comentarios finales
Así concluye este pequeño tutorial sobre SSH Tunneling para saltar Firewalls. A pesar de que esto puede parecer un conjunto de tutoriales escritos con cierto desdén por las reglas y con la intención de permitirle a quien los lea violar políticas de una empresa o una institución educativa en realidad no es así.
Este material se escribió con el propósito de poner a disposición de otros un conocimiento que no está muy a la luz. Y a pesar de que lo que aquí se explica podría usarse con fines ilegales y maléficos también tiene muchas aplicaciones beneficiosas, puede sacar de un aprieto a un profesional de IT en algún caso.
También muestra las debilidades que algunos sistemas tienen y demuestra que cerrar puertos en un Firewall no es garantía de que se evitarán conexiones no deseadas.
Yo siempre estoy abierto a comentarios y los recibo con mucho gusto. Por favor si tienen comentarios, dudas, preguntas, o lo que sea no duden en dejar un comentario en la entrada o enviarme un correo electrónico.