2009/11/5 <r...@vtr.net>: > 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, No no no: la _tabla_ es PREROUTING, probablemente estás usando DNAT para redirigir a tu servidor en su IP interna. > 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. No no no: en realidad ve que la petición llega desde una IP de internet (y el puerto origen no es 80). Si la IP de origen dice internet, la respuesta se irá por TELMEX en vez de volver por la IP interna, y por eso el DNAT no funciona como una espera... Una solución para tu configuración es cambiar la IP de origen... algo como esto: iptables -N MITABLA iptables -A PREROUTING -p tcp --dport 80 -j MITABLA iptables -A PREROUTING -p tcp --dport 25 -j MITABLA [... etc con el resto de los servicios ...] iptables -A MITABLA -j DNAT --to-destination 192.168.0.1 iptables -A MITABLA -j SNAT --to-source 192.168.0.3 El problema de esta configuración es que todo el tráfico parecerá venir desde el linux con IP 192.168.0.3 en GTD, para efecto de los logs y tal vez de tu aplicación; pero la conectividad funcionará. > Cuál es el mejor enfoque para tratar este problema? Creo que no me enrede > mucho Yo sacaría el linux extra y agregaría las IP's a tu conexión nueva con un switch. Algo como esto: GTD -> switch TELMEX -> switch switch -> SERVIDOR y en el servidor, eth0 -> IP de GTD eth0:1 -> IP de TELMEX ruta default -> la de GTD. Cuando se muera TELMEX, le quitas las IP correspondientes. -- Aldrin Martoq http://aldrin.martoq.cl/