Portweiterleitung vom inneren Netzwerk zum inneren Netzwerk (Haarnadel-NAT)


16

Ich habe erfolgreich eine Portweiterleitung auf einem Mikrotik-Router eingerichtet, die jede Anforderung, die an die WAN-IP-Adresse an Port 8844 (sagen wir: 20.20.20.22:8844) von mikrotik geht, in die lokale IP-Adresse und den gleichen Port übersetzt.

Da ich einen DNS-Namen für die WAN-IP-Adresse (20.20.20.22) habe, möchte ich, dass diese Regel auch vom inneren Netzwerk aus funktioniert:

192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844

Ich habe eine Mikrotik-Webseite gefunden, die diese Situation beschreibt: http://wiki.mikrotik.com/wiki/Hairpin_NAT Aber ich konnte nicht dasselbe erreichen.

Hier ist ein Ausdruck der Regel

Bildbeschreibung hier eingeben

Es ist nur ein teilweiser Druckbildschirm, aber alles andere ist nicht gesetzt (leer).

BEARBEITEN: Die Portweiterleitungsregel und die klassische Maskerade auf dem Router sehen folgendermaßen aus:

/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

Antworten:


16

Die Lösung besteht darin, die Portweiterleitung neu zu schreiben, um zu regeln , dass nicht in-interface = ether1-gateway , sondern dst-address-type = local verwendet wird :

/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

Dann fügen Sie die Haarnadel NAT wie im ursprünglichen Beitrag angegeben:

/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

Ich kann das nicht zum Laufen bringen, wenn ich eine Brücke benutze. Irgendwelche Ideen?
— pcunite

@pcunite: habe dies gerade mit RouterOS 6.24 + bridge-local getestet und es funktioniert perfekt!
— LifeofGuenter

@JoudicekJouda Ich habe auch die Anweisungen im Wiki wiki.mikrotik.com/wiki/Hairpin_NAT befolgt, aber sie haben nie gesagt, dass dst-address-type = local für die Portweiterleitungsregel anstelle von in-interface = ether1-gateway verwendet wird . Warum macht das einen Unterschied, frage ich mich?
— Jonathan Komar

0

Nat Masquerade 192.168.111.0/24 bis 192.168.111.0/24 Dies funktioniert für alle Dienste auf einmal. Geben Sie keine Schnittstellen oder Ports an. Der interne Port muss mit dem externen Port identisch sein.


1
Willkommen bei Super User! Ihre Antwort könnte verbessert werden, indem Sie die Implementierung etwas detaillierter erläutern, insbesondere für diejenigen, die mit dem betreffenden System möglicherweise noch nicht vertraut sind.
— Ich sage Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.