Fehlermeldungen bei Installation von netzint-unifi-auth2

Hallo zusammen und @Till,

hab gerade mal versucht, netzint-unifi-auth2 nach der Anleitung zu installieren, stolpere aber über zwei Fehler:

  1. Bei
    # apt-get install netzint-unifi-auth2
    kommt gegen Ende bei der Postinstallation, dass /var/www/html/guest/s nicht vorhanden ist (oder nicht angelegt werden konnte?)

  2. Beim anschließenden
    # netzint-unifi-site_deploy
    kommt dieser Fehler:

Und ja, unter /var/lib/unifi gibt es kein Verzeichnis sites.

Hätte ich vorher die Einstellungen zu Template Engine im Controller machen müssen?
Was mache ich (sonst) falsch?

Viele Grüße,
Jochen

mach mal ein

mkdir -p /var/lib/unifi/sites

und versuchs dann noch einmal :slight_smile:

Hi.
Es fehlt auch das Verzeichnis
/var/www/html/guest/s/default/ – wenn man das nicht vorher anlegt, erhält man:

netzint-unifi-auth2 (0.2.7-5.0) wird eingerichtet ...
'/var/lib/netzint-unifi-auth2/template/external_portal/maincfg.php' -> '/var/www/html/guest/s/default/'
cp: cannot create regular file '/var/www/html/guest/s/default/': Not a directory
dpkg: Fehler beim Bearbeiten des Paketes netzint-unifi-auth2 (--configure):
 installed netzint-unifi-auth2 package post-installation script subprocess returned error exit status 1
Fehler traten auf beim Bearbeiten von:
 netzint-unifi-auth2
E: Sub-process /usr/bin/dpkg returned an error code (1)

Schöne Grüße,
Michael

Hier nochmal der Link zur Anleitung im anderen Thread:

Hallo @Michael und Andreas @Till,

ich hab’ jetzt vorher ein
# mkdir -p /var/www/html/guest/s/default
und ein
# mkdir -p /var/lib/unifi/sites
gemacht.
BTW: welchem User sollten diese Verzeichnisse gehören? Bei mir gehören sie root. Sollte (eines davon) dem unifi oder www-data Benutzer gehören?

Trotzdem erhalte ich beim anschließenden
# netzint-unifi-site_deploy
mkdir: cannot create directory '/var/www/html/guest/s/default': File exists
Ok, das ist vermutlich kein Fehler, sondern nur ein Hinweis. Aber dann kommt:
cp target: '/var/lib/unifi/sites/*/portal/' is not a directory

Was mach ich falsch?

Danke und Gruß,
Jochen

Verzeichnisse sollten alle www-data gehören, das sollte auch das deploy script nochmal anpassen.

Der Fehler liegt hier darin, dass du im Unifi Controller dass moderne Angular Frontend verwendest. Es ist unabdingbar dass hier JSP ausgewählt ist sowie der Haken „Änderungen zulassen“ (oÄ. weiß aus dem Koopf nicht wie der Button heißt) aktiviert ist.

Erst dann funktioniert Unifi-site-deploy. Diese Info gibt das Paket nach der Installation auch aus, kann aber auch untergegangen sein in den Fehlermeldungen zu den fehlenden Verzeichnissen.

Hallo Andreas,

super, danke Dir!
Hab in der Anleitung gelesen, dass man die Änderungen am Controller machen muss, dachte aber, das könne im Nachhinein geändert werden. Falsch gedacht :wink:

Muchas gracias!
Viele Grüße,
Jochen

Vermutlich das hier:

Ganz genau.

Hallo @jochen und @Till !
Ich habe das netzint-unifi-site_deploy nun auch mal laufen lassen. Bei mir lief es fast reibungslos durch – aber auch hier wurde gemeldet:

Sync Unifi sites to external portal? y
Overwrite custom portal with Netzint custom portal? y
Create logdir so unifi-auth2 can write a logfile?? y
Proceed? y
mkdir: cannot create directory ‘/var/www/html/guest/s/default’: File exists
created UnifiLdapAuth.log in /var/log/netzint and gave www-data write permissions

Das Verzeichnis hatte ich vorher bereits angelegt – daher ist das -wie schon oben vermutet- wohl nur eine Warnung?!? Das Verzeichnis wurde auch mit Inhalt befüllt… daher scheint es richtig gelaufen zu sein.

Danach steht in der Anleitung jedoch

In der main.cfg werden Subscription Keys, Unifi Einstellungen, LDAP Anbindung sowie Logging und Terms konfiguriert.

Ich nehme an, dass die Datei nicht main.cfg heißt (gibt’s hier nicht), sondern dass diese Datei gemeint ist?

/var/www/html/guest/s/default/maincfg.php

Dort muss (?) das Admin-PW für den Controller (leider) im Klartext eingetragen werden – unschön. Evtl änderbar? Wozu dient der Subscription-Key?

Die anschließenden Eintragungen bgzl

  // LDAP Server
  $ldap_bind_user_dn= "";  // "CN=ldapbind,OU=manager,DC=company,DC=com";
  $ldap_bind_user_pw= "";
  $ldap_base_dn = ""; // LMN dc=linuxmuster-net,dc=lokal, AD CN=Users,DC=domain,DC=local
  $ldap_user_search_attribute ="sAMAccountName"; // AD sAMAccountName; ND uid;  LMN uid
  $ldap_group_search_attribute ="memberof"; // AD memberof; ND groupmembership; 
  $ldap_type = "generic"; // LMN (linuxmuster.net) or generic
  $ldap_host = ""; // LDAP-Server IP/Hostname
  $ldap_version = "4"; //LMN 3, AD 4
  $group_ini = "groups.ini";

müssten ebenfalls nochmal genauer erläutert werden.

Zudem ist mir trotz des Hinweises nicht ganz klar, was für die lmn-v7 mit der Datei groups.ini angestellt werden muss: Ist das so gemeint, dass man neben den beiden Einträgen [Manager] und [user] zwei weitere, gleich aussehende Blöcke für [teachers] und [wifi] anlegen muss, damit das auch für Lehrer/Schüler nutzbar ist? Oder sind die bestehenden Einträge [Manager] und [user] zu löschen und gegen [teachers] und [wifi] auszutauschen?

Anschließend muss die OPNSense-Firewall Anfragen aus dem WiFi Netz auf das AD des lmn-Servers durchlassen, nehme ich mal stark an. Hast du eine entsprechende Regel eingetragen?

Letzter Punkt: Es sollte evtl mit aufgenommen werden, dass sich die Vorlagen der Dateien unter /var/lib/netzint-unifi-auth2/template/external_portal/ befinden, oder?

Weiter kann ich das ganze momentan nicht ausprobieren …
Schöne Grüße,
Michael

Da die API das Passwort braucht um das Gerät freizugeben wäre ohne Anpassungen an der UNIFI API jegliches verstecken des Passworts unnötig da es am Schluss wieder im Klartext vorliegen muss.

/var/www/html/guest/s/default/maincfg.php
ist die richtige Datei.

Die groups ini enthält eine Liste von Gruppen. Diese ist first match. Du kannst hier so viele Einträge anlegen wie dir beliebt. Der oberste Eintrag der auf deinen Nutzer matched wird bestimmen welchen Beschränkungen der Nutzer unterliegt.

Der Subscription Key wird von uns an Kunden ausgestellt welche sich entsprechenden Support bei uns dazu kaufen.

Ich möchte nochmal anmerken dass das Modul freie Software ist, das heißt der Code ist frei einsehbar. Allerdings können wir generell keinen kostenlosen Support hierfür anbieten.

Hallo.
Das hilft ja schonmal weiter. Zusammen mit der Syntax, die Holger in einem anderen Zshg gepostet hat, dürfte sich der Kreis schließen. Ich nehme an, dass man den gleichen bind_user eintragen kann wie Holger das im Parallelthread getan hat…

Es wäre interessant zu wissen, was so ein Subscription Key bei euch kostet und welcher Support dadurch abgedeckt wird.

Schöne Grüße,
Michael

Hallo @Michael und Andreas @Till,

hm, jetzt weiß ich auch nicht. Ich bekomme beim deploy noch immer diesen Fehler:

Ich hab das Ganze so versucht:

wget http://pkg.netzint.de/netzint.pub.key

apt-key add netzint.pub.key

echo deb http://pkg.netzint.de/ bionic main >> /etc/apt/sources.list.d/netzint.list

apt-get update

mkdir -p /var/lib/unifi/sites

mkdir -p /var/www/html/guest/s/default

Controller anpassen:
Unter Gaststeuerung – Gastportal aktivieren
Portalanpassung Template-Engine von AngularJS auf Älteres JSP setzen und Standard-Vorlagen überschreiben aktivieren.

Anschließend:

apt-get install netzint-unifi-auth2

netzint-unifi-site_deploy

Was mache ich falsch?

Eigentumsrechte falsch? Ich mache das ja als root und hab nach den mkdir nichts mit chown oder so gemacht…!?

Vielen Dank und viele Grüße,
Jochen

Also ich hatte vorher schon ein selbst eingerichtetes Portal. Vielleicht liegt es ja einfach daran, dass bei dir nix da war??

1 Like

Ich habe mir die Umstellung auf WPA2-Enterprise heute nochmal angesehen und bin leider nicht wesentlich weiter gekommen. Es scheint ja zwei Wege zu geben:

1.) FreeRadius auf dem Server (oder einem Host im Servernetz) zu installieren, da Unifi nicht mit dem OPNSense-Radius-Server klar kommt?!

2.) Direkt das netzint-Plugin installieren. Das habe ich zwar gemacht … aber das default-Profil will offenbar unbedingt ein Unifi-Security-Gateway haben???

Ich kann das im default-Profil jedenfalls nicht umstellen – daher nochmal die Frage: Muss vorher noch etwas anderes eingestellt werden? Oder kann es sein, dass das o.g. netzint-unifi-site_deploy-Script nach jedem Unifi-Controller-Update neu laufen muss??

Gerne wiederhole ich auch nochmal die Frage von oben:

Schöne Grüße,
Michael

Hi.
Ich antworte nochmal selbst … mittlerweile bin ich einen Schritt weiter: Das Portal wurde heute erfolgreich angezeigt (aber nur für Clients, die per WLAN verbunden sind – nicht aber für solche, die per LAN verbunden sind). Offenbar muss man „WPA Personal“ wählen…

Es bleibt eine Frage: Ist es mit der netzint-Lösung möglich, einigen Clients im WLAN den passwortlosen Zugang (Mac based?) zu gewähren? Oder muss jeder Zugang über das Portal abgewickelt werden?

Schönen Gruß,
Michael

Hallo Michael,

wieso willst du das Portal mit WPA2 Enterprise kombinieren? Ich sehe den Anwendungsfall gerade nicht.

Im Hotel Wlan meldest du dich doch auch nicht an Radius UND Portal an?

Der Zugang MUSS hierbei über das Portal abgewickelt werden. Wir konfigurieren dass ganze so, dass es einfach mehrere SSIDs gibt. Eine für das grüne Netz (WPA Personal oder WPA Enterprise) und eine für das Blaue (Portal). Optional gibt es auch Kunden die noch eine weitere SSID für Blau mit WPA Enterprise bekommen.

Hallo @Till

… will ich nicht. Die Konfiguration/Anleitung war nur nicht 100%ig klar.

Also sehe ich das richtig: MAC-based-Auth (was natürlich nicht sicher/unumgänglich ist), nutzt „niemand“ mehr – stattdessen einfach mehrere SSIDs in unterschiedlichen Netzen, ja?

Und nur nochmal zum Verständnis:
Wenn ihr zusätzlich WPA2 Enterprise einsetzt, muss ja doch wieder ein FreeRADIUS-Server laufen, oder? Ich dachte, dass euer Portal gerade ohne Radius auskommt?

Schönen Gruß,
Michael

Hallo Michael,
das hängt doch ganz davon ab was du vor hast.

Wir setzen noch ganz andere Systeme zusätzlich ein, das eine hat doch mit dem anderen nichts zu tun. Es gibt zu verschiedenen Anforderungen verschiedene Lösungen.

Netzint-Unifi-Auth bietet einen Captive Portal Login gegen einen LDAP Server an. Nicht mehr und nicht weniger.
Ob du das mit einem Macfilter einer Firewall oder einem Wachhund kombinieren magst ist erstmal unerheblich.

Ob und wie du das konzeptionell in dein Netzwerk einbinden möchtest, und an welcher Stelle das Sinn macht kann ich dir an dieser Stelle nicht sagen.
Wenn du das näher ausgearbeitet haben willst kannst du dich gerne an unsere Kundenhotline wenden :slight_smile:

Hi @Till.
Wir widersprechen uns gar nicht sooo sehr – ich suche nur nach der Lösung, die hier möglichst viele nutzen.

Wenn ich nur das netzint-Captive-Portal installiere, habe ich den Vorteil, dass Voucher und „normaler Login“ unter einer Haube sind. Das ist top und in vielen Fällen ausreichend.

Sobald nun aber irgendwo WPA2-Enterprise für eine weitere SSID ins Spiel kommt, muss doch wieder ein Radius-Server her. Das muss nur klar sein…

Schöne Grüße,
Michael