Linux Clients automatisch im WLAN


#1

Hallo,

ich habe einen Klassensatz Laptops mit Xenial-Clients im WLan und das klappt auch alles prima, aber wenn das Schul-WLAN nicht zur Verfügung steht, booten die Geräte nicht.

Ausgangslage:
Wir haben 2 WLAN (WPA2-Enterprise für Lehrer - freeradius) und eben das Grüne Netz direkt mit einem starken Schlüssel für diese Rechner. Das funktionier wie in der Anleitung super.

Damit sich die Schüler anmelden können, habe ich dafür gesorgt, dass das WLan vor der Anmeldeseite auf dem Rechner verfügbar ist. In die etc/network/interfaces habe ich folgendes eingetragen:

Unbenannt

in der wpa_supplicant_conf liegt der hash für das Passwort. Also alles ok.

Problem:
Wenn das WLan nicht vorhanden ist, streiken die Rechner beim booten kurz vor dem Anmeldebildschirm und zwar genau an der Stelle, wo sie versuchen auf das Netzwerk zuzugreifen. Das geht so weit, dass selbst STRG+ALT+F1 keine Reaktion hervorruft.

Frage:
Hatte jemand das gleiche Problem? Hat es jemand gelöst? Irgendwie muss man dem Rechner wohl mitteilen, was er machen soll, wenn er das WLan nicht findet.

Viele Grüße
Volker


Neue Doku: WLAN mit Unifi
#2

Hallo zusammen,

hat den keiner das Problem mit Schul-Laptops im WLAN?
Hat es jemand anders gelöst?

VG
Volker


#3

Hi. Bei uns sind alle Schullaptops ohne Anmeldung direkt im WLAN. Wir haben das aber via CoovaChilli geregelt:

https://www.linuxmuster.net/wiki/anwenderwiki:benutzerrechner:wlan:coovachilli-statisch
(unter " MAC-Auth.")

hth,
Michael


#4

Hallo Volker,

  das Problem hatte ich mit HULC 14.04 nicht und auch mein

xenial-Musterclient mit KDE neon funktioniert.

  Unterschied zu Deiner Konfiguration: Bei mir gibt es nach der

“auto” Zeile keine weitere mehr, die auf wpa_supplicant hinweist.

  Die WPA-Konfiguration habe ich als linuxadmin grafisch mit dem

network manager gemacht und dabei angehakt, dass alle die
Verbindung benutzen dürfen. Wo auch immer der das hinschreibt …

  Der network manager ist auch von Nutzen, wenn jemand das Notebook

mal z. B. auf eine Fortbildung außer Haus mit nimmt, und sich als
offline-Benutzer dort mit einem anderen WLAN verbinden möchte. Die
Verbindung, die der linuxadmin eingerichtet hat, kann er nicht
verändern.

  Gruß Jürgen

#5

Das hatte ich mir auch überlegt, aber dann brauche ich für die Geräte lokale Schüler-Nutzer und genau die sollen sich aber gegen den LDAP authentifizieren. Der Networkmanager baut ja erst nach der Anmeldung die Verbindung auf. Die andere Version stellt das WLAN so zur Verfügung, dass die Geräte in der Schule so funktionieren, als wären sie am am Netz.

Leider habe ich die Nebenwirkung, die ich gerne los wäre!!!


Offtopic, weil 2 Leute gefragt hatten:

Wenn das WLAN (grün) vorhanden ist und am Clients liegen soll, bevor sich jemand anmeldet, damit LDAP-Anmeldung geht, musst man nur noch die Datei wie im Bild (oben) ändern und in der Konsole:

$ wpa_passphrase “DEINE_SSID” “DEIN_SCHÜSSEL”

eingeben und dann die Ausgabe in der Datei /etc/wpa_supplicant/wpa_supplicant.conf speichern.

Das sieht dann so aus:
network {
ssid="gruen"
psk= adslfkjaesrtaäfölgkatijasdfkadefölkajsdföadjsfdfölkjasdfölkhjadsf
}

fertig!

ACHTUNG: Die MAC der WLAN-Karte muss gesondert in "workstations"
Ich habe die Erfahrung gemacht, dass ifconfig nur die richtige MAC anzeigt, wenn man auch mit einem WLAN verbunden ist.

VG
Volker


#6

Das ist bei unseren Laptops (allerdings noch mit Trusty 14.04-Client) nicht so. Wir benutzen den Networkmanager genauso, wie j. engeland beschrieben hat und unsere Nutzer loggen sich dann per LDAP ein. Man kann im Displaymanager Lightdm mit dem Unity-Theme das Networkmanager Applet anzeigen lassen, so das die Benutzer sehen, wann eine Verbindung besteht und somit wissen, wann sie sich einloggen können.


#7

Hallo frithjof und Jürgen,

danke, das hat geklappt und ist natürlich viel einfacher.
Bei mit hatte die Einstellung in “Interfaces” auch noch die normal Netzwerkkarte lahmgelegt (state DOWN) und ich konnte sie nicht wieder aktivieren. Also bin ich einen Schritt zurück und habe eure Lösung getestet.
Keine Ahnung, warum das beim ersten Versuch nicht geklappt hat.

Jetzt geht’s!

VGV


#8

Hallo Volker,

Habe jetzt auch mal deine Lösung mit wpa_supplicant statt NetworkManager ausprobiert (den möchte ich nicht verwenden, da unsere SuS momentan sudo-Rechte für den nm-connection-editor für den Zugriff auf die LEGO-EV3 haben und somit den WPA-PSK auslesen könnten).

Den “Hänger” beim Starten ohne WLAN (der Rechner hat dann 5 Minuten auf den dhcp-Timeout gewartet) konnte ich vermeiden, indem ich statt auto wlp... in der /etc/network/interfaces den Eintrag allow-hotplug wlp... verwendet habe.

Viele Grüße

Andreas


#9

Hallo zusammen,

nach einigem rumprobieren hab ich es geschafft.
Die Networkmanagermethode hat bei mir (14.04) nicht funktioniert: das
WLAN war vor der Anmeldung nicht verbunden (eingerichtet als linuxadmin).
Also hab ich die wpa_supplicant Version umgesetzt.
Allerdings hat das erstmal auch nicht funktioniert, weil mein internet
(grünes) WLAN versteckt ist.
Es funktioniert nun mit diesen Einstellungen:

/etc/network/interfaces

allow-hotplug wlan0
	iface wlan0 inet dhcp
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

und /etc/wpa_supplicant/wpa_supplicant.conf

    network={
    	ssid="SCHULE-intern"
    	psk=12345678912345678asdhgfialsbi3h54213k5h3rt8sdgfajs
    	scan_ssid=1

Das scan_ssid=1 war nötig, weil das WLAN versteckt ist.

Soweit, so gut.
Nun habe ich aber folgendes Problem:
der networkmanager fühlt sich nicht mehr zuständig für das WLAN (wird
nicht gemanaged).
Das wäre ja nicht so schlimm aber: ohne Netzwerkkabel zeigt der nm “kein
Netzwerk” an (leeres Kuchenstück), obwohl das WLAN verbunden ist.
Ist das bei euch auch so?
Kann man da was machen?

LG

Holger


#10

Hallo Holger,

Das ist bei mir auch so. Und das muss m.E. eigentlich auch so sein, da ja das WLAN “am nm vorbei” aktiviert wird. Ich habe nichts dagegen unternommen.

Ich hatte aber noch ein anderes Problem: Wenn man den Client per Kabel anschließt (darum kümmert sich dann der NetworkManager), aber das WLAN ebenfalls verfügbar ist, gibt’s z.B. Probleme mit der Namensauflösung (“Internet geht nicht…”)

Das habe ich mit dem Script /etc/NetworkManager/dispatcher.d/99disablewifi gelöst:

#!/bin/bash
if [ "$1" = "enp1s0" ]; then
    case "$2" in
        up)
            nmcli radio wifi off
            ;;
        down)
            nmcli radio wifi on
           ;;
   esac
fi

(Quelle: https://superuser.com/questions/233448/disable-wlan-if-wired-cable-network-is-available )

Viele Grüße

Andreas


#11

Hallo Andreas,

danke für das script.
Ich hab 14.04 und damit nmcli in Version 0.9.8.8 und nicht 0.9.10, deswegen heißt der Befehl bei mir nicht
nmcli radio wifi off
sondern
nmcli nm wifi off

LG

Holger


#12

Hi zusammen,

ich finde dieses Thema sollte unbedingt richtig dokumentiert werden. Ich checks grade nur halbwegs wie das bei euch funktioniert. Von jedem Schnipsel hab ich schon mal gehört, aber eine Wikiseite zu dem Thema wäre super-sinnvoll.

Hat jemand die Muße das zu schreiben, bei dem das funktioniert?
VG, Tobias