Zugriff auf ein Modem hinter Ubiquiti USG

geschrieben von Alexander Grözinger

Mittwoch, 23 Januar 2019 06:44 Publiziert in Technik-Ecke

Es kursieren im Netz einige verschiedene Lösungen, um es zu ermöglichen, ein Modem anzusprechen, das vor dem Router hängt. In diesem Fall ist der Router ein UniFi Security Gateway (USG). Ich stand vor demselben Problem und habe letztlich eine Lösung gefunden, die ich sehr elegant finde. 

Viele Vorschläge basieren darauf, eine Route zwischen USG und Modem, in diesem Fall einem Draytek Vigor 165 (Vigor) einzurichten. Dazu müssen Einstellungen an beiden Geräten vorgenommen werden. Zum Einen muss eine Route vom USG zum Vigor eingerichtet werden, zum Anderen eine Route zurück vom Vigor zum USG. Oftmals war es auch so, dass die Route vom USG zum Modem nur temporär war, und nach einem Neustart des USG zuerst per SSH wieder eingerichtet werden musste. Die hier beschriebene Lösung ist dauerhaft und eine Konfiguration erfolgt nur auf der Seite des USG. Vor allem aber, kann sie universell für jedes Gerät genutzt werden und ist nicht auf den Vigor beschränkt. Wichtig ist nur, dass die IP-Einstellungen entsprechend passen.

 

 

Um Zugriff auf ein Modem zu bekommen, welches sich außerhalb des eigentlichen LAN Netzwerkes befindet, wird auf dem WAN-Port des USG eine virtuelle Schnittstelle eingerichtet. Wichtig ist, dass für die virtuelle Schnittstelle der WAN-Port benutzt wird, denn genau dieser Port stellt ja die Verbindung zum Modem her. Die virtuelle Schnittstelle erstellt quasi ein "Mini-LAN" über das Modem und USG kommunizieren können. Da das USG sowohl das eigentliche LAN-Netzwerk, als auch das Mini-LAN kennt, weiß es auch, wie es den Datenverkehr zwischen beiden Netzwerken verteilen muss. Es fehlt nur eine Sache: Das Modem weiß nicht, wie es über das Mini-LAN mit dem USG kommunizieren kann. Die oft beschrieben Lösung: auf dem Modem wird eine statische Route zum USG einrichtet. Aber wie wäre es denn, wenn wir das USG so einrichten, dass das Modem gar nicht wissen muss, wie es mit dem USG kommunizieren kann? Richtig, zum Einen müssen wir die Konfiguration dann nur auf einer Seite vornehmen, nämlich auf Seite des USG und zum anderen würde diese Lösung auch funktionieren, wenn man am Modem selbst keine statische Route zurück auf's USG einrichten kann (wie es bei manchen Modellen der Fall ist).

Grundlegendes:

Der Adressbereich des eigentlichen LAN-Netzwerks und das Netzwerk des Modem's müssen sich unterscheiden, jedoch im gleichen Subnet liegen. Außerdem brauchen wir eine IP-Adresse, die das USG im Adressbereich des Modem's einnimmt.

UmgebungAddressbereich
Heimnetzwerk: (UniFi) 192.168.1.1/24
DraTek Vigor 192.168.2.1/24
IP-Adresse des USG im Adressbereich des Modems: 192.168.2.100

1. Konfigurationsdatei anlegen

Um zu erreichen, dass die Einstellungen permanent sind, musst du eine Konfigurationsdatei erzeugen. Dies klingt schwieriger als es tatsächlich ist. Eine offizielle Anleitung von ubnt findest du hier. Lass uns nun die Konfigurationsdatei erzeugen. Öffne dazu einen Texteditor deiner Wahl und kopiere folgende Zeilen: (du musst gerade noch nicht verstehen was das bedeutet, ich erkläre es dir gleich).

{
    "interfaces": {
        "pseudo-ethernet": {
            "peth0": {
                "address": ["192.168.2.100/24"],
                "description": "Zugriff auf Modem",
                "link": ["eth0"]
            }
        }
    },
    "service": {
        "nat": {
            "rule": {
                "5000": {
                    "destination": {
                        "address": ["192.168.2.1"]
                    },
                    "outbound-interface": ["peth0"],
                    "type": "masquerade"
                }
            }
        }
    }
}

Speichere diese Datei irgendwo auf deiner Festplatte (Hauptsache du findest sie nachher wieder) als config.gateway.json ab. Achte darauf, dass die Datei auch wirklich die Dateiendung .json hat.

1.1 Parameter anpassen

Der erste Teil der Konfigurationsdatei beschreibt das Pseudo-Mini-LAN am WAN-Port. Passe die folgenden Parameter an deine Bedürfnisse an:

{
    "interfaces": {
        "pseudo-ethernet": {
            "peth0": {
                "address": ["192.168.2.100/24"],
                "description": "Zugriff auf Modem",
                "link": ["eth0"]
            }
        }
    }
}
ParameterWert
"address" hier kommt die IP-Adresse rein, die das USG später im Adressbereich deines Modems hat. Im Beispiel hat das Modem die Adresse 192.168.2.1. Ich habe mir irgendeine freie Adresse in diesem Adressbereich gesucht, hier im Beispiel: 192.168.2.100
"description" Eine Beschreibung des Pseudo-Mini-LAN's.
"link" Hier wird definiert, auf welchem Port am USG das Mini-LAN erzeugt wird.
"eth0" ist der Name für den primären WAN-Port auf dem USG. Wenn du WAN2 oder den USG Pro verwenden, dann wird es wahrscheinlich anders sein. Per SSH Verbindung auf's Gateway und dem Befehl "show interfaces"  kannst du sehen auf welchem Interface die Verbindung zum Modem läuft.

1.2 Etwas Magie

Wir könnten nun im Modem eine statische Route einrichten, damit das Modem weiß, wie es im Pseudo-Mini-LAN mit dem USG sprechen kann. Aber wie weiter oben schon beschrieben, soll das Modem gar nichts vom Mini-LAN wissen! Deshalb sagen wir dem USG, dass Pakete so maskiert werden sollen, dass sie den Anschein haben von einer Netzwerkschnittstelle des USG zu kommen und nicht von einer IP-Adresse. Das Modem muss also nichts über unser Pseudo-Mini-LAN wissen und die Konfiguration erfolgt nur an einer Stelle (am USG). Coole Geschichte. Genau dieses Maskieren der Pakete beschreibt der zweite Teil der Konfigurationsdatei

{
    "service": {
        "nat": {
            "rule": {
                "5000": {
                    "destination": {
                        "address": ["192.168.2.1"]
                    },
                    "outbound-interface": ["peth0"],
                    "type": "masquerade"
                }
            }
        }
    }
}
ParameterWert
"address" hier kommt die IP-Adresse des Modems rein. Hier im Beispiel die 192.168.2.1

2. Die Konfigurationsdatei übertragen und aktivieren

2.1 SFTP Verbindung herstellen und Konfigurationsdatei übertragen

Du hast nun eine fertige Konfigurationsdatei. Lass sie uns nun auf den UniFi Controller übertragen und aktivieren. Dazu müssen wir eine sftp Verbindung zu unserem Controller herstellen. Zum Beispiel kannst du dazu FileZilla verwenden. Die Server Adresse ist sftp://die-ip-des-unifi-controllers Benutzername und Passwort hast du in der Regel beim Einrichten des Controllers festgelegt. Der Port ist 22.

Verbindung zu UniFi Controller

Nachdem du die Verbindung aufgebaut hast (eventuell musst du ein Zertifikat bestätigen), navigierst du in folgendes Verzeichnis (1) und überträgst deine Konfigurationsdatei (2):

Verzeichnis der Konfigurationsdatei

2.2 Konfigurationsdatei am USG bereitstellen (aktivieren)

Als letzten Schritt musst du nun die Konfiguration noch Bereitstellen (provision). Dazu wählst du im UniFi Controller dein USG aus (1), selektierst den Reiter "Config" (2) und stellst die Konfiguration bereit (3: provision)

Provisionieren

Bestätige nun, dass du das wirklich machen möchtest: Confirm (1)

10

3. Funktionalität prüfen

Nach dem die Bereitstellung fertig ist, solltest du nun dein Modem über den Browser deiner Wahl über die IP-Adresse des Modems (hier: 192.168.2.1) erreichen können.

1 Kommentar

Alexander Grözinger
gepostet von: Alexander Grözinger
Freitag, 25 Januar 2019 18:59

Konnte ich euch mit diesem Artikel helfen? Lasst es mich wissen :=)

Bitte anmelden, um einen Kommentar zu posten