Installation, Bereitstellung und Betrieb von einem Ubiquiti Unifi Controller im Freifunk Netz

Wir setzen an diversen Stellen manchmal die Unifi Geräte in der AC-Version ein. Diese haben aktuell noch keine Unterstützung für Gluon, d.h. wir müssen die Geräte mit der Stock Firmware benutzen. Die Geräte sind selbstständig nicht nutzbar, sondern brauchen eine Konfiguration per Unifi Controller. Diesen Controller kann man entweder in Form von einem “Cloud Key” von Ubiquiti selbst kaufen oder auf einem PC/Server/VM installieren. Die Software selbst gibt es gratis, steht eine Hardware oder eine VM zur Verfügung, kann sie kostenfrei genutzt werden.

Wir hatten erst geplant, an dem jeweiligen Standort einen Raspberry Pi als Unifi Controller zu verwenden. Dies hätte aber dazu geführt, dass jeweils Pis benötigt werden und diese natürlich auch Geld kosten. Ich habe mir dann überlegt ob es nicht möglich wäre, den Controller zentral auf einer VM im Freifunk Netz zu betreiben. Nach ein bisschen probieren und überlegen läuft dies nun auch final, und bisher läuft es super. Da ein paar Abhängigkeiten bestehen, hier eine Erklärung der Installation zum nachmachen 🙂

Der Ort der Installation

In unserem Fall wollte ich die Software nicht auf einem unserer Supernodes online bringen, sondern als eigene VM auf einem unserer Hardware Hosts. Da es sich um ein eigenes System handelt, werden Verbindungen zu den Supernodes benötigt, damit der Controller mit im Batman Netz hängt und die Geräte sehen kann. Nach einer Grundinstallation von Ubuntu in der aktuellen Version und der Installation der Unifi Software beginnt die Anbindung damit, dass L2TP Tunnel zu den Supernodes erstellt werden.

Die Anbindung an die Supernodes

Da wir auf einem Supernode mehrere Instanzen betreiben, wird pro Instanz eine eigene Verbindung benötigt. Damit ist sichergestellt, das wir nur einen einzelnen Controller brauchen und nicht einen pro Instanz / Netzwerk. Hier ein Auszug aus der interfaces-Datei. Wir haben sechs Instanzen, also sechs Verbindungen untereinander. Auf der Gegenseite muss natürlich jeweils auch eine Konfiguration gemacht werden.

Installation von Batman

Damit wir Batman überhaupt nutzen können, müssen wir Batman erst einmal installieren und das entsprechende Modul beim Start des Servers laden. Ich gehe hier immer so vor, dass ich das ensprechende Paket von der Webseite herunterlade und kompiliere. Dort finden sich auch die entsprechenden Dokus zur Installation.

Erstellung der benötigten Interfaces und Bridges

Damit unser Server eine eigene IP in jedem Subnetz hat, über die der Controller mit dem Unifi AP kommunizieren kann, brauchen wir die folgende Konfiguration. Auch hier ein Beispiel für die erste Instanz, für jede weitere Instanz wird ein weiterer Block mit der Konfiguration benötigt:

Test der Verbindung

Wenn nun die Tunnel eingerichtet und gestartet sind sollte der Unifi Controller die Gateways auf der internen Adresse erreichen können. Weiterhin sollte der Controller an sich aufrufbar sein. Läuft alles, kann die Anbindung von dem ersten Unifi AP erfolgen.

Anbindung von Unifi Geräten

Normalerweise muss ein Unifi Gerät nur im Netzwerk auftauchen, damit der Controller das Gerät sehen kann und es adoptieren kann. Da die Freifunk-Router aber diese Anfrage unterdrücken, kann der Controller erst einmal nichts sehen. Daher die folgende Vorgehensweise:

Freifunk Router richtig konfigurieren

Damit der Aufbau funktioniert, brauchen wir einen Freifunk Router, der per WAN erfolgreich eine Verbindung zu einem der Supernodes aufgebaut hat. Welches Gateway genutzt wird, kann per Karte eingesehen werden (map.freifunk-winterberg.net). Die LAN Ports des Routers darf kein Mesh machen!

Unifi Gerät anschließen (die eigentliche Magic 😉 )

Nun kann der Ubiquiti AP per Kabel an den Freifunk Router angeschlossen werden. Dieser versucht nun, sich vom DHCP Server (unserem Supernode) eine IP-Adresse zu ziehen. Welche Adresse genau gezogen wird, kann man entweder im DHCP Log sehen oder meist per IP Scanner herausfinden (Tipp: Die MAC des Gerätes steht auf einem Aufkleber unten drunter). Ist die Adresse bekannt, kann man sich mit seinem Notebook oder PC (Wichtig: Der muss auch am Freifunk Router angeschlossen sein, entweder per Kabel oder per WLAN) per SSH auf den Unifi AP verbinden. Bei der Ersteinrichtung hat das Gerät die Benutzer/Passwort-Kombination ubnt/ubnt. Ist die EInwahl auf dem Gerät erfolgreich gemacht, müssen die folgenden Befehle abgesetzt werden:

Quelle: UniFi – Layer 3 methods for UAP adoption and management

Nachdem der Befehl abgesetzt wurde, taucht im Unifi Controller ein neues Gerät auf. Dieses muss einmalig adoptiert werden. Dieser Vorgang dauert knapp 60 Sekunden, danach geht der AP in der Software wieder offline. Das ist korrekt so, weil wir den gleichen Befehl wie oben einfach erneut eingeben müssen (Die Ausgabe auf dem Controller meldet das sogar direkt). Danach ist das Gerät mit dem Unifi Controller fest verbunden und kann administriert werden.

Screenshots vom Controller

Hier noch ein paar Screenshots von unserem Controller:

2016-09-01-15_24_38-unifi 2016-09-01-15_24_18-unifi 2016-09-01-15_23_58-unifi 2016-09-01-15_23_36-unifi

Die Geräte können nun noch mit einem Namen versehen werden, es können die Standorte eingetragen werden, pro Gruppe von Geräten kann eine eigene Site mit jeweils eigenen Eigenschaften erstellt werden, man kann zentral neue Firmware-Versionen ausrollen usw…

Was man noch wissen sollte

Ein Freifunk Router kann nicht mehr als 250 Clients bedienen. Daher bei mehr Teilnehmern diese jeweils auf eigene Router verteilen.

About the author: Jan

Leave a Reply

Your email address will not be published.Email address is required.