Seleccionar página

Probar una nueva versión de un servicio en un nuevo servidor plug/unplug

por | Abr 15, 2016 | Soluciones

Algo muy común  cuando administramos servidores es re-direccionar tráfico.

Supongamos que tenemos un servidor con determinados servicios funcionando. Y queremos migrar o probar en producción una nueva versión que va en un nuevo servidor (por ejemplo porque estamos migrando de tecnología o de versión de servidor, etc…) , pero que sea muy fácil volver a la versión vieja ante cualquier problema no detectado en periodo de test.

Lo normal y más frecuente sería simplemente cambiar la IP en el registro DNS, no obstante si alguien estaba usando la IP en vez del sub-dominio se verá afectado.

 ¿Qué se puede hacer? Simple, re-direccionar el tráfico que reciba ese servidor por ese puerto hacia otro servidor con el mismo puerto.

¿Cómo empezamos?

Lo primero será que debemos tener habilitado el forwarding en el servidor, para ello pondremos lo siguiente:

echo "1" > /proc/sys/net/ipv4/ip_forward

CentOS:
sysctl net.ipv4.ip_forward=1
Luego reiniciaremos la red:

service networking restart

CentOS sería:

service nertwork restart

Ahora ya se puede redireccionar:

iptables -t nat -A PREROUTING -p tcp --dport <puerto receptor> -j DNAT --to-destination <ip final>:<puerto de ip final>

Supongamos que deseamos re-direccionar todo el tráfico que recibe nuestro servidor por el puerto 8080 hacia otro servidor (ej.: 10.2.3.3), que igual recibirá ese tráfico por el 8080 (pues se trata del mismo servicio):

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.2.3.3:8080

El servidor 10.2.3.3 verá que todos los paquetes o peticiones vienen desde la IP del cliente, en caso de que quieran natear las peticiones, o sea, que el 2º servidor vea que las peticiones llegan con la IP del 1er servidor, sería poner además esta segunda línea:

iptables -t nat -A POSTROUTING -j MASQUERADE

 

Otras opciones

Re-direccionar el tráfico que viene de una IP específica:

iptables -t nat -A PREROUTING -s 10.2.3.85 -p tcp --dport 8080 -j DNAT --to-destination

10.2.3.3

:8080

Re-direccionar el tráfico de un segmento de red:

iptables -t nat -A PREROUTING -s 10.2.3.0/24 -p tcp --dport 8080 -j DNAT --to-destination

10.2.3.3

:8080

Re-direccionar el tráfico que llegue por una interfaz específica:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination

10.2.3.3

:8080

Te puede interesar…

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *