UDM Pro 1.x: NAT auf dem WAN Interface deaktivieren
Hinweis: Diese Anleitung bezieht sich auf eine alte Version (1.x) von Unifi OS. Die Schritte und Vorgehensweisen können sich in Version 2.x oder 3.x teilweise deutlich unterscheiden.
Ich habe mir vor kurzem eine Unifi Dream Machine Pro von Ubiquiti bestellt. Das Gateway soll zukünftig als meine interne Firewall dienen und vor allem die Verwaltung der Firewall-Regeln vereinfachen. Aber schon nach der Inbetriebnahme des Gerätes kommen leider schon erste Zweifel auf. Das mit ca 380,-€ nicht gerade günstige Gerät vereint zwar viele Komponenten von Ubiquiti, wie
- Network Manager zur zentralen Verwaltung der Unifi Komponenten,
- Protect für die zentrale Verwaltung der Unifi Video-Kameras,
- Access zur Verwaltung der neuen Unifi Zutrittslösung und
- Talk zur Verwaltung von SIP Geräten
aber einfache netzwerktechnische Optionen und Funktionen können scheinbar bisher noch nicht über die Web-Oberfläche eingestellt werden. Dazu gibt es auch zahlreiche unterschiedliche Artikel im Internet, in denen fehlende, teils grundlegende Funktionen aufgelistet werden (siehe beispielsweise [01]). Vor allem eine grundlegende Funktion dürfte dabei für die meisten Nutzer in Deutschland relevant sein: das NAT am WAN-Interface kann nicht deaktiviert werden. Ein typisches Szenarion dürfte allerdings der Einsatz des UDM (Pro) hinter einer AVM FRITZ!Box oder hinter einem Router des Telekommunikationsdienstleisters sein. Und in der Regel werden diese als Router betrieben, so dass hier bereits ein NAT auf die öffentliche IPv4 Adresse umgesetzt wird. Das führt dann dazu, dass dank der fehlenden Funktion am UDM Pro zur Deaktivierung, ein doppeltes NAT durchgeführt wird - einmal am Internet Router und einmal am UDM Pro. Das mag zwar für einfaches Surfen und E-Mail abrufen funktionieren, kann aber bei anderen Anwendungen wie z.B. IPTV zu Problemen führen. Von einem Modell das die Bezeichnung "Pro" im Namen trägt hätte ich hier mehr erwartet.
Es gibt allerdings einige Online-Projekte, die versuchen, die fehlenden Pro-Funktionen der UDM-Pro nachzuliefern. Eine Übersicht über einige nützliche Scripte und Erweiterungen findet sich dabei im Github-Repository udm-utilities von boostchicken. Besonders interessant ist dabei das On-Boot-Script das eine init.d
ähnliche Ausführung von Scripts beim Booten der UDM-Pro ermöglicht. Das ist die Voraussetzung für viele Erweiterungen und sollte daher zuerst installiert werden.
01| On-Boot-Script auf der UDM Pro installieren
Hierzu muss eigentlich nur ein Paket über die Kommandozeile eingespielt werden. Also erstmal per SSH als root
auf der UDM-Pro einloggen.
Hinweis: Wie der SSH-Zugang in der UDM-Pro aktiviert werden kann wurde im Artikel zur Ersteinrichtung der UDM-Pro beschrieben.
Danach mit unifi-os shell
eine Shell starten und folgende Kommandos ausführen:
curl -L https://udm-boot.boostchicken.dev -o udm-boot.deb
dpkg -i udm-boot.deb
exit
Danach können im Verzeichnis /mnt/data/on_boot.d/
Scripte abgelegt werden, die danach bei jedem Boot der UDM-Pro ausgeführt werden. Die Scripte müssen dabei ausführbar sein (chmod +x /mnt/data/on_boot.d/*
) und es muss die richtige Shell in den Scripten verwendet werden (#!/bin/sh
).
für die ersten "Gehversuche" mit On-Boot-Script eignet sich z. B. das Beispiel-Script 15-add-root-ssh-key.sh. Mit Hilfe dieses Scriptes können SSH-Schlüssel in der authorized_keys
hinterlegt werden, so dass zukünftig eine schlüsselbasierte Authentisierung genutzt werden kann. Das Script wird dazu lediglich runtergeladen und im Verzeichnis /mnt/data/on_boot.d/
gespeichert:
curl -L https://github.com/boostchicken/udm-utilities/blob/master/on-boot-script/examples/udm-files/on_boot.d/15-add-root-ssh-key.sh -o /mnt/data/on_boot.d/15-add-root-ssh-key.sh
Danach müssen die eigenen Schlüssel im Script hinterlegt werden (z.B. per vi
). Nachdem das Script dann per chmod +x /mnt/data/on_boot.d/15-add-root-ssh-key.sh
ausführbar gemacht wurde, sollten nach dem nächsten Reboot die eingetragenen Schlüssel in der Datei /root/.ssh/authorized_keys
hinterlegt sein.
Hinweis: Scheinbar wird auf der UDM-Pro dropbear als SSH-Server eingesetzt. Damit die Authentiesierung per SSH_Schlüssel funktioniert, sollten daher ausschließlich RSA-Schlüssel verwendet werden.
02| NAT deaktivieren
Wenn das On-Boot-Script erfolgreich installiert ist, kann jetzt auch das standardmäßig aktivierte NAT beim Booten deaktiviert werden. Dazu müssen eigentlich nur die entsprechenden Postrouting-Regeln in der NAT-Tabelle des Firewall-Regelwerkes gelöscht werden. Dabei gibt es allerdings ein Problem: das einmalige Löschen der NAT-Regeln reicht nicht aus, da diese mit jeder Änderung am Firewall-Regelwerk neu geschrieben werden. Abhilfe schafft hier ein cronjob
, der von dem Boot-Script angelegt wird um die NAT-Regeln regelmäßig wieder zu löschen.
Ein entsprechendes Script mit einer ausführlichen Installationsanleitung stellt Antary in seinem Blog zur Verfügung: Antary: Ubiquiti UniFi Dream Machine Pro (UDM-PRO) – NAT deaktivieren. Ich habe bei mir lediglich das Ausführungsintervall für den Cronjob verringert. Ansonsten funktioniert das Script bei mir hervorragend.
Damit die Internet-Verbindung auch noch nach dem Deaktivieren des NAT funktioniert, müssen natürlich auch noch die entsprechenden statischen Routen im Internet-Router eingetragen werden. Wie das beispielsweise für eine AVM FRITZ!Box konfiguriert, wird in dem Blog-Artikel von Antary ebenfalls ausführlich beschrieben. Danach sollte der Internetzugang auch ohne doppeltes NAT funktionieren - wie es sich für einen Pro-Router gehört!
03| Fazit
Würde es die freien Projekte rund um den die UDM (Pro) nicht geben, so hätte ich die Unifi Dream Machine Pro vermutlich direkt wieder zurück geschickt. Aus meiner Sicht sind alleine die in [01] genannten fehlenden Funktionen Grund genug das Gerät zu meiden. Dazu kommen dann noch andere Punkte die sich so nach und nach rausstellen. So ist beispielsweise die Backplane des 8-Port-Switches mit 1Gb/s in der aktuellen Version auch etwas unterdimensioniert (siehe [04], [05] und [06]). Die 1Gb/s Ports sind damit nur eingeschränkt zu verwenden und der Einsatz von Link Aggregation auch nur bedingt sinnvoll ist, wenn es denn dann in einer der zukünftigen Versionen überhaupt fehlerfrei funktioniert. Immerhin kann hier ein Vernünftiger Switch über die 10Gb/s LAN-Schnittstelle angebunden werden. Insgesamt müssen bei der Dream Machine (Pro) aus meiner Sicht schon ganz schöne Abstriche in Kauf genommen werden. Würde es die Projekte der Community geben, wäre das Gerät für mich nicht nutzbar.
04| Quellen
[01] UDM: Features missing from UDM and/or controller
[02] boostchicken / udm-utilities
[03] boostchicken / udm-utilities / on-boot-script
[04] Antary: Ubiquiti UniFi Dream Machine Pro (UDM-PRO) – NAT deaktivieren
[05] Future switch port aggregation on UDM-Pro
[06] Ubiquiti Community Wiki: UniFi Dream Machine Pro
[07] UDM Pro 8 port switch with only 1Gbps backplane
Kommentare