Reenvío de puertos desde la red interna a la red interna (horquilla NAT)

16

He configurado con éxito un reenvío de puertos en un enrutador Mikrotik que traduce cada solicitud que va a la dirección IP WAN en el puerto 8844 (digamos: 20.20.20.22:8844) de mikrotik a la dirección IP local y al mismo puerto.

Como tengo un nombre DNS para la dirección IP de WAN (20.20.20.22), me gustaría que esta regla también funcione desde la red interna:

192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844

Encontré una página web de Mikrotik que describe esta situación: http://wiki.mikrotik.com/wiki/Hairpin_NAT Pero no pude lograr lo mismo.

Aquí hay una impresión de la regla

ingrese la descripción de la imagen aquí

Es solo una pantalla de impresión parcial, pero todo lo demás no está configurado (en blanco).

EDITAR: la regla de reenvío de puertos y la mascarada clásica en el enrutador se ven así:

/ip firewall nat
add chain=dstnat in-interface=ether1-gateway protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844
add chain=srcnat out-interface=ether1-gateway action=masquerade
Joudicek Jouda
fuente

Respuestas:

16

La solución es reescribir el reenvío de puertos para descartar no usar in-interface = ether1-gateway , pero dst-address-type = local :

/ip firewall nat
add chain=dstnat dst-address-type=local protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844

Luego agregue la horquilla NAT como se especifica en la publicación original:

/ip firewall nat
add chain=srcnat src-address=192.168.111.0/24 \
  dst-address=192.168.111.2 protocol=tcp dst-port=8844 \
  out-interface=bridge-local action=masquerade
Joudicek Jouda
fuente
No puedo hacer que esto funcione si uso un puente. ¿Algunas ideas?
pcunite
@pcunite: ¡acabo de probar esto con RouterOS 6.24 + bridge-local y funciona perfecto!
lifeofguenter
@JoudicekJouda También seguí las instrucciones en el wiki wiki.mikrotik.com/wiki/Hairpin_NAT pero nunca dijeron que usaran dst-address-type = local en la regla de reenvío de puertos en lugar de in-interface = ether1-gateway . ¿Por qué eso hace la diferencia, me pregunto?
Jonathan Komar
0

Nat Masquerade 192.168.111.0/24 a 192.168.111.0/24 esto funciona para todos los servicios a la vez. no especifique interfaces o puerto. el puerto interno debe ser el mismo que el puerto externo.

usuario721084
fuente
1
¡Bienvenido a Super User! Su respuesta podría mejorarse proporcionando un poco más de detalle sobre cómo implementarla, especialmente para aquellos que podrían ser nuevos en el sistema en cuestión.
Digo reinstalar a Mónica el