Tabla de contenido
¡Hola de nuevo! Hoy vamos hablar de como no perder visitas durante una migración de hosting de forma muy sencilla para no tener que andar con preocupaciones y problemas con las DNS.
¡Vamos allá!
Un problema típico en las migraciones de hosting
Normalmente cuando te cambias de hosting o de servidor a otro proveedo no puedes conservar tu IP. Esto puede dar lugar a muchos problemas dado que hay que hacer modificaciones en las entradas DNS del dominio. Normalmente estos cambios tardan en propagarse por todo el mundo de 24 a 48 horas. Esto hace que podamos estar accediendo al dominio y viendo el servidor nuevo o el viejo dependiendo del servidor DNS que conteste.
Como puedes entender esto cuando tienes una web que no recoge ningún tipo de dato por parte del usuario puede no ser un problema. Pero en una aplicación, una tienda online, etc… puede llegar a ser un problema ya que puede haber escrituras en la base de datos antigua o en el servidor antiguo.
Como solucionar el problema con las migraciones de hosting
Si tienes acceso root al servidor, solucionar el problema es verdaderamente simple ya que puedes utilizar un truco que mucha gente en el mundo de administración de sistemas ha usado durante mucho tiempo. Puedes utilizar una re dirección de puertos. Esto se puede hacer de muchas formas, entre otras, las siguientes:
- Reglas de IPtables
- Netcat
- Tuneles SSH
- Socat
Como hemos prometido que va a ser sencillo, vamos a enseñaros como hacerlo con socat.
Pero primero explicaremos algunas cosas de socat.
¿Qué es socat?
Es una aplicación que toma el nombre de SOcket CAT. Es un retransmisor multiproposito, una aplicación de línea de comandos que establece dos flujos de bytes bidireccionales y transfiere datos entre ellos.
En resumen, es una aplicación que entre otras cosas puede redirigir puertos (TCP port forwarder), también puede usarse para:
- Pruebas de seguridad (entre otras cosas evadir firewalls y pivotar entre maquinas)
- Crear una interfaz shell entre socket UNIX
- IPv6 relay
¿Cómo se instala socat?
Es muy sencillo, en derivados de debian:
apt-get update && apt-get install socat
En derivados de redhat:
yum install socat
En otro tipo de distribuciones podéis buscar en los repositorios oficiales o compilarlo descargándolo desde aquí.
¿Cómo usamos socat para evitar el problema?
Muy sencillo, si tenemos un host con IP 172.17.0.2 (que es el antiguo) y otro host con IP 172.17.0.3 (el nuevo) y los dos tienen la web en el puerto 80 y queremos redirigir el puerto 80 del servidor antiguo al nuevo con este comando lo podemos hacer así (primero hay que instalarlo como hemos explicado antes):
Lo primero paramos el servicio que está escuchando por el puerto 80 y después ejecutamos:
socat TCP-LISTEN:80,bind:0.0.0.0,fork,reuseaddr TCP:172.17.0.3:80