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
=====================================