LM v7 Walkthrough

Hallo,

funktioniert zwar immernoch gut – aber ein Upgrade auf 18.04 ist nicht
so ohne weiteres möglich. Zudem wäre ja die Anbindung von v6.x → v7 zu
ändern, was so imho nicht vorgesehen ist und ziemlich kompliziert wäre…

genau.
Das kann man schon machen, aber dann muss man sich warm anziehen …
Deswegen empfehlen wir lieber: für die lmn7 den neuen 18.04 default
Client zu nehmen und sich an zu passen.

LG

Holger

Ich muß hier nochmal ein Lob loswerden, es macht wirklich Spaß mit dem LMv7, es ist tolle Arbeit gemacht worden. Da ich hier immer nur herumkritisiere möchte ich das betonen: Generell ist es wirklich toll was da geht!

Ich Automatisiere gerade den LINBO-Ablauf und das flutscht nur so - Prima! Und Danke.

Ok, ich hatte mich am WE ausgesperrt: Hatte den Client im LINBO stehen lassen und dann mein walkthrough angeworfen. Danach kam ich nicht mehr auf den Client (klar: Der Server generiert einen neuen Key sodass ich per ssh nicht mehr autorisiert bin - klasse, wenn man 25km weit weg ist :wink: ). Aber sowas ist eben „selber Schuld“.

2 „Gefällt mir“

So, ich habe die aktuelle Version heruntergeladen, das walkthrough durch LINBO-Automatisierung erweitert und stoße auf dieselben Probleme:

Es gibt noch alte Zertifikate in dem Image:

# find /var/lib/samba -name \*.pem
/var/lib/samba/private/tls/bzpf.lan.pem
/var/lib/samba/private/tls/linuxmuster.windeck-gymnasium.de.pem
/var/lib/samba/private/tls/lmn.lan.pem

Beim Versuch das Zertifikat zu kopieren, mounted das Script ein cifs Laufwerk. Das schlägt fehl:

Installing server certificate ... mount error(126): Required key not available
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
cp: Aufruf von stat für '/var/lib/samba/sysvol/fsmw.lan/tls/cacert.pem' nicht möglich: Datei oder Verzeichnis nicht gefunden
umount: /var/lib/samba/sysvol: nicht eingehängt.
Failed!

Das Script behandelt keinerlei Fehler und rennt einfach weiter. Nach dem fehlgeschlagenen mount schlägt cp fehl, danach das umount. Ein Fehler wird dubioser Weise dann aufgrund der Existenz der Datei gemeldet…

Der initiale Fehler scheint mir „Required key not available“ zu sein. Ist das nicht ein Henne & Ei Problem? Wenn ich den Key kopieren will vom Server und für den Mount den Key brauche?

Ich habe den Key auf dem Server gefunden und per scp manuell an die richtige Stelle kopiert. Auch das hilft aber nicht den mount auszuführen.

Hi.
Ich habe zwar keine Lösung aber ich habe die Dateien gerade verglichen:

Das cert auf dem Server unter
/var/lib/samba/sysvol/linuxmuster.meine-domain.de/tls/cacert.pem
und das cert auf dem Client unter
/var/lib/samba/private/tls/linuxmuster.meine-domain.de.pem
sind hier jedenfalls identisch.
Wo die nun aber herkommen bzw wer da was von wo kopiert, müssten die Entwickler beantworten…
Wenn du auf dem Client in die Datei /usr/sbin/linuxmuster-client-adsso-setup ab Zeile 194 schaust, steht eigentlich alles da … das cert wird als global-admin rüberkopiert

Schöne Grüße,
Michael

Genau. Dafür mounted der eine Freigabe vom Server. Dafür braucht er einen Key, den er nicht hat. Aber der Key, den er gerade kopieren will ist es nicht, ich hab ihn ja per scp dahinkopiert. Beim mounten gibts denselben Fehler.

Dies ist der mount-Befehl, den er abfeuert (vorher ein kinit global-admin:

mount -o sec=krb5,user=global-admin //fsmw.lan/sysvol /var/lib/samba/sysvol

Was tut/sagt der bei dir?

Hallo,

Das cert auf dem /Server/ unter

/var/lib/samba/sysvol/linuxmuster.meine-domain.de/tls/cacert.pem|
und das cert auf dem /Client/ unter
/var/lib/samba/private/tls/linuxmuster.meine-domain.de.pem|
sind hier jedenfalls identisch.

die Frage ist, weswegen das cert bei MDT auf dem Server fehlt.
Es scheint ja kein Client, sondern ein Serverproblem zu sein.

Wurde linuxmuster-setup schon ausgeführt?

LG

Holger

Ja, im walkthrough-Flow ist das dabei.

Welches cert fehlt? Das mount vermisst einen key…

Der Server hat keine log-Ausgaben zu dem Fall.

Der Client schon:

Mar  5 08:44:20 bw-nb01 cifs.upcall: key description: cifs.spnego;0;0;39010000;ver=0x2;host=server.fsmw.lan;ip4=10.0.0.1;sec=krb5;uid=0x0;creduid=0x0;user=global-admin;pid=0x83e
Mar  5 08:44:20 bw-nb01 kernel: [ 5446.331394] CIFS VFS: Send error in SessSetup = -126
Mar  5 08:44:20 bw-nb01 kernel: [ 5446.331424] CIFS VFS: cifs_mount failed w/return code = -126
Mar  5 08:44:20 bw-nb01 cifs.upcall: ver=2
Mar  5 08:44:20 bw-nb01 cifs.upcall: host=server.fsmw.lan
Mar  5 08:44:20 bw-nb01 cifs.upcall: ip=10.0.0.1
Mar  5 08:44:20 bw-nb01 cifs.upcall: sec=1
Mar  5 08:44:20 bw-nb01 cifs.upcall: uid=0
Mar  5 08:44:20 bw-nb01 cifs.upcall: creduid=0
Mar  5 08:44:20 bw-nb01 cifs.upcall: user=global-admin
Mar  5 08:44:20 bw-nb01 cifs.upcall: pid=2110
Mar  5 08:44:20 bw-nb01 cifs.upcall: get_cachename_from_process_env: pid == 0
Mar  5 08:44:20 bw-nb01 cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_0
Mar  5 08:44:20 bw-nb01 cifs.upcall: krb5_get_init_creds_keytab: -1765328203
Mar  5 08:44:20 bw-nb01 cifs.upcall: Exit status 1

Hallo Michael,

in die Datei |/usr/sbin/linuxmuster-client-adsso-setup| ab Zeile 194
schaust, steht eigentlich alles da … das cert wird als
>global-admin| rüberkopiert

Genau. Dafür mounted der eine Freigabe vom Server. Dafür braucht er
einen Key, den er nicht hat.

nein: er hat beim adsso Lauf natürlich noch keinen passenden Key: aber
er bekommt ja die credentials des global-admin: und mit denen mountet er
das sysvol und kopiert dann den key.
Liegt bei dir auf dem Server der key?

hast du bei der initialen Aufnahme des Clients folgendes gemacht:

  1. er ist in der workstations auf dem server und importiert
  2. die /etc/k3b.keytab (oder so) wurde gelöscht
  3. die /etc/fstab ist korrekt gepatched: Domain und Rechnernamen stimmen
  4. wenn das alles OK ist, dann kannst du linuxmuster-client-adsso laufen
    lassen.

LG

Holger

Hallo Michael,

Mar 5 08:44:20 bw-nb01 cifs.upcall: key description:
cifs.spnego;0;0;39010000;ver=0x2;host=server.fsmw.lan;ip4=10.0.0.1;sec=krb5;uid=0x0;creduid=0x0;user=global-admin;pid=0x83e

/etc/krb5.keytab vor Domänenaufnahme am Client gelöscht?
Vielelicht versucht er den Key, wenn die Datei da ist.
Also erst löschen, dann nimmt er die Credentials.
nur so eine Idee

LG

Holger

Nein, genau das schlägt ja fehl wie ich schrieb.

Ja.

Das verstehe ich nicht. Ich habe die MAC in eine devices.csv aufgenommen - meinst du das?

Ja.

Die Datei enthält bei mir keine Rechner oder Domainnamen, nur lokale Geräte.

Gerade nochmal gemacht, keine Änderung.

Für uns alle zum merken:

Wenn die Uhrzeit nicht stimmt, geht nix mit Kerberus!

Die Uhr lief vor: 05.03.2020 09:16:16 statt 2020-03-04T22:22. Das mag der Höllenhund garnicht … puh! Danke für eure Hilfe :slight_smile:

Apropos: Das Readme erwähnt /srv/linbo/linuxmuster-client/bionic/common/etc/systemd/timesync.conf die ich nicht habe… auch auf dem client nicht. Sie heisst …syncd…

Hallo Michael,

baumhof:

er ist in der workstations

Das verstehe ich nicht. Ich habe die MAC in eine |devices.csv|
aufgenommen - meinst du das?

ja.
workstations ist lmn6.2 …

baumhof:

die /etc/fstab ist korrekt gepatched: Domain und Rechnernamen stimmen

Die Datei enthält bei mir keine Rechner oder Domainnamen, nur lokale Geräte.

das ist falsch.
Die wird durch den postsync gepatched.
Das mußt du korrigieren.

Sie sollte so aussehen, wenn dein Rechner
r100pc01 und die Domäne wedlergymnasium heisen
ServerIP ist 10.16.1.1

Hallo Michael,

Wenn die Uhrzeit nicht stimmt, geht nix mit Kerberus!

Die Uhr lief vor: 05.03.2020 09:16:16 statt 2020-03-04T22:22. Das mag
der Höllenhund garnicht … puh! Danke für eure Hilfe :slight_smile:

Apropos: Das Readme erwähnt

/srv/linbo/linuxmuster-client/bionic/common/etc/systemd/timesync.conf|
die ich nicht habe… auch auf dem client nicht. Sie heisst …syncd…

ich hab es angepaßt im Readme.

LG

Holger

… und seitdem die Uhrzeit stimmt, klappt auch das Kopieren wieder? Oder gibt es weiterhin ein Problem?

Die Sache mit dem Timeserver und ntp wurde ja erst kürzlich hier diskutiert:

Ja, problemlos. Ich habe jetzt im walkthrough einen flow, die uhrzeit auf dem client so zu setzen wie auf dem server. ntp kommt ja erst später.

Das walkthrough bedient jetzt auch LINBO fern sodass auch ein Client „unattended“ installiert wird…

1 „Gefällt mir“

So, der aktuelle Stand ist: Ohne Eingriff wird nun alles (Netz, Opnsense, Server, Client) installiert, provisioniert und migriert. Ich kann mich mit meinem alten Nutzer aus dem alten Setup anmelden. Allerdings funktioniert SSO nicht, ich muss mich dem Proxy gegenüber erneut anmelden (was funktioniert und ich dann auch surfen kann).

Wo kann ich suchen?

Ach ja: Die Standard Firefox Konfiguration enthält ein paar Artefakte anderer Installationen, zB „lmn.lan“ oder „windeck-gymnasium.de“. Und: Ich dachte immer, das Home vom „linuxuser“ würde beim Anmelden kopiert, ich habe aber das Home von „linuxadmin“ (oder liegt das daran, dass ich Lehrer / Admin oder eine ähnlich andere Rolle habe?

1 „Gefällt mir“

… das liegt einfach daran, dass (nach meinem Wissen) Dominik und Holger den bionic-Client bei sich vorbereitet haben, ihn an ihre Schulen angepasst haben und ihn dann in die weite Welt entlassen haben. Daher stehen diese Einträge noch im Firefox-Profil. Kann man aber leicht ändern …

Starke Leistung! Applaus! :+1: :clap:

Allerdings funktioniert SSO nicht,

Hast du in der OPNSense denn SSO schon aktiviert?

Klar, es war nur ein Hinweis, dass da noch Domains stehen da hier einige vorsichtig sind mit ihren Domains (besonders, wenn sie offizielle Domains nutzen).

Wenn ich herausgefunden habe, was ich im FF umstellen muß, damit der Kerberos macht, wird das in dem walkthrough gleich mitangepasst.

Ich ersetze die auch immer, wenn ich hier Konfigurationen poste … nervt zwar, aber ich bekomme auch schon so genügend eMails von unserem Wordpress, dass wieder diese oder jene IP für 24 Stunden gesperrt wurde, weil zu viele falsche Logins ausprobiert wurden. Muss man ja nicht unbedingt noch befeuern, indem die domain überall auftaucht und automatisch abgegriffen werden kann, meine ich…

Jedenfalls: Danke, fail2ban!

Hier ein Screenshot, wie es bei mir zZ aussieht – die alten Einträge hatte ich dort auch gelöscht:



Ähnliches müsste man dann aber auch für Chromium etc einstellen?!?
Hm – habe gerade gesehen, dass Chromium auf die Systemeinstellungen verweist:
Netzwerk → Netzwerk-Proxy und da steht: AUS

Im Moment steht der Client hier aber auch noch in der OPNSense unter
Firewall --> Alias --> NoProxy in der Ausnahmeliste

Hast du bei dir auf der OPNSense-FW unter „Dienste → WebProxy → Single Sign On“ etwas eingestellt?

Verdammt, den Schritt habe ich verschwitzt… der lässt sich nicht automatisieren, weil Opnsense kein hübschen Shell-Commands hat wie das mustergültige Linuxmuster.