Foro

Avatar de Lucas827171
Lucas827171
Mi vida cambió con el ADSL
25-10-2024
Resuelto

Apertura de puertos fuera del rango predeterminado

Hola a todos,   He creado dos servidores DHCP en mi red interna. El primero está configurado en el HGU (192.168.0.0/16) y el segundo en un router independiente que no tiene relación con Movistar, c...
  • Avatar de Theliel
    Theliel
    27-10-2024

    Buenas Lucas827171 

     

    Esto es lo esperable.

     

    Cuando los Router hacen uso de NAT Loopback, generalmente implementan algún "hack" o parche sucio sobre el Router para permitir esto, ya que, de forma burda, implica querer hacer uso de un Router de un modo que no es un Router. Si bien puede ser cómodo en algunos escenarios, digamos que desde un punto de vista técnico no es recomendable, a pesar de que muchos lo usamos (yo incluido)

     

    Pero eso es hablando de hacer NAT Loopback sobre el mismo Router/red, y como bien dices funciona. Pero este no es tu escenario, ya que en tu caso particular lo que tienes es un dispositivo en otra red diferente que está haciendo igualmente NAT, y esto es un problema algo mayor.

     

    Sí, cuando haces uso de NAT loopback en la primera red, el tráfico va a parar al Router y este va a ser capaz de devolverlo al destino que esté especificado en la redirección de puertos, haciendo en el proceso DNAT, es decir cambiando la dirección publica por la dirección IP de tu red local a la que se reenvía. Hasta aquí perfecto, así funciona NAT Loopback.

     

    El problema ahora es quien recoge esto. Para el otro Router, obviemos de momento el servidor proxy inverso, lo que ve es tráfico procedente de un equipo de la red principal con destino un puerto concreto del Router, ese Router a su vez estará redireccionando el tráfico al servidor Web, para ello hará de nuevo DNAT, modificando la IP destino ahora por la IP del servidor Web. Este recibe un paquete con IP de tu equipo y lo devuelve a él. El segundo Router en principio aunque depende de como esté configurado hará el proceso inverso, hará SNAT para cambiar la IP del servidor web a la suya propia, y asumiendo que esté enmascarando el tráfico será una IP Dentro de la red local principal. El problema es que en principio este lo redirigirá al equipo de la red local de arriba, y ese equipo va a rechazar el paquete, porque no ha solicitado en ningún momento tráfico desde la IP del segundo Router. Para el primero equipo, este está esperando tráfico que provenga desde la IP pública.

     

    Para poder permitir esto, el tráfico tendría que fluir del equipo al Router, El Router hacer SNAT/DNAT y enviar el tráfico al segundo Router. EL segundo Router hacer DNAT/SNAT y enviar el tráfico al servidor WEb, el servidor Web a su Router, el segundo Router deshacerlo y al Router principal, y el Router principal deshacerlo y al equipo de la red loca.

     

    Vamos, que es uno de los muchos problemas a solventar debido a estar bajo doble NAT. Esto es sencillo de realizar mediante iptables, aun cuando no podamos modificar directamente el HGU, el router propio no debería de ser problema, y sería tan sencillo como enmascarar el tráfico por ejemplo del segundo Router con la IP pública, por ejemplo, aunque esto podría traer otros problemas.

     

    En cualquier caso lo mejor para todo ello es usar simplemente un analizador de paquetes en el equipo en cuestión y otro en el servidor web, y ver como fluye el tráfico. Si se tiene un Router propio además, mejor aun, un analizador ahí para ver donde está el problema y que regla IPTables hay que intercalar.

     

    Saludos.