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

1165
Matt Reid

Hat jemand Probleme mit dem Zugriff auf den Webserver von lokal über RouterOS mit der Firmware 6.27? Ich hatte bis zum Upgrade auf 6.27 alles gut.

Außerdem funktioniert Hairpin NAT nicht.

1
Können Sie Ihrer Frage weitere Informationen hinzufügen? Was funktionierte nicht mehr richtig? Haben Sie versucht, auf 6.26 zurückzugreifen? Cfinley vor 9 Jahren 0

1 Antwort auf die Frage

0
Paul

Der Schlüssel zu dem Problem ist, dass dstnates früher als verarbeitet wird srcnat. Wenn Daten durchgelaufen sind dstnat, funktionieren die `srcnat-Regeln und nur dann.

Hier ist die Konfiguration, die Hairpin NAT zum Funktionieren bringt:

/ip firewall nat> print Flags: X - disabled, I - invalid, D - dynamic 0 ;;; Hairpin NAT chain=srcnat action=masquerade protocol=tcp src-address=192.168.0.0/24 dst-address=192.168.0.0/24 out-interface=bridge-local log=no log-prefix=""  1 ;;; NAT masquerade for outgoing connections chain=srcnat action=masquerade out-interface=ether1-gateway log=no log-prefix=""  2 ;;; HTTP chain=dstnat action=netmap to-addresses=192.168.0.150 to-ports=80 protocol=tcp dst-address=76.35.222.205 dst-address-type=local dst-port=81 log=no log-prefix="" 

76.35.222.205ist eine falsche Adresse, die meine externe IP-Adresse darstellt. Ich habe versucht, ohne zu arbeiten, aber bei der Verwendung von Hairpin NAT kommt es zu einer Verzögerung von einigen Sekunden.

  • Regel 0 stellt sicher, dass die Antwort an die innere Maschine gesendet wird, die eine Anforderung gesendet hat.
  • Regel 1 ist eine herkömmliche NAT-Maskerade, die mit oder ohne Hairpin-NAT verwendet wird
  • Regel 2 ist Portweiterleitung, unabhängig davon, von wo aus die Verbindung hergestellt wurde.

Wenn Sie einen lokalen HTTP-Server von innen anfragen, funktioniert die Regel 2 zuerst und dann die Regel 0.

Es kann auch sein, dass in Ihren Filterregeln etwas nicht stimmt.