it:unificontrollerinstallieren
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
it:unificontrollerinstallieren [2024/11/19 10:29] – angelegt 192.168.2.44 | it:unificontrollerinstallieren [2024/11/19 11:30] (aktuell) – [Geräte-Registrierung] 192.168.2.44 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== UniFi Controller Installation auf einer Synology NAS ====== | ====== UniFi Controller Installation auf einer Synology NAS ====== | ||
- | von | + | von [[https:// |
- | [[https://blog.andreas-schreiner.de/author/andreas-schreiner/ | + | //mit Anmerkungen von Gunter// |
Bedingt durch den Umzug in ein Eigenheim inkl. Netzwerkverkabelung und neuer LAN/WLAN Infrastruktur habe ich meine Netzwerk-Komponenten vom Hersteller Ubiquiti (UniFi) bezogen. Damit die Komponenten miteinander interagieren benötigt man einen UniFi Netzwerk-Controller, | Bedingt durch den Umzug in ein Eigenheim inkl. Netzwerkverkabelung und neuer LAN/WLAN Infrastruktur habe ich meine Netzwerk-Komponenten vom Hersteller Ubiquiti (UniFi) bezogen. Damit die Komponenten miteinander interagieren benötigt man einen UniFi Netzwerk-Controller, | ||
Zeile 9: | Zeile 9: | ||
Basis für meine Installation in diesem Beitrag ist der UniFi Controller 6.0.43 und Synology DSM 6.2.3. | Basis für meine Installation in diesem Beitrag ist der UniFi Controller 6.0.43 und Synology DSM 6.2.3. | ||
- | == Docker / Container Manager Installation == | + | ===== Docker / Container Manager Installation |
Falls noch nicht geschehen, muss zuerst Docker (ab DSM7.2: Container Manager) auf der Synology installiert werden. Dazu öffnet man in DSM das Package Center und sucht nach Docker zur Installation. Nachdem die Installation beendet ist, lässt sich Docker direkt über das Package Center öffnen oder über das DSM Menü. | Falls noch nicht geschehen, muss zuerst Docker (ab DSM7.2: Container Manager) auf der Synology installiert werden. Dazu öffnet man in DSM das Package Center und sucht nach Docker zur Installation. Nachdem die Installation beendet ist, lässt sich Docker direkt über das Package Center öffnen oder über das DSM Menü. | ||
{{https:// | {{https:// | ||
+ | |||
== UniFi Container Installation == | == UniFi Container Installation == | ||
In der Docker Konsole lade ich mir als erstes das UniFi Image herunter. Dazu wechsle ich in den Menüpunkt // | In der Docker Konsole lade ich mir als erstes das UniFi Image herunter. Dazu wechsle ich in den Menüpunkt // | ||
- | {{https:// | + | {{https:// |
Ist der Download abgeschlossen, | Ist der Download abgeschlossen, | ||
- | {{https:// | + | {{https:// |
Nun öffnet sich das Konfigurationsfenster für den neuen Container. Hier gebe ich dem Container einen Namen und limitiere die Ressourcen-Nutzung (je nach Modell kann hier natürlich etwas mehr RAM zugewiesen werden). Für die weitere Konfiguration klicke ich auf den Button //Advanced Settings//. | Nun öffnet sich das Konfigurationsfenster für den neuen Container. Hier gebe ich dem Container einen Namen und limitiere die Ressourcen-Nutzung (je nach Modell kann hier natürlich etwas mehr RAM zugewiesen werden). Für die weitere Konfiguration klicke ich auf den Button //Advanced Settings//. | ||
- | {{https:// | + | {{https:// |
Als erstes sorge ich im Reiter //Advanced Settings// dafür, dass der Container nach einem Neustart der Synology auch automatisch wieder mitgestartet wird. | Als erstes sorge ich im Reiter //Advanced Settings// dafür, dass der Container nach einem Neustart der Synology auch automatisch wieder mitgestartet wird. | ||
- | {{https:// | + | {{https:// |
Im Reiter //Volume// verbinde ich jetzt einen Ordner und mounte ihn in den Container als ///unifi//. In diesem Ordner werden persistente Container-Daten gespeichert, | Im Reiter //Volume// verbinde ich jetzt einen Ordner und mounte ihn in den Container als ///unifi//. In diesem Ordner werden persistente Container-Daten gespeichert, | ||
- | {{https:// | + | {{https:// |
- | Im Reiter //Network// wähle ich die Option //Use the same network as Docker Host// aus. Möchte man die Ports des UniFi Controllers auf alternative Ports ändern (z.B. die Web GUI), wählt man in diesem Fenster statt der Checkbox das bridge Netzwerk aus und konfiguriert das Mapping der Local Ports und der Container Ports für die UniFi Ports, die weiter unten im Beitrag genannt sind. | + | Im Reiter //Network// wähle ich die Option //Use the same network as Docker Host// aus. Möchte man die Ports des UniFi Controllers auf alternative Ports ändern (z.B. die Web GUI), wählt man in diesem Fenster statt der Checkbox das bridge Netzwerk aus und konfiguriert das Mapping der Local Ports und der Container Ports für die UniFi Ports, die weiter unten im Beitrag genannt sind.\\ |
- | + | **Achtung: das geht nicht! Netzwerk muss auf Host stehen damit die Geräte den Server finden.\\ | |
- | | + | Die Ports können in den Umgebungsvariablen der Containers angepasst werden. Das ist auch nötig damit der Container selbst weiß welche Ports er den Geräten für eine Weiterleitung von http Port 8080 mitteilen muss. Wenn das falsch gemacht wurde siehe unten Wechsel der Netzwerkanbindung des Containers** \\ |
+ | {{https:// | ||
Jetzt wechsle ich noch auf den letzten Reiter // | Jetzt wechsle ich noch auf den letzten Reiter // | ||
- | {{https:// | + | {{https:// |
Danach ist die Container Konfiguration beendet und kann mit //Apply// abgeschlossen werden. Den Container starte ich automatisch, | Danach ist die Container Konfiguration beendet und kann mit //Apply// abgeschlossen werden. Den Container starte ich automatisch, | ||
- | {{https:// | + | {{https:// |
- | Ist der Container fertig hochgefahren, | + | Ist der Container fertig hochgefahren, |
- | == Sonstige Anpassungen == | + | |
+ | |||
+ | ====== Sonstige Anpassungen | ||
**Ports** | **Ports** | ||
Zeile 65: | Zeile 69: | ||
* UDP/5514: Remote Syslog Capture (optional) | * UDP/5514: Remote Syslog Capture (optional) | ||
- | Zudem dürfen die Ports natürlich nicht anderweitig bereits in Verwendung sein (z.B. durch andere Synology Packages oder andere Docker Container). Prädestiniert für Konflikte sind besonders die Ports 8080 und 8443, die werden als alternative HTTP/HTTPS Ports auch gerne durch andere Produkte verwendet. Sollte der Container nicht starten oder unerwartet sofort wieder stoppen, ist dies das häufigste Problem. | + | Zudem dürfen die Ports natürlich nicht anderweitig bereits in Verwendung sein (z.B. durch andere Synology Packages oder andere Docker Container). |
- | **Geräte-Registrierung** | + | Prädestiniert für Konflikte sind besonders die Ports 8080 und 8443, die werden als alternative HTTP/HTTPS Ports auch gerne durch andere Produkte verwendet. |
- | Im Normalfall läuft | + | Sollte |
- | Die am häufigsten gefundene Methode im Internet ist es, sich auf das jeweilige Gerät per SSH zu verbinden und die Registrierungs-URL wie folgt zu ändern: | + | Da UniFi Controller nicht von den Geräten gefunden werden kann wenn als Netzwerktyp Bridge ausgewählt wird lässt |
- | < | + | Aus der Doku von Jacob Alberty: |
- | set-inform http:////< | + | |
- | </ | + | |
- | Funktioniert das: Yepp! \\ Ist das charmant: Nope! \\ Geht das besser: Klaro! | + | === Environment Variables: === |
- | Stellt euch vor, ihr habt eine etwas größere UniFi Umgebung mit 100 oder mehr Geräten. Will man sich wirklich auf unzähligen Geräten händisch einloggen, um die Registrierungs-URL anzupassen? Eher nicht. Wer eine entsprechend große Anzahl an Geräten hat, hat sicher auch eine weitergehende IT-Infrastruktur | + | You can pass in environment variables using the '' |
- | Dieser kann entsprechend genutzt werden, um den Hostnamen UNIFI im Netzwerk verfügbar zu machen. Hierzu gibt es 2 Optionen: | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Es ist aber wichtig dass Port 8080 bleibt, da die Geräte sich automatisch dort melden! | ||
- | * CNAME-Record // | + | Aus dem Grunde habe ich alle Ports gleich gelassen. \\ Es gab damit aber einen Port Konflikt |
- | * A-/AAA-Record // | + | |
- | Ist der Hostname // | + | Nach Änderung des Ports für CardDAV muss entweder die Diskstation oder zumindest Contacts, Calendar |
- | == Versionsupdate == | ||
- | Da der UniFi Controller jetzt ein Docker Image ist, lässt sich kein Update direkt in der UniFi Web UI durchführen. Stattdessen muss der Container selbst getauscht werden. Das funktioniert ähnlich wie die Neuinstallation und ist recht einfach: | + | ===== Geräte-Registrierung ===== |
- | * aktuelles (neues) Image für UniFi herunterladen | + | Im Normalfall läuft der Controller |
- | * UniFi Controller | + | |
- | * laufenden Container stoppen | + | |
- | * Container auswählen und mit Action -> Clear (seit DSM 7: Reset) alle Daten löschen (die Konfiguration bleibt erhalten durch den gemounteten Ordner!) | + | |
- | * Container wieder starten | + | |
- | Danach | + | //Die am häufigsten gefundene Methode im Internet |
- | == Update 19.07.2021 – Geräteregistrierung == | + | Funktioniert das: Yepp!\\ |
+ | Ist das charmant: Nope!\\ | ||
+ | Geht das besser: Klaro! | ||
- | Nachdem einer meiner USW-Flex-Mini Switche den Geist aufgegeben, habe ich ein Austauschgerät bekommen und versucht es in meine Infrastruktur einzubinden. Was bisher mit dem DNS-Eintrag für den Controller geklappt hat, ging mit dem neuen Gerät ums Verrecken | + | Stellt euch vor, ihr habt eine etwas größere UniFi Umgebung mit 100 oder mehr Geräten. Will man sich wirklich auf unzähligen Geräten händisch einloggen, um die Registrierungs-URL anzupassen? Eher nicht. |
- | <wp-block-preformatted> | + | Hierzu gibt es 2 Optionen: |
- | Code: 43 | + | |
- | Typ: HEX | + | * CNAME-Record //UNIFI// mit Alias auf den Hostname der Synology NAS |
- | Value: 0104C0A80001 | + | |
- | </ | + | * A-/AAA-Record //UNIFI// mit der IPv4-/ |
+ | |||
+ | Bei uns habe ich ein A Record angelegt. | ||
+ | |||
+ | ===== Reset der Geräte damit sie in einem neuen Netzwerk eingesetzt werden können ===== | ||
+ | |||
+ | Gebrauchte Geräte müssen zurückgesetzt werden damit sie sich im Unifi Controller finden und adoptieren lassen. | ||
+ | |||
+ | |||
+ | ===== Versionsupdate ===== | ||
+ | |||
+ | Da der UniFi Controller jetzt ein Docker Image ist, lässt sich kein Update direkt in der UniFi Web UI durchführen. Stattdessen muss der Container selbst getauscht werden. | ||
+ | |||
+ | Das funktioniert ähnlich wie die Neuinstallation und ist recht einfach: | ||
+ | |||
+ | * aktuelles (neues) Image für UniFi herunterladen | ||
+ | |||
+ | * UniFi Controller Konfiguration über die Web GUI sichern und herunterladen (zur Sicherheit) | ||
+ | |||
+ | * laufenden Container stoppen | ||
+ | |||
+ | * Container auswählen und mit Action → Clear (seit DSM 7: Reset) alle Daten löschen (die Konfiguration bleibt erhalten durch den gemounteten Ordner!) | ||
+ | |||
+ | * Container wieder starten Danach ist die UniFi Version des Containers aktualisiert. | ||
+ | |||
+ | ===== Update 19.07.2021 – Geräteregistrierung ===== | ||
+ | |||
+ | Nachdem einer meiner USW-Flex-Mini Switche den Geist aufgegeben, habe ich ein Austauschgerät bekommen und versucht es in meine Infrastruktur einzubinden. Was bisher mit dem DNS-Eintrag für den Controller geklappt hat, ging mit dem neuen Gerät ums Verrecken nicht. Habe alles ausprobiert, | ||
+ | |||
+ | Dazu habe ich in meinem DHCP Server (meine Fortigate Firewall) folgenden Eintrag für den DHCP-Scope gesetzt: | ||
+ | |||
+ | Code: 43 Typ: HEX Value: 0104C0A80001 | ||
Wie setzt sich der Wert für Option 43 zusammen: | Wie setzt sich der Wert für Option 43 zusammen: | ||
- | 01 -> Vendor Code (01 für Ubiquiti) \\ 04 -> Länge des Payloads (Single IP, daher: 4) \\ C0A80001 | + | 01 → Vendor Code (01 für Ubiquiti)\\ |
+ | 04 → Länge des Payloads (Single IP, daher: 4)\\ | ||
+ | C0A80001 | ||
- | == Update 11.10.2021 – Geräteregistrierung (Teil 2) == | + | ===== Update 11.10.2021 – Geräteregistrierung (Teil 2) ===== |
Eventuell konnte das Problem der nicht mehr funktionierenden Registrierung der Geräte per DNS gelöst werden. Ich hatte im Vorfeld des Problems den Container umgestellt von host-Network auf ein bridge-Network. Das o.g. Austauschgerät habe ich erst nach dieser Umstellung versucht zu registrieren. Ich konnte das noch nicht verifizieren, | Eventuell konnte das Problem der nicht mehr funktionierenden Registrierung der Geräte per DNS gelöst werden. Ich hatte im Vorfeld des Problems den Container umgestellt von host-Network auf ein bridge-Network. Das o.g. Austauschgerät habe ich erst nach dieser Umstellung versucht zu registrieren. Ich konnte das noch nicht verifizieren, | ||
- | == Update 28.01.2022 – Geräteregistrierung (Teil 3) == | + | ===== Update 28.01.2022 – Geräteregistrierung (Teil 3) ===== |
+ | |||
+ | Inzwischen konnte ich durch ein Austauschgerät selbst testen, ob das Problem mit der Geräteregistrierung per DNS an den Netzwerkeinstellungen des Containers liegt und es scheint so zu sein. **Nachdem ich ja wieder auf host-Network zurückgestellt habe, konnte das Gerät auch ohne die DHCP-Option wieder den Controller finden und ich konnte es adopten.** | ||
+ | ===== Anmerkungen von Gunter ===== | ||
+ | |||
+ | Das das Host Netzwerk genutzt werden muss entspricht den Angaben von UniFi, die geben nämlich vor dass Unifi Controller im selben Level 2 Netzwerk, also IP Bereich sein muss wie die Access Points.\\ | ||
+ | Und das ist bei einem Brige Netzwerk mit Portweiterleitung streng genommen nicht der Fall. | ||
+ | |||
+ | In der Dokumentation zum Docker Image von Jacob Alberty wird darauf hingewiesen dass noch eine weitere Einstellung vorzunehmen ist damit die Geräte den Server finden: | ||
+ | |||
+ | === Adopting Access Points and Unifi Devices === | ||
+ | |||
+ | **Override " | ||
+ | |||
+ | For your Unifi devices to " | ||
+ | |||
+ | * Find **Settings → System → Other Configuration → Override Inform Host: | ||
+ | * Check the " | ||
+ | * Save settings in Unifi Controller | ||
+ | * Restart UniFi-in-Docker container with '' | ||
+ | |||
+ | See [[https:// | ||
+ | |||
+ | ==== Ändern der Netzwerkanbindung eines Docker Containers in Synology ==== | ||
+ | |||
+ | Eine Änderung der Netzwerkverbindung von Bridge auf Host ist in der grafischen Oberfläche zumindest bei DSM 6.2. nicht möglich. \\ Es muss dazu nach Stoppen des Containers ein neuer Container erzeugt werden. Dieser behält die Daten des alten wenn der selbe Ordner wieder gemountet wird. \\ Vorher ist es sinnvoll ein Backup zu erstellen, wie bei Update beschrieben. | ||
- | Inzwischen konnte ich durch ein Austauschgerät selbst testen, ob das Problem mit der Geräteregistrierung per DNS an den Netzwerkeinstellungen des Containers liegt und es scheint so zu sein. Nachdem ich ja wieder auf host-Network zurückgestellt habe, konnte das Gerät auch ohne die DHCP-Option wieder den Controller finden und ich konnte es adopten. | + | ==== Komplette Neuinstallation ==== |
- | ---- | + | Wenn ALLES gelöscht werden soll und komplett neu installiert werden soll sollte auch der gemountete Ordner gelöscht werden. \\ **Wichtig ist dass die Mount Ordner immer in der Docker Oberfläche erstellt werden!** \\ **Sonst sind die Rechte möglicherweise so gesetzt dass nur der Benutzer der den Ordner erstellt hat zugreifen kann.** |
- | Quellen: \\ [[https:// | + | **Damit ist der Container nicht funktionsfähig weil er nichts auf die Platte schreiben kann.**—- |
- | [[https:// | + | [[https:// |
it/unificontrollerinstallieren.1732008579.txt.gz · Zuletzt geändert: 2024/11/19 10:29 von 192.168.2.44