r...@vtr.net escribió:
Estimados:

El cuento es el siguiente, tengo un proveedor (Telmex) el cual vamos a dar de baja a fin de mes. Todo me funciona bien, mi red interna (usuarios y servidores) sales por mi linux con iptables, cuento corto, ningún problema.

El proveedor nuevo instalo el cablerio nuevo y su aparato (obviamnete hay IP nueva GTD ) y ahí viene el problema.

Acá alojamos varios sitios y mientras no se haga el cambio de todos los sitios a la IP nueva no podemos llegar y cambiar el enlace, por lo que monté otro equipo con Linux + iptables, y lo que quería hacer era redireccionar todas las peticiones al puerto 80 en la IP nueva hacia mi servidor apache.

La ip interna del servidor web es 192.168.0.1, y el Linux + iptables nuevo tiene la 192.168.0.3., por lo que entre ellos se ven sin problemas. El problema viene cuando llega la petición a la IP nueva y la reenvía bien hacia adentro con una regla PREROUTING, pero el server viejo 192.168.0.1 ve que le llego una peticion desde la IP nueva, puerto 80 y por ende trata de contestar usando el GW del proveedor viejo (gateway por defecto) , por lo que la conexión se queda esperando eternamente.

Cuál es el mejor enfoque para tratar este problema? Creo que no me enrede mucho

Gracias!!!


Es mas facil de lo que piensas  (no requieres redirigir puertos)

1) Agrega una nueva interfaz de red a tu maquina y ponle la IP de tu nuevo proveedor (tendras 2 IP, pero un solo GW, el de tu antiguo ISP)
entonces,
2) mediante el comando "ip" crea una segunda tabla de rutas (TABLAX) que tenga el gateway nuevo o el que tu quieras

usa esto si quieres:
#ip route flush table TABLAX
#ip route show table main | grep -Ev ^default | while read ROUTE ; do $RUTA table TABLAX $ROUTE ; done
#ip route add default dev eth1 via $GW_GDT table TABLAX

Esto te creara una nueva tabla de rutas llamada TABLAX.

3) usando iptables --set-mark y la tabla "mangle" marca cada paquete que entre por esa nueva intefaz, con un numero X

4) Asocia todos los paquetes marcados con X a la nueva tabla TABLAX
Algo como #ip rule add fwmark X table TABLAX

Es todo, el kernel hara lo demas, peticiones por la interfaz vieja se iran por la tabla de rutas default "main" (TELMEX) y peticiones que entren por la nueva interfaz se iran por la tabla de rutas TABLAX (GTD).

Suerte!

=====================================
Miguel A. Oyarzo O.
Ingeniería en Redes y Telecomunicaciones
Austro Internet S.A.  &  INALAMBRICA S.A.
Teléfono: [+05661] 710030
Punta Arenas - Chile
Linux User: # 483188 - counter.li.org
=====================================






Responder a