Wie man Port-Forwarding auf OPNSense einrichtet

NAT oder Network Address Translation (Netzwerkadressübersetzung) ist der Prozess, bei dem ein IP-Adressraum in einen anderen umgewandelt wird, indem die Netzwerkadressinformationen in den IP-Header-Paketen geändert werden. NAT ermöglicht es einem LAN-Netzwerk, einen Satz von IP-Adressen für den internen Verkehr und einen zweiten Satz von Adressen für den externen Verkehr zu verwenden.

In einem gängigen Szenario ermöglicht NAT einem privaten LAN den Zugang zum öffentlichen Internet. Dies wird als „Outbound NAT“ bezeichnet. Und er erlaubt dem öffentlichen Internet den Zugriff auf den Server in einem privaten LAN. Das wird „Port Forward“ genannt.

Standardmäßig ist das Outbound NAT auf dem OPNSense aktiviert. Wenn du deine Firewall richtig konfiguriert hast, hat das private LAN bereits eine Internetverbindung über die WAN-Schnittstelle von OPNSense. Alle ausgehenden Internetverbindungen aus dem privaten LAN werden als OPNSense WAN IP-Adresse erkannt.

Diese Anleitung zeigt dir, wie du NAT Port Forwarding auf dem OPNSense Firewall Router einrichtest. Wir werden dem öffentlichen Internet erlauben, auf den Server im privaten LAN zuzugreifen. Erlaube SSH- und HTTP-Verbindungen vom öffentlichen Internet zum Server im privaten LAN.

1. Konfiguration der Umgebung

Für diesen Leitfaden haben wir bereits OPNSense auf VirtualBox installiert und den Ubuntu Server im privaten LAN von OPNSense laufen lassen.

Im Folgenden findest du eine detaillierte Netzwerkkonfiguration für den OPNSense-Firewall-Router und den Ubuntu-Server.

OPNSense Firewall Router

  • LAN IP: 10.5.5.1/24
  • WAN IP: 192.168.1.25/24
  • DHCP: AN
  • DHCP Bereich IP: 10.5.5.10-10.5.5.50

Ubuntu-Server

  • Schnittstelle: eth0
  • LAN IP: 10.5.5.11/24

2. Ubuntu Server testen

Zunächst stellen wir sicher, dass die Verbindung auf dem Ubuntu-Server korrekt funktioniert, indem wir seine IP-Adresse und die Standardroute des Netzwerks überprüfen.

Führe den folgenden Befehl auf dem Ubuntu Server aus.

ifconfig
route -n

Du erhältst dann das unten stehende Ergebnis.

Der Ubuntu Server mit der IP-Adresse„10.5.5.11“ und dem Standard-Gateway„10.5.5.1„.

Als Nächstes testest du die Internetverbindung des Ubuntu-Servers mit dem unten stehenden Ping-Befehl.

ping -c3 10.5.5.1
ping -c3 howtoforge.com

Unten siehst du das Ergebnis.

Der Ubuntu-Server im privaten LAN hat eine Internetverbindung durch den OPNSense Firewall-Router.

3. NAT Port Forwarding für den SSH-Dienst erstellen

In diesem Schritt erstellst du die NAT-Port-Weiterleitung für die SSH-Verbindung zum Ubuntu-Server.

Melde dich mit deinem Root-Benutzer und deinem Passwort im OPNSense Web-Admin-Dashboard an.

https://10.5.5.1:8443/

Beachte:

Ersetze den Port„8443“ durch deinen eigenen Port, denn das ist der benutzerdefinierte Port für das OPNSense Admin Dashboard.

Als Nächstes erstellen wir die NAT-Portweiterleitung auf der WAN-Schnittstelle, Port 22, und jede eingehende Verbindung zur WAN-IP-Adresse auf Port 22 wird an die private LAN-IP-Adresse „10.5.5.11“, Port 22, weitergeleitet.

Klicke auf der linken Seite auf das Menü„Firewall > NAT > Port Forward„.

Klicke nun auf die Schaltfläche„Hinzufügen„, um eine neue NAT Port Forwarding Regel hinzuzufügen.

Erstelle nun die NAT Port Forwarding-Konfiguration für den SSH-Dienst wie unten dargestellt.

Interface: WAN
TCP/IP Version: IPv4
Protocol: TCP

Destination: WAN Address
Destination Port Range: SSH

Redirect target IP: 10.5.5.11
Redirect target Port: SSH

Description: NAT SSH to Ubuntu Server

Klicke unten auf die Schaltfläche„Speichern“ und du wirst zur Seite „Portweiterleitung“ weitergeleitet. Klicke auf die Schaltfläche„Änderungen übernehmen„, um die neue Konfiguration anzuwenden. Die NAT-Portweiterleitung für den SSH-Zugang zum Ubuntu-Server wurde erstellt und angewendet.

Als Nächstes versuchen wir, mit dem folgenden ssh-Befehl über die WAN-IP-Adresse von OPNSense auf den Ubuntu-Server zuzugreifen.

ssh hakase@192.168.1.25
Type Your Password:

Du wirst über das OPNSense NAT Port Forwarding in den Ubuntu Server im privaten LAN eingeloggt.

Teste den Server mit dem Befehl ifconfig und du wirst die gleichen Ergebnisse wie oben erhalten (siehe Abschnitt 1).

ifconfig
route -n

Die NAT-Port-Weiterleitung für den SSH-Dienst zum Ubuntu Server ist eingerichtet. Du kannst dich von außerhalb des Netzwerks mit dem Ubuntu Server verbinden.

4. NAT-Port-Weiterleitung für den HTTP-Dienst erstellen

Bevor wir die NAT-Regel für den HTTP-Dienst erstellen, installieren wir den Nginx-Webserver auf dem Ubuntu-Server.

sudo apt install nginx -y

Sobald die Installation abgeschlossen ist, gehst du in das siteroot-Verzeichnis „/var/www/html“ und erstellst eine neue benutzerdefinierte Seite „index.html“.

cd /var/www/html
echo "<h1><center>Ubuntu Server - NAT Port Forwarding to HTTP Service</center></h1>" > index.html

Danach gehst du zurück zum OPNSense Administrations-Dashboard.

Klicke auf das Menü„Firewall > NAT > Port Forward“ auf der linken Seite.

Klicke jetzt auf die Schaltfläche„Hinzufügen„, um eine neue NAT Port Forwarding-Regel hinzuzufügen.

Erstelle nun die NAT Port Forwarding-Konfiguration für den HTTP-Dienst wie unten dargestellt.

Interface: WAN
TCP/IP Version: IPv4
Protocol: TCP

Destination: WAN Address
Destination Port Range: HTTP

Redirect target IP: 10.5.5.11
Redirect target port: HTTP

Description: NAT HTTP to Ubuntu Server

Klicke auf der unteren Seite auf die Schaltfläche„Speichern“ und du wirst zur Seite „Portweiterleitung“ weitergeleitet. Klicke auf die Schaltfläche„Änderungen übernehmen„, um die Änderungen anzuwenden. Die NAT-Portweiterleitung für den HTTP-Dienst wurde hinzugefügt.

Als nächstes öffnest du deinen Webbrowser und gibst die OPNSense WAN IP-Adresse ein.

http://192.168.1.25/

Du erhältst dann das unten stehende Ergebnis.

Damit ist der Nginx HTTP-Webserver im privaten Netzwerk von außen über den OPNSense Firewall-Router erreichbar.

Jetzt kannst du versuchen, eine weitere NAT-Portweiterleitung für deine Anwendung über den OPNSense-Firewall-Router einzurichten.

Referenz

Das könnte dich auch interessieren …