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.