Wie konfiguriert man die Netzwerkadressübersetzung in OPNsense?
Die Netzwerkadressübersetzung ist der Prozess, bei dem eine [Internet Protocol (IP)-Adresse] auf eine andere abgebildet wird, indem der Header von IP-Paketen während ihrer Übertragung über einen Router geändert wird. Im Rahmen dieser Technik können NAT-Einstellungen nur eine IP-Adresse für ein gesamtes Netzwerk nach außen hin sichtbar machen, wodurch das gesamte interne Netzwerk effektiv maskiert und die Sicherheit erhöht wird. Die Netzwerkadressübersetzung wird häufig in Szenarien mit Fernzugriff verwendet, da sie Adressen spart und gleichzeitig die Sicherheit erhöht. Dies verbessert die Sicherheit und reduziert gleichzeitig die Anzahl der von einem Unternehmen benötigten IP-Adressen.
Network Address Translation (NAT) ist eine Methode zur Trennung externer und interner Netzwerke (WANs und LANs) und zur gemeinsamen Nutzung einer externen IP-Adresse unter den Clients im internen Netzwerk. NAT kann sowohl in IPv4- als auch in IPv6-Netzwerken verwendet werden. Die Übersetzung des Netzwerkpräfixes ist auch für IPv6 verfügbar.
Zusätzlich zu seinen NAT-Funktionen bietet OPNsense auch Next-Generation-Firewall-Funktionen wie Webkontrolle und Anwendungssteuerung. Dies wird von einem externen Tool namens Zenarmor bereitgestellt.
Zenarmor NGFW Das Plug-in für OPNsense ist eines der beliebtesten OPNsense Plug-ins und ermöglicht es Ihnen, Ihre Firewall in Sekundenschnelle auf eine Next Generation Firewall aufzurüsten. NG Firewalls ermöglichen es Ihnen, modernen Cyberangriffen entgegenzuwirken, die jeden Tag raffinierter werden.
Einige der Funktionen sind Layer-7-Anwendungs-/Benutzer-erkennendes Blockieren, granulare Filterrichtlinien, kommerziell hochwertiges Webfiltering mit cloudbasierter KI-gestützter Bedrohungserkennung, Kindersicherungen und die besten Netzwerk-Analysen und -Berichte der Branche.
Zenarmor Free Edition ist kostenlos für alle OPNsense-Nutzer verfügbar.
Die Mehrheit der untenstehenden Optionen verwendet drei verschiedene Adressen: die Quell-, Ziel- und Umleitungsadresse. Diese Adressen werden für die folgenden Zwecke verwendet:
Adresse | Beschreibung |
---|---|
Source | Woher der Verkehr kommt. Dies bleibt häufig auf "beliebig". |
Destination | Wohin der Verkehr geht. Dies ist typischerweise Ihre externe IP-Adresse für eingehenden Verkehr aus der Außenwelt. |
Redirect | Wo der Verkehr umgeleitet werden sollte |
Das Deaktivieren von pf
deaktiviert NAT
auf OPNsense.
-
BINAT: NAT funktioniert typischerweise nur in eine Richtung. Aber wenn Ihre Netzwerke von gleicher Größe sind, können Sie auch bidirektionales BINAT verwenden. Dies kann helfen, Ihre Einrichtung zu vereinfachen. Sie können nur reguläres NAT verwenden, wenn Ihre Netzwerke nicht gleich groß sind.
-
NAT-Reflexion: Wenn ein Benutzer im internen Netzwerk versucht, sich mit einem lokalen Server über die externe IP-Adresse anstelle der internen zu verbinden, kann die NAT-Reflexion die Anfrage so umschreiben, dass die interne IP-Adresse verwendet wird, wodurch ein Umweg vermieden und Regeln angewendet werden, die für tatsächlichen externen Datenverkehr vorgesehen sind.
-
Pool-Optionen: Wenn es mehrere IPs zur Auswahl gibt, ermöglicht diese Option die Kontrolle darüber, welche IP verwendet wird. Der Standard, Round Robin, sendet einfach Pakete nacheinander an einen Server. Diese Option hat keine Wirkung, wenn Sie nur eine externe IP-Adresse haben.
Die OPNsense-Firewall bietet die folgenden Arten von NAT-Konfigurationen an:
-
Portweiterleitung NAT (DNAT)
-
Eins-zu-eins-NAT (1:1 NAT)
-
Outbound NAT (SNAT)
In diesem Artikel werden wir alle diese NAT-Konfigurationen auf OPNsense kurz behandeln und die folgenden praxisnahen Beispiele geben.
-
Portweiterleitungs-Konfiguration in OPNsense für einen über das Internet zugänglichen Webserver.
-
Portweiterleitungs-Konfiguration in OPNsense für SSH- und RDP-Server, die von einer bestimmten IP-Adresse aus zugänglich sind
-
Outbound-NAT-Konfiguration in OPNsense, um bestimmten lokalen Servern den Zugriff auf einen entfernten Dienst zu ermöglichen.
Portweiterleitung in OPNsense
OPNsense Port Forwarding ist ein Dienstprogramm, das die Weiterleitung von eingehendem Internetverkehr von externen Quellen an bestimmte Geräte in Ihrem lokalen Netzwerk erleichtert. Es ermöglicht Ihnen, Hosting-Dienste für Websites oder Spiele anzubieten, sodass sie von außen zugänglich sind. Alle Verbindungen zum internen Netzwerk aus dem Internet werden standardmäßig von der OPNsense-Firewall blockiert. Wenn ein internes System hinter einer Firewall für den Fernzugriff konfiguriert werden muss, sollte Portweiterleitung NAT konfiguriert werden. Sie können die Portweiterleitungsfunktion von OPNsense verwenden, um bestimmte Dienste (Ports) aus dem externen Netzwerk zuzulassen.
Portweiterleitung ist eine Methode, die es ermöglicht, bestimmte Zielports so zu konfigurieren, dass sie immer an bestimmte Knoten weitergeleitet werden. Der Port-Forwarding-Ansatz ermöglicht vollständiges IP-Masquerading, während die Fähigkeit der Dienste, auf eingehenden Verkehr zu reagieren, erhalten bleibt.
Portweiterleitung ist auch als "Destination NAT" oder "DNAT" bekannt. Wenn mehrere Server in einem LAN dieselbe externe IP-Adresse teilen, wird jede Verbindung, die nicht von einem der Server initiiert wird, fehlschlagen, da die Firewall nicht weiß, wohin der Datenverkehr gesendet werden soll. Dies kann durch das Einrichten von Portweiterleitungsregeln behoben werden. Zum Beispiel, um den Webserver Ihrer Organisation hinter der Firewall aus dem Internet zugänglich zu machen, müssen Sie die HTTP(s)-Ports (80/443) an den Server weiterleiten.
Um das Port-Forwarding in OPNsense zu konfigurieren, navigieren Sie zu Firewall → NAT → Port Forward. Eine Übersicht über die Portweiterleitungsregeln finden Sie hier.
Abbildung 1. Portweiterleitungs-Konfiguration in OPNsense
Um neue Portweiterleitungsregeln hinzuzufügen, können Sie auf die Schaltfläche +
in der oberen rechten Ecke klicken.
Die folgenden Felder sind verfügbar, wenn Sie eine Portweiterleitungsregel in OPNsense hinzufügen:
Option | Beschreibung |
---|---|
Disabled | Aktivieren Sie diese Option, um die Regel zu deaktivieren, ohne sie zu entfernen. |
No RDR (NOT) | Das Aktivieren dieser Option verhindert, dass der dem Regelwerk entsprechende Datenverkehr umgeleitet wird, und es wird keine Umleitungsregel erstellt. Hinweis: Diese Option wird selten verwendet; benutze sie nicht, es sei denn, du bist dir sicher, dass du weißt, was du tust. |
Interfacee | Auf welche Schnittstelle die Regel angewendet werden soll. Die meiste Zeit wird dies WAN sein. |
TCP/IP version | |
Protocol | In typischen Szenarien wird dies TCP sein |
Source | Woher der Verkehr kommt. Klicken Sie auf Erweitert , um die anderen Quelleneinstellungen zu sehen |
Source / Invert | Übereinstimmung im Quelle -Feld umkehren. |
Source port range | Wenn zutreffend, der Quellport, mit dem wir übereinstimmen sollten. Dies ist fast immer zufällig und entspricht fast nie dem Zielportbereich (und sollte fast immer 'any' sein). |
Destination / Invert | Übereinstimmung im Ziel -Feld umkehren. |
Destination | Wohin der Verkehr geht |
Destination port range | Serviceport(s), die der Verkehr verwendet. Für diese Zuordnung geben Sie den Port oder den Portbereich für das Ziel des Pakets an, wenn Sie die TCP- oder UDP-Protokolle verwenden. |
Destination / Invert | Wohin der Verkehr umgeleitet werden soll. Geben Sie die interne IP-Adresse des Servers ein, auf den die Ports abgebildet werden sollen. |
Destination port range | Serviceport(s), die der Verkehr nutzt. Für diese Zuordnung geben Sie den Port oder den Portbereich für das Ziel des Pakets an, wenn Sie die TCP- oder UDP-Protokolle verwenden. |
Redirect target IP | Wohin der Verkehr umgeleitet werden soll. Geben Sie die interne IP-Adresse des Servers ein, auf den die Ports abgebildet werden sollen. |
Redirect target port | Welchen Port verwenden (bei Verwendung von TCP und/oder UDP). Geben Sie die Portnummer für die Maschine mit der oben eingegebenen IP-Adresse ein. Im Falle eines Portbereichs geben Sie den Startport des Bereichs an (der Endport wird automatisch berechnet). |
Pool Options | Diese Option wird im vorherigen Abschnitt erklärt. Die Standardeinstellung ist, Round Robin zu verwenden. Nur Round Robin-Typen sind mit Host-Aliasen kompatibel. Subnetze beliebiger Art können verwendet werden. Round Robin: Iteriert über die Übersetzungsadressen. Zufällig: Wählt eine Adresse zufällig aus dem Übersetzungsadresspool aus Quell-Hash: Bestimmt die Übersetzungsadresse durch Hashing der Quelladresse, wodurch sichergestellt wird, dass die Umleitungsadresse für eine gegebene Quelle immer gleich ist. Bitmask: Verwendet die Subnetzmaske, während der letzte Teil gleich bleibt; 172.16.10.50 → x.x.x.50. Sticky Address: Beim Verwenden der Pooltypen Zufällig oder Round Robin stellt die Sticky Address-Option sicher, dass eine bestimmte Quelladresse immer der gleichen Übersetzungsadresse zugeordnet wird. |
Description | Eine Beschreibung, um die Regel in der Übersicht leicht zu finden. |
Set local tag | Sie können ein Paket, das dieser Regel entspricht, markieren und dieses Tag verwenden, um es mit anderen NAT-/Filterregeln abzugleichen. |
Match local tag | Überprüfen, ob ein Tag von einer anderen Regel gesetzt wurde. |
No XMLRPC sync | Verhindern Sie, dass diese Regel mit einem Backup-Host synchronisiert wird. (Checking this on the backup host has no effect.) |
NAT reflection | Diese Option wird im vorherigen Abschnitt erklärt. Lassen Sie dies auf der Standardeinstellung, es sei denn, Sie haben einen guten Grund, dies nicht zu tun. |
Filter rule association | Ordnen Sie dies einer regulären Firewall-Regel zu. |
Eins-zu-eins-NAT
One-to-one NAT, wie der Name schon sagt, wird zwei IP-Adressen eins zu eins übersetzen, anstatt eins zu viele, wie es üblicher ist.
Um das One-to-One NAT in OPNsense zu konfigurieren, navigieren Sie zu Firewall
→ NAT
→ One-to-One
. Eine Übersicht über 1:1 NAT-Regeln finden Sie hier.
Abbildung 2. One-to-One NAT-Konfiguration in OPNsense
Um neue One-to-One NAT-Regeln hinzuzufügen, können Sie auf die Schaltfläche +
in der oberen rechten Ecke klicken.
Die folgenden Felder stehen zur Verfügung, wenn Sie eine 1:1-Zuordnungsregel hinzufügen:
Option | Beschreibung |
---|---|
Disabled | Aktivieren Sie diese Option, um die Regel zu deaktivieren, ohne sie zu entfernen. |
Interface | Auf welche Schnittstelle die Regel angewendet werden soll. Die meiste Zeit wird dies WAN sein. |
Type | BINAT (Standard) oder NAT. |
External network | Geben Sie die Startadresse des externen Subnetzes für die 1:1-Zuordnung oder das Netzwerk ein. Wenn keine Subnetzmaske angegeben ist, wird die Subnetzmaske von der untenstehenden internen Adresse auf diese IP-Adresse angewendet. Dies ist die Adresse oder das Netzwerk, zu dem/aus dem der Datenverkehr übersetzt wird. |
Protocol | In typischen Szenarien wird dies TCP sein |
Source | Geben Sie das interne Subnetz für die 1:1-Zuordnung ein. Die für die Quelle angegebene Subnetzgröße wird auf das externe Subnetz angewendet, wenn kein anderes angegeben ist. |
Source / Invert | Umkehren des Treffers im Quell -Feld. |
Destination / Invert | Umkehren des Treffers im Ziel -Feld. |
Destination | Die Zielnetzwerkpakete sollten übereinstimmen, wenn sie zur Abbildung externer Netzwerke verwendet werden, ist dies normalerweise jedes |
Description | Eine Beschreibung, um die Regel in der Übersicht leicht zu finden. |
NAT reflection | Option wird im vorherigen Abschnitt erklärt. Lassen Sie dies auf den Standardeinstellungen, es sei denn, Sie haben einen guten Grund, dies nicht zu tun. |
Outbound NAT
Outbound NAT ist auch als Source NAT
oder SNAT
bekannt. Wenn ein Client in einem internen Netzwerk eine ausgehende Anfrage sendet, muss das Gateway die Quell-IP auf die externe IP des Gateways ändern, da der externe Server sonst nicht antworten kann.
Wenn Sie nur eine externe IP-Adresse haben, sollten Sie die Optionen für Outbound NAT auf automatisch belassen. Wenn Sie jedoch mehrere IP-Adressen haben, möchten Sie möglicherweise die Einstellungen ändern und einige benutzerdefinierte Regeln hinzufügen.
Um das Outbound NAT in OPNsense zu konfigurieren, navigieren Sie zu Firewall
→ NAT
→ Outbound
. Eine Übersicht über die ausgehenden Regeln finden Sie hier.
Abbildung 3. Outbound-NAT-Konfiguration in OPNsense
Die folgenden Modi stehen für die Konfiguration von Outbound-NAT in OPNsense zur Verfügung:
Outbound-NAT-Modus | Beschreibung |
---|---|
Automatic outbound NAT rule generation | Der Standard und für die meisten Fälle geeignet. |
Manual outbound NAT rule generation | Es werden keine automatischen Regeln generiert. Outbound-NAT-Regeln werden manuell erstellt. |
Hybrid outbound NAT rule generation | Automatische Regeln werden hinzugefügt, aber auch manuelle Regeln können hinzugefügt werden. |
Disable outbound NAT rule generation | Deaktiviert Outbound-NAT. Dies wird zum Beispiel für transparente Brücken verwendet. |
Um neue Outbound-NAT-Regeln hinzuzufügen, können Sie entweder die Option Manual outbound NAT rule generation
oder Hybrid outbound NAT rule generation
auswählen und dann auf die Schaltfläche Save
klicken.
Neue Regeln können hinzugefügt werden, indem Sie auf die +
-Schaltfläche in der oberen rechten Ecke klicken.
Die folgenden Felder stehen zur Verfügung, wenn Sie eine ausgehende Regel hinzufügen:
Option | Beschreibung |
---|---|
Disabled | Aktivieren Sie diese Option, um die Regel zu deaktivieren, ohne sie zu entfernen. |
Do not NAT | Durch Aktivieren dieser Option wird NAT für den Datenverkehr, der dieser Regel entspricht, deaktiviert und die Verarbeitung von ausgehenden NAT-Regeln gestoppt.Hinweis: Diese Option wird selten verwendet; nutzen Sie sie nicht, es sei denn, Sie sind sich sicher, dass Sie wissen, was Sie tun. |
Interface | Auf welche Schnittstelle die Regel angewendet werden soll. Die meiste Zeit wird dies WAN sein. |
TCP/IP-Version | IPv4 oder IPv6. |
Protocol | In typischen Szenarien wird dies TCP sein |
Source | Das Quellnetzwerk, das übereinstimmen soll |
Source / Invert | Invertiere Übereinstimmung im Source -Feld. |
Source port range | Wenn zutreffend, der Quellport, mit dem wir übereinstimmen sollten. Dies ist fast immer zufällig und entspricht fast nie dem Zielportbereich (und sollte fast immer 'any' sein). |
Destination / Invert | Übereinstimmung im Ziel -Feld umkehren. |
Destination | Serviceport, den der Datenverkehr verwendet. |
Destination port range | Pakete, die dieser Regel entsprechen, werden auf die hier angegebene IP-Adresse abgebildet.Wenn Sie möchten, dass diese Regel auf eine andere IP-Adresse anstelle der oben gewählten Schnittstellen-IP-Adresse angewendet wird, wählen Sie sie hier aus. (you will need to define Virtual IP addresses on the interface first). |
Log | Paket, die dieser Regel entsprechen, in die Protokolle aufnehmen. Verwenden Sie dies sparsam, um ein Überlaufen der Protokolle zu vermeiden. |
Pool Options | Diese Option wird im vorherigen Abschnitt erklärt. Die Standardeinstellung ist, Round Robin zu verwenden. Nur Round Robin-Typen sind mit Host-Aliasen kompatibel. Subnetze beliebiger Art können verwendet werden. Round Robin: Iteriert über die Übersetzungsadressen. Zufällig: Wählt eine Adresse zufällig aus dem Pool der Übersetzungsadressen aus. Source Hash: Bestimmt die Übersetzungsadresse durch Hashing der Quelladresse, wodurch sichergestellt wird, dass die Weiterleitungsadresse für eine gegebene Quelle immer gleich bleibt. Bitmask: Verwendet die Subnetzmaske, während der letzte Teil gleich bleibt; 172.16.10.50 → x.x.x.50. Sticky Address: Beim Verwenden der Pooltypen Random oder Round Robin stellt die Option Sticky Address sicher, dass eine bestimmte Quelladresse immer auf dieselbe Übersetzungsadresse abgebildet wird. |
Translation / port | Welchen Port am Ziel verwenden |
Static-port | Verhindert, dass pf(4) den Quellport bei TCP- und UDP-Paketen ändert. |
Set local tag | Setzt ein Tag, das von anderen NAT-Regeln und Filtern überprüft werden kann. |
Match local tag | Überprüft ein von einer anderen Regel gesetztes Tag |
No XMLRPC sync | Verhindert, dass diese Regel mit einem Backup-Host synchronisiert wird. (Das Überprüfen auf dem Backup-Host hat keine Wirkung.) |
Description | Eine Beschreibung, um die Regel in der Übersicht leicht zu finden. |
Praxisbeispiele für NAT-Konfigurationen in OPNsense
In diesem Abschnitt werden wir einige reale Szenarien für die NAT-Konfiguration auf der OPNsense-Firewall vorstellen:
- Portweiterleitung für Webserver
- Portweiterleitung für SSH- und RDP-Dienste auf benutzerdefinierten Ports
- Ausgangs-NAT für den Zugriff auf einen entfernten Dienst über externe IP
So konfigurieren Sie Portweiterleitung für Webdienste
Unternehmen, die ihren Kunden über das Internet einen Dienst anbieten, müssen ihre Anwendungen oder Webserver aus dem Internet zugänglich machen. Angenommen, Ihr Unternehmen hat zwei separate Webserver im DMZ-Netzwerk und eine öffentliche IP-Adresse. Sowohl die HTTP- als auch die HTTPS-Ports auf diesen Webservern sollten von überall auf der Welt über dieselbe öffentliche IP-Adresse zugänglich sein. Um dies zu erreichen, können Sie die Portweiterleitungsregeln in Ihrer OPNsense definieren. Sie können Ihre Regeln so konfigurieren, dass Anfragen, die an die Ports 80 und 443 kommen, an den ersten Webserver weitergeleitet werden, während der zweite Webserver über die Ports 81 und 8443 zugänglich ist. Für diese Konfiguration können Sie die folgenden Schritte unten befolgen.
Servername | Externe IP | Externer Port | Lokale IP | Lokaler Port |
---|---|---|---|---|
WebServer1 | Öffentliche Internet-IP | 80 | 10.10.10.13 | 80 |
WebServer1 | Öffentliche Internet-IP | 443 | 10.10.10.13 | 443 |
WebServer2 | Öffentliche Internet-IP | 81 | 10.10.10.14 | 80 |
WebServer2 | Öffentliche Internet-IP | 8443 | 10.10.10.14 | 443 |
Abbildung 4. Port-Forwarding-Topologie für Webdienste
Nachdem Sie die Portweiterleitungs-Konfigurationen auf Ihrer OPNsense-Firewall abgeschlossen haben, werden HTTP(80) und HTTPS(443) Anfragen an Ihre WAN-IP an WebServer1(10.10.10.13) weitergeleitet, während Anfragen an Port 81 und Port 8443 an Ihre WAN-IP an WebServer2 weitergeleitet werden.(10.10.10.14).
Portweiterleitung für den HTTPS(443)-Dienst von WebServer1
Sie können die folgenden Anweisungen befolgen, um eine Portweiterleitungsregel für den HTTPS-Dienst von WebServer1 hinzuzufügen.
-
Navigieren Sie zu
Firewall
→NAT
→Port Forward
in Ihrer OPNsense-Weboberfläche. -
Klicken Sie auf die
+
-Schaltfläche in der oberen rechten Ecke. Dies öffnet das Konfigurationsfenster für die Portweiterleitung.Abbildung 5. Konfiguration der Portweiterleitungsregel für HTTPS in OPNsense-1
-
Stellen Sie die Schnittstelle auf
WAN
ein. -
Stellen Sie die TCP/IP-Version auf
IPv4
ein. -
Stellen Sie das Protokoll auf
TCP
ein. -
Stellen Sie das Ziel auf
WAN Address
ein. -
Setzen Sie den Zielportbereich auf
HTTPS
. -
Wählen Sie
Single Host or Network
aus dem Dropdown-Menü für die Weiterleitungsziel-IP aus. Setzen Sie dann das Feld auf die private IP-Adresse von WebServer1, wie zum Beispiel10.10.10.13
. -
Setzen Sie den Weiterleitungszielport auf
HTTPS
.Abbildung 6. Konfiguration der Portweiterleitungsregel für HTTPS in OPNsense-2
-
Sie können das Protokollieren aktivieren, indem Sie das Kontrollkästchen in der Protokoll-Option anklicken.
-
Füllen Sie das Beschreibungsfeld aus, zum Beispiel
Allow HTTPS access to Webserver_10.10.10.13
. -
Wählen Sie
Add associated filter rule
aus der Option Filterregelverknüpfung. -
Lassen Sie die anderen Optionen auf den Standardeinstellungen.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 7. Konfiguration der Portweiterleitungsregel für HTTPS in OPNsense-3
Portweiterleitung für den HTTP(80)-Dienst von WebServer1
Um eine Portweiterleitungsregel für den HTTP(80)-Dienst von WebServer1 zu erstellen, können Sie die Portweiterleitungsregel für den oben erstellten HTTPS(443)-Dienst klonen und die entsprechenden Einstellungen gemäß den unten angegebenen Schritten ändern.
Abbildung 8. Liste der Portweiterleitungsregeln in OPNsense
- Klicken Sie auf das Klon-Symbol, um die Portweiterleitungsregel für den oben erstellten HTTPS(443)-Dienst zu kopieren.
- Ändern Sie die Option Zielportbereich auf
HTTP
.
Abbildung 9. Konfiguration der Portweiterleitungsregel für HTTP in OPNsense-1
-
Setzen Sie den Zielport für die Weiterleitung auf
HTTP
. -
Ändern Sie das Beschreibungsfeld in
Allow HTTP access to Webserver_10.10.10.13
. -
Überprüfen Sie, ob die Option zur Zuordnung der Filterregel auf
Add associated filter rule
eingestellt ist. -
Lassen Sie die anderen Optionen unverändert.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 10. Konfiguration der Portweiterleitungsregel für HTTP in OPNsense-2
Portweiterleitung für den HTTP-Dienst von WebServer2 auf benutzerdefiniertem externen Port(81)
Um eine Portweiterleitungsregel für den HTTP-Dienst von WebServer2 auf dem benutzerdefinierten Port (81) zu erstellen, können Sie die Portweiterleitungsregel für den oben erstellten HTTP-Dienst (80) klonen und die entsprechenden Einstellungen gemäß den nachstehenden Schritten ändern.
Abbildung 11. Liste der Portweiterleitungsregeln in OPNsense
-
Klicken Sie auf das Klon-Symbol, um die Portweiterleitungsregel für den oben erstellten HTTP(80)-Dienst zu kopieren.
-
Ändern Sie die Option Zielportbereich auf
other
und geben Sie81
in das entsprechende Feld ein.Abbildung 12. Konfiguration der Portweiterleitungsregel für HTTP(81) in OPNsense-1
-
Setzen Sie die Weiterleitungsziel-IP auf
10.10.10.14
-
Setzen Sie den Weiterleitungszielport auf
HTTP
. -
Ändern Sie das Feld Beschreibung in
Allow HTTP access to Webserver_10.10.10.14
. -
Überprüfen Sie, ob die Option zur Zuordnung der Filterregel auf
Add associated filter rule
eingestellt ist. -
Lassen Sie die anderen Optionen unverändert.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 13. Konfiguration der Portweiterleitungsregel für HTTP(81) in OPNsense-2
Portweiterleitung für den HTTPS-Dienst von WebServer2 auf benutzerdefiniertem externen Port (8443)
Um eine Portweiterleitungsregel für den HTTPS-Dienst von WebServer2 auf einem benutzerdefinierten externen Port (8443) zu erstellen, können Sie die oben erstellte Portweiterleitungsregel für den HTTP-Dienst (81) klonen und die entsprechenden Einstellungen ändern, indem Sie die unten angegebenen Schritte befolgen.
Abbildung 14. Liste der Portweiterleitungsregeln in OPNsense
-
Klicken Sie auf das Klon-Symbol, um die Portweiterleitungsregel für den oben erstellten HTTP(81)-Dienst zu kopieren.
-
Ändern Sie die Option Zielportbereich auf
8443
.Abbildung 15. Konfiguration der Portweiterleitungsregel für HTTP(8443) in OPNsense-1
-
Setzen Sie den Weiterleitungszielport auf
HTTPS
. -
Ändern Sie das Feld Beschreibung in
Allow HTTPS access to Webserver_10.10.10.14
. -
Überprüfen Sie, ob die Option zur Zuordnung der Filterregel auf
Add associated filter rule
eingestellt ist. -
Lassen Sie die anderen Optionen unverändert.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 16. Konfiguration der Portweiterleitungsregel für HTTP(8443) in OPNsense-2Jetzt haben Sie die Portweiterleitungs-Konfigurationen beider Webserver abgeschlossen. Ihre Liste der Portweiterleitungsregeln sollte so aussehen.
Abbildung 17. Liste der Portweiterleitungsregeln für Webserver in OPNsense
-
Klicken Sie oben rechts auf der Seite auf
Apply Changes
, um die Einstellungen zu aktivieren.infoDa wir die Option „Verwandte Filterregel hinzufügen“ ausgewählt haben, werden die entsprechenden Firewall-Regeln automatisch auf der WAN-Schnittstelle erstellt. Um die automatisch hinzugefügten zugehörigen Regeln anzuzeigen, navigieren Sie zu
Firewall
→Rules
→WAN
. Die Liste der Firewall-Regeln auf WAN Schnittstellen sollte wie folgt aussehen:Abbildung 18. WAN-Firewall-Regeln für die Portweiterleitung des Webservers in OPNsense
tippObwohl interne Benutzer auf die Webserver zugreifen sollten, indem sie sich mit der privaten IP-Adresse (lokale IP) der Server verbinden, könnten sie versuchen, sich mit einem lokalen Server über die öffentlichen IP-Adressen zu verbinden. Um lokalen Benutzern den Zugriff auf die öffentlichen IP-Adressen dieser Server zu ermöglichen, müssen Sie die NAT-Reflexion zulassen. Für NAT-Reflexion sollten Sie zuerst die NAT-Reflexion aktivieren, indem Sie die Option
Reflection for port forwards
auf der SeiteFirewall
→Settings
→Advanced
auswählen.Abbildung 19. Aktivierung der Reflexion für Port-WeiterleitungenDann sollten Sie die Schnittstelle auswählen, auf der sich die lokalen Benutzer befinden, wie z.B. LAN, sowie die WAN-Schnittstelle während der Konfiguration der Portweiterleitungsregel.
Abbildung 20. NAT-Reflexion
Abbildung 21. NAT-Reflexion ist in der Portweiterleitungsregel aktiviert
So konfigurieren Sie die Portweiterleitung für SSH- und RDP-Dienste auf benutzerdefinierten Ports
Angenommen, ein Webadministrator benötigt von zu Hause aus Remote-Zugriff (SSH & RDP) auf die Webserver. Er verwendet eine statische öffentliche IP-Adresse zu Hause. Da Verwaltungsdienste wie SSH und RDP kritisch sind und ein hohes Sicherheitsrisiko darstellen, wird empfohlen, dass sie nicht aus dem gesamten Internet zugänglich sind. Infolgedessen werden Sie eine Portweiterleitungsregel erstellen, um der IP-Adresse des Webadministrators die Verbindung zu den Webservern zu ermöglichen. Außerdem, da die Standardports bereits für den Zugriff auf andere Server verwendet werden, müssen Sie die SSH- und RDP-Dienste auf benutzerdefinierten Ports aktivieren.
Servername | Externe IP | Externer Port | Lokale IP | Lokaler Port | Client-IP |
---|---|---|---|---|---|
WebServer1 | Öffentliche Internet-IP | 2222 | 10.10.10.13 | 22 | 1.1.1.1 |
WebServer2 | Öffentliche Internet-IP | 5555 | 10.10.10.14 | 3389 | 1.1.1.1 |
Abbildung 22. Port-Forwarding-Topologie für SSH- und RDP-Dienste
Nachdem Sie die Portweiterleitungs-Konfigurationen in Ihrer OPNsense-Firewall abgeschlossen haben, werden Port 2222-Anfragen, die von der IP-Adresse des Webadministrators (1.1.1.1) an Ihre WAN-IP gesendet werden, an den WebServer1 (10.10.10.13) weitergeleitet, während Port 5555-Anfragen, die von der IP-Adresse des Webadministrators (1.1.1.1) an Ihre WAN-IP gesendet werden, an den WebServer2 weitergeleitet werden.(10.10.10.14).
Portweiterleitung für den SSH-Dienst von WebServer1 auf benutzerdefiniertem externen Port(2222)
Um eine Portweiterleitungsregel für den SSH-Dienst von WebServer1 auf dem benutzerdefinierten Port (2222) zu erstellen, können Sie die Portweiterleitungsregel für den oben erstellten HTTP-Dienst (80) klonen und die entsprechenden Einstellungen gemäß den unten angegebenen Schritten ändern.
-
Klicken Sie auf das Klon-Symbol, um die Portweiterleitungsregel für den oben erstellten HTTP(80)-Dienst zu kopieren.
-
Klicken Sie auf die Schaltfläche
Erweitert
in der OptionQuelle
. Dies zeigt die Details der Quelle-Option an. -
Wählen Sie
Einzelner Host oder Netzwerk
aus dem Dropdown-Menü Quelle. -
Geben Sie die statische öffentliche IP-Adresse des Webadministrators ein, z. B. 1.1.1.1/32.
-
Lassen Sie den Quellportbereich auf
any
.Abbildung 23. Konfiguration der Portweiterleitungsregel für SSH(2222) in OPNsense-1
-
Ändern Sie die Option Zielportbereich auf
2222
. -
Setzen Sie den Weiterleitungszielport auf
SSH
. -
Ändern Sie das Beschreibungsfeld in
Allow SSH access to Webserver_10.10.10.13
.Abbildung 24. Konfiguration der Portweiterleitungsregel für SSH(2222) in OPNsense-2
-
Überprüfen Sie, ob die Option zur Zuordnung der Filterregel auf
Add associated filter rule
eingestellt ist. -
Lassen Sie die anderen Optionen unverändert.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 25. Konfiguration der Portweiterleitungsregel für SSH(2222) in OPNsense-3
Portweiterleitung für den RDP-Dienst von WebServer2 auf benutzerdefiniertem externen Port(5555)
Um eine Portweiterleitungsregel für den RDP-Dienst des WebServer2 auf dem benutzerdefinierten Port (5555) zu erstellen, können Sie die Portweiterleitungsregel für den SSH-Dienst (2222), die oben erstellt wurde, klonen und die entsprechenden Einstellungen gemäß den unten angegebenen Schritten ändern.
-
Klicken Sie auf das Klon-Symbol, um die Portweiterleitungsregel für den oben erstellten SSH(2222)-Dienst in der Liste der Portweiterleitungsregeln zu kopieren.
-
Ändern Sie die Option Zielportbereich auf
5555
. -
Setzen Sie die Weiterleitungsziel-IP auf die lokale IP-Adresse von WebServer2, wie zum Beispiel 10.10.10.14.
-
Setzen Sie den Umleitungszielport auf
MS RDP
. -
Ändern Sie das Beschreibungsfeld in
Allow RDP access to Webserver_10.10.10.14
.Abbildung 26. Konfiguration der Portweiterleitungsregel für MS-RDP(5555) in OPNsense-1
-
Überprüfen Sie, ob die Option zur Zuordnung der Filterregel auf
Add associated filter rule
eingestellt ist. -
Lassen Sie die anderen Optionen unverändert.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 27. Konfiguration der Portweiterleitungsregel für SSH(2222) in OPNsense-3Jetzt haben Sie die Portweiterleitungsregeln für beide Verwaltungsdienste konfiguriert.
Ihre Liste der Portweiterleitungsregeln sollte so aussehen.
Abbildung 28. Liste der Portweiterleitungsregeln für Webserver in OPNsense
-
Klicken Sie auf
Apply Changes
in der oberen rechten Ecke der Seite, um die Einstellungen zu aktivieren.infoDa wir die Option
Add associated filter rule
ausgewählt haben, werden die entsprechenden Firewall-Regeln automatisch auf der WAN-Schnittstelle erstellt. Um die automatisch hinzugefügten zugehörigen Regeln anzuzeigen, navigieren Sie zuFirewall
→Rules
→WAN
. Die Liste der Firewall-Regeln auf WAN-Schnittstellen sollte wie folgt aussehen:Abbildung 29. WAN-Firewall-Regeln für SSH- und RDP-Zugriff in OPNsenseBitte geben Sie den zu übersetzenden Text ein.
Outbound NAT zum Zugriff auf einen Remote-Dienst über eine spezifische externe IP-Adresse
Angenommen, einer Ihrer Anwendungsserver (WebServer1 mit der IP-Adresse 10.10.10.13) muss über das Internet eine Verbindung zu einer MySQL-Datenbank in einem anderen Unternehmensnetzwerk herstellen. Jedoch müssen Sie gemäß den Vereinbarungen zwischen Ihrem Unternehmen und dem anderen Unternehmen sicherstellen, dass der entfernte MySQL DB-Server (öffentliche IP-Adresse: 3.3.3.3) nur von WebServer1 aus zugänglich ist und dass keine anderen Geräte in Ihrem LAN auf die entfernte DB zugreifen können.
Um dies zu erreichen, benötigen Sie zunächst eine zweite öffentliche IP-Adresse, die verwendet wird, um WebServer1 den Zugriff auf die entfernte MySQL-Datenbank zu ermöglichen. Weil Ihre erste öffentliche IP-Adresse für den Internetzugang der lokalen Benutzer und Server verwendet wird. Wir werden die 2.2.2.2
als unsere zweite IP-Adresse verwenden und WebServer1 wird sich mit dieser externen IP-Adresse mit der entfernten MySQL-Datenbank verbinden.
Pakettyp | Quell-IP vor NAT | Ziel-IP vor NAT | Quell-IP nach NAT | Ziel-IP nach NAT |
---|---|---|---|---|
MySQL-Anfrage | 10.10.10.13 | 3.3.3.3 | 2.2.2.2 | 3.3.3.3 |
MySQL-Antwort | 3.3.3.3 | 2.2.2.2 | 3.3.3.3 | 10.10.10.13 |
Abbildung 30. Outbound NAT/SNAT-Topologie zum Zugriff auf einen entfernten Datenbankserver
Sie können die folgenden Schritte befolgen:
-
Definieren Sie einen Alias, wie zum Beispiel
RemoteCompany_DB
. Für weitere Informationen zur Erstellung eines Alias, lesen Sie bitte den Artikel Wie man die OPNsense-Firewall konfiguriert. -
Um eine virtuelle IP-Adresse für Ihre zweite öffentliche IP-Adresse zu erstellen, navigieren Sie zu
Interfaces
→Virtual IPs
→Settings
. -
Klicken Sie auf das
+
-Symbol, um eine virtuelle IP-Adresse hinzuzufügen.Abbildung 31. Hinzufügen einer virtuellen IP-Adresse in OPNsense
-
Wählen Sie
IP Alias
als Modus. -
Wählen Sie
WAN
als Schnittstelle. -
Setzen Sie die Adresse auf Ihre zweite öffentliche IP-Adresse, die von Ihrem WebServer1 zum Zugriff auf den Datenbankserver verwendet wird, wie zum Beispiel
2.2.2.2/32
. -
Geben Sie
WAN VIP_2.2.2.2
im Feld Beschreibung ein. -
Lassen Sie die anderen Optionen auf den Standardeinstellungen.
-
Klicken Sie auf
Save
.Abbildung 32. Konfiguration der virtuellen IP-Adresse in OPNsense
-
Klicken Sie auf
Apply Changes
, um die VIPs-Einstellungen zu aktivieren.Abbildung 33. Einstellungen der virtuellen IP-Adresse in OPNsense
-
Navigieren Sie zu
Firewall
→NAT
→Outbound
, um Outbound NAT zu definieren. -
Wählen Sie die Option
Hybrid outbound NAT rule generation
. -
Klicken Sie auf die Schaltfläche
Save
.Abbildung 34. Einstellung des Outbound-NAT-Modus in OPNsense
-
Klicken Sie auf das
+
-Symbol, um eine manuelle Outbound-NAT-Regel hinzuzufügen. -
Setzen Sie die Schnittstelle auf
WAN
. -
Setzen Sie die TCP/IP-Version auf
IPv4
. -
Setze Protokoll
TCP
. -
Quelle hinzufügen zu
Single Host or Network
-
Geben Sie die IP-Adresse des WebServers1 ein, z.B.
10.10.10.13/32
. -
Setzen Sie den Quellport auf
any
.Abbildung 35. Definieren einer Outbound-NAT-Regel in OPNsense -1
-
Wählen Sie die Zieladresse als
RemoteCompany_DB
. -
Wählen Sie den Zielport als
MySQL
. -
Wählen Sie
2.2.2.2 (WAN IP_2.2.2.2)
für die Übersetzung / Ziel aus -
Protokollierung aktivieren.
Abbildung 36. Definieren einer ausgehenden NAT-Regel in OPNsense -2
-
Geben Sie
Remote MySQL DB access
in das Beschreibungsfeld ein. -
Klicken Sie auf
Save
-
Klicken Sie auf
Apply Changes
, um die Outbound-NAT-Regel zu aktivieren.
Ihre Liste der Outbound-NAT-Regeln sollte ungefähr so aussehen:
Abbildung 37. Manuelle Outbound-NAT-Regeln in OPNsense
Wenn WebServer1 versucht, eine Verbindung zu einem entfernten Datenbankserver herzustellen, sollten Sie in Ihren Firewall-Protokollen sehen, dass es die DB über die IP-Adresse 2.2.2.2
verbindet. Um die Firewall-Protokolle anzuzeigen, navigieren Sie zu Firewall
→ Protokolldateien
→ Live-Ansicht
. Ihre Protokolle sehen so aus.
Abbildung 38. Live-Protokollansicht der Firewall in OPNsense
Wie behebt man Probleme mit dem ausgehenden NAT auf OPNsense?
Wenn Ihr OPNsense Outbound NAT nicht wie erwartet funktioniert, können Sie die folgenden Fehlerbehebungsmaßnahmen in Betracht ziehen:
- Überprüfen Sie die Firewall-Regeln: Stellen Sie sicher, dass die Firewall-Regeln für ausgehenden Datenverkehr korrekt konfiguriert sind. Überprüfen Sie, ob die Regeln den Verkehr von der gewünschten Quelle und dem gewünschten Ziel zulassen und ob der richtige ausgehende NAT-Modus ausgewählt ist.
- Überprüfen Sie die NAT-Konfiguration: Überprüfen Sie die ausgehende NAT-Konfiguration, einschließlich der Schnittstellenzuweisungen und der Quell-/Zielregeln. Stellen Sie sicher, dass der NAT-Modus auf "Automatisch" oder "Manuell" eingestellt ist, je nach Bedarf.
- Überprüfen Sie die Schnittstellenkonfiguration: Bestätigen Sie, dass die Schnittstelleneinstellungen für die WAN- und LAN-Schnittstellen korrekt sind, einschließlich der IP-Adressen, Subnetzmasken und Standard-Gateways.
- Überprüfen Sie die DNS-Auflösung: Stellen Sie sicher, dass die DNS-Auflösung auf der OPNsense-Firewall korrekt funktioniert. Wenn DNS nicht richtig aufgelöst wird, funktioniert das ausgehende NAT möglicherweise nicht wie erwartet.