Wechseln zu:Navigation, Suche
Wiki





























De.png
En.png
Fr.png








Portweiterleitung aus internem Netz über externe IP auf internen Server
(hairpinning - auch als NAT loopback oder NAT reflection bezeichnet)
Letzte Anpassung zur Version: 12.6.0
Neu:
  • Aktualisierung zum Redesign des Webinterfaces
notempty
Dieser Artikel bezieht sich auf eine Resellerpreview

12.2 11.7


Vorbemerkungen

Ausgangslage

  • Alle Rechner sind in einem privaten Netzwerk und verstecken sich hinter einer öffentlichen IP-Adresse des Routers.
  • Eine Port Weiterleitung ist eingerichtet und wird dazu genutzt Anfragen, die auf bestimmte Ports der öffentlichen IP-Adresse des Routers gerichtet sind, zum internen Server weiterzuleiten, damit dieser so aus dem Internet erreichbar ist.
  • Eine Portweiterleitung aus einem internen Netzwerk über eine externe IP-Adresse ist über eine Bridge nicht möglich.
    Abhilfe könnte hierbei die Einrichtung einer Forward-Zone im Nameserver der UTM schaffen, sofern die UTM als Nameserver für die internen Clients eingerichtet ist.
    In diesem Fall verweist die externe URL, die von Intern aufgerufen wird direkt auf den Internen Ziel-Server.
    Eine Anleitung zum einrichten der Forward-Zone befindet sich unter Forward-Zone im Nameserver Wiki.
  • Sollte der transparente Proxy oder ein reverse Proxy verwendet werden, ist die Konfiguration über Paketfilter-Regeln nicht möglich.
    In diesem Fall muss, wie oben beschrieben, die UTM als DNS verwendet und eine Forward-Zone eingerichtet werden.
  • Ziel dieses Artikels:

    Ein interner Server soll aus dem internen Netz über die öffentliche IP der Firewall (mit entsprechender Portangabe) erreichbar sein.
    Dieses wird mit Hilfe von hairpinning (auch als NAT loopback oder NAT reflection bezeichnet) bewerkstelligt.
    Hierzu wird eine DestNAT- und eine HideNAT-Regel erstellt.

  • TIPP: Wenn aus dem internen Netz statt der IP-Adresse ein DNS-Name aufgerufen UND die Firewall als Nameserver verwendet wird, ist das Anlegen eines A-Records der bessere Weg.
    Hier muss die Firewall lediglich den Namen zu einer internen Adresse auflösen.
    Die eigentliche Kommunikation geht dann nicht den Umweg über die Firewall sondern findet direkt zwischen Client und Server statt!
    Ein entsprechendes How-To findet sich im Wikiartikel zum Nameserver im Abschnitt Forward-Zone.
  • Das Anlegen von Netzwerkobjekten und Diensten muss natürlich nur dann erfolgen, wenn diese in der hier beschriebenen Form noch nicht auf der Firewall vorhanden sind!
  • Paketfluss

    • Ein PC sendet ein SYN-Paket mit der externen IP-Adresse des internen Servers (hier www) an die UTM ①
    • Die DestNAT-Regel maskiert die Empfänger IP-Adresse und sorgt so dafür, dass das Paket an den internen Server weitergeleitet werden kann.②
    Nat loopback fail.png
    Abb.1 (nur mit DestNAT-Regel)
    • Der Server sendet die Antwort SYN-ACK an die Absender-IP des Paketes: die IP des PCs aus dem internen Netz ③
    • Die Firewall des PCs verwirft das Paket, weil es an die Absenderadresse des SYN-ACK-Paketes (die IP des Servers aus dem internen Netz) kein SYN-Paket gesendet hat.
      oder
    • Der PC hat keine Firewall und sendet sein ACK-Paket an die öffentliche IP des Servers und damit an die UTM
      → Die UTM verwirft das Paket, weil sie kein SYN-ACK-Paket dazu gesehen hat.
    Nat loopback tut.png
    Abb.2 (mit DestNAT und mit HideNAT-Regel)
    • Die HideNAT-Regel hat auch die Absenderadresse verändert.
      Der Server sendet das SYN-ACK-Paket an die UTM zurück ③
    • Die UTM NATtet das Paket und sendet es an den ursprünglichen Absender ④
    • Der PC kann nun sein ACK-Paket erfolgreich an die öffentliche IP des Servers senden.













  • Beide Regeln werden von der Firewall bearbeitet.
    Die erste liegt in der Prerouting Chain (DestNAT), die zweite in der Postrouting Chain (HideNAT) und damit in voneinander unabhängigen Prüfabschnitten. Nur innerhalb eines Abschnittes, kann keine zweite Regel greifen.

  • Konfiguration der Appliance

    Server als Netzwerkobjekt anlegen

    Für eine Portweiterleitung muss es ein Netzwerkobjekt für den Server geben.

    • Anlegen im Menü Netzwerk Netzwerkobjekte  Schaltfläche Objekt hinzufügen
    • Es erscheint die Eingabemaske Netzwerkobjekt hinzufügen.
      Folgende Angaben sind möglich:
    Beschriftung Wert Beschreibung Netzwerkobjekt hinzufügen UTMbenutzer@firewall.name.fqdnFirewallNetzwerkobjekte UTM v12.6 Portumleitung-Intern Netzwerkobjekt hinzufuegen Server.pngNetzwerkobjekt anlegen
    Name: Server Eindeutiger Name
    Typ Host Ein einzelner Host soll angesprochen werden
    Adresse: 192.168.175.10/--- IP-Adresse aus dem internen Netz, über die der interne Server erreichbar ist
    Zone: internal Zone, in welcher der Server steht (z.B.: internal oder dmz)
    Gruppe     Zur besseren Übersicht kann das Netzwerkobjekt einer Gruppe zugeordnet werden.
    Speichern und schließen
    Speichert die Einstellungen und schließt den Dialog


    Firewall-Regeln für die Weiterleitung anlegen

    Damit der entsprechende Port an den Server weitergeleitet wird, muss eine Portweiterleitung als Regel angelegt werden. Konfiguration im Menü Firewall Paketfilter  Schaltfläche Regel hinzufügen

    Beschriftung Wert Beschreibung Regel hinzufügen UTMbenutzer@firewall.name.fqdnFirewallPaketfilter UTM v12.6 Portumleitung-Intern Paketfilterregel hinzufuegen destnat.pngPortweiterleitung
    Quelle Network.svg internal-network Quellnetzwerk, für das der Server erreichbar gemacht werden soll.
    Ziel Host.svg Server Netzwerkobjekt des Zielservers (ggf. wie oben beschrieben zuvor angelegt).
    Dienst Tcp.svg https Dienst, der den gewünschten Port belegt.
    Hier Port 443 → https
    Wird ein individueller Port benötigt, muss dieser mit der Schaltfläche als Dienst neu angelegt werden.
    Weitere Hinweise dazu im Artikel zum Paketfilter, Abschnitt Dienste.
    Aktion ACCEPT Die Aktion muss auf Accept (annehmen) stehen.
    [-] Nat
    Typ DESTNAT Ein einzelner Host soll angesprochen werden
    Netzwerkobjekt Interface.svg external-interface Als Netzwerkobjekt wird das externe Interface ausgewählt (bzw. das Netzwerkobjekt, welches die externe IP inne hat über die der Port weitergeleitet werden soll).
    Dienst Tcp.svg https Dienst, der den gewünschten Zielport belegt.
    Soll hier ein anderer Port als für den Quelldienst verwendet werden und dieser ist nicht bereits als Dienstobjekt angelegt, muss dieser vor dem Erstellen angelegt werden.
    Speichern und schließen
    Speichert die Einstellungen und schließt den Dialog

    Firewall-Regeln für das Hide-NAT anlegen

    Damit der Server die Anfrage auf die öffentliche IP auf dem richtigen Weg beantwortet, muss nun eine Hide-NAT-Regel angelegt werden.
    Mit dieser Regel wird die IP des anfragenden Rechners hinter der IP der Firewall versteckt.
    Dies ist nötig, da sonst die Anfrage mit der internen IP des Rechners an dem Server ankommen würde und dieser dann versuchen würde, die Antwort intern zuzustellen und nicht über die Firewall.
    Regel hinzufügen


    Beschriftung Wert Beschreibung Regel hinzufügen UTMbenutzer@firewall.name.fqdnFirewallPaketfilter UTM v12.6 Portumleitung-Intern Paketfilterregel hinzufuegen hidenat.png
    Quelle Network.svg internal-network Quellnetzwerk, für das der Server erreichbar gemacht werden soll.
    Ziel Host.svg Server Netzwerkobjekt des Zielservers (ggf. wie oben beschrieben zuvor angelegt).
    Dienst Tcp.svg https Dienst, der den gewünschten Port belegt.
    Hier Port 443 → https
    Aktion ACCEPT Die Aktion muss auf Accept (annehmen) stehen.
    [-] Nat
    Typ HIDENAT Das Quellnetzwerk soll genattet werden.
    Netzwerkobjekt Interface.svg internal-interface Als Netzwerkobjekt wird das interne Interface ausgewählt (bzw. das Interface, hinter dem sich der Server befindet, der erreicht werden soll).
    Speichern und schließen
    Speichert die Einstellungen und schließt den Dialog
    Regeln aktualisieren
    Vollendet das Anlegen der neuen Regeln
  • Nachdem der letzte Einrichtungsschritt absolviert wurde, ist die Portweiterleitung aktiv.