Kategorie-Archiv: studIT LCS

desktop-optiplex-fx160-overview1

Optiplex FX 160 revisited

Eigentlich wollten Dennis und ich unsere DINO-System-Reihe mit ein paar kurzen Posts starten, die das an der Uni Göttingen eingesetzte Linux-Terminal-Projekt mal näher beleuchten. Und da sollte am Anfang eine kurze Einführung stehen, was das Ding genau macht, was es kann und was es von anderen Systemen unterscheidet.

Aber da kam leider der Frust über den kleinen Dell-Computer dazwischen, über den ich 2009 schon einmal geschrieben habe. Das Fazit von damals kann zwar grundsätzlich stehen bleiben, aber der Frust ist mittlerweile sehr viel größer: Was für eine höllen-doofe Grafikkarte haben die da verbaut???

Es hat Dennis (und mich im geringeren Maße) ein paar Stunden gekostet, das Gerät unter dem neuen DINO zum laufen zu bekommen, weil es dafür keinen vernünftig verfügbaren Treiber gibt! Und wir reden nicht von einem Treiber, der VA-API, 3D-Spielereien oder sowas bietet, sondern der einfach nur ein Bild auf den Bildschirm zaubert, dass nicht aus einem Farbverlauf pink-nach-blau aussieht. Allein die Suche in den Weiten des Netz ist grauenvoll…wenn man Treiber von Sharehostern laden muss, um ein funktionierendes System zu haben, läuft was falsch. Irgendwann haben wir dann bei github Treiber gefunden, aber auch die wollten kein Bild erzeugen.

Das hat erst nach meiner Schnapsidee geklappt, mal das VGA-Kabel anstelle des DVI zu nutzen. Gesagt, getan, Bild. Was für eine ******

Ich verstehe nicht, was die Dell-Entwickler bei der FX 160 geritten hat: Das Ding ist bis auf die Grafikkarte klasse, tut seinen Dienst, ist klein und sparsam und hat für Standard-Aufgaben genug Power. Selbst ein i810-Chipsatz wäre besser – aber nein…(und mir ist klar, dass die Systeme für die Windows-Umgebung gebaut sind, aber wenn man den Foren glaubt, ist die Treiber-Funktionalität da auch eher suboptimal…) Doof, doof, doof. Und sehr schade.

ActiveDirectory Halbwissen

Nach einigen nervigen Stunden/Tagen des rumprobierens und lesens diverser Artikel die man als Dokumentation betrachten könnte, haben der Niels und ich es nun doch geschafft einen NFS4-Server und Client unter Linux im Microsoft Active Directory zu authentifizieren.
Wenn man sich mal durch das Internet wühlt und liest wie das funktionieren soll, wird man an einigen Stellen enttäuscht feststellen das es eben genau so nicht in der Realität funktioniert. Vielleicht liegt das auch an unserer AD-Struktur die etwas größer und untypischer ist, als die in den HowTo’s und Tutorials erwähnten. Entsprechend hatten wir bei der ein oder anderen Fehlermeldung auch mal eine Mandantentrennung in Verdacht, insbesondere als ich verzweifelt versucht hab mich mit dem Likewise-Paket der Domäne anzuschliessen.

Inzwischen ist das ganze im Clientsystem auch weitestgehend automatisiert, praktischerweise erfolgen LDAP-Anfragen an das AD nun auch über SASL. Wenn das Kerberos schon funktioniert kann man es schliesslich auch gleich für jeden Mist nutzen.

Im Prinzip ist die Einrichtung auch super simpel und selbsterklärend und ich hatte mir fest vorgenommen mein gesamtes Wissen einfach mit ins Grab zu nehmen. Aber da ich mich selbst kenne und weiß das ich in spätestens 6 Monaten nicht mehr nachvollziehen kann wie und warum das funktioniert, schreib ich hier mal kurz die wenigen Einrichtungsschritte auf um das AD dafür zu Nutzen zwei Unix/Linuxmaschinen NFSv4 mit sec=krb5[ip] nutzen zu können:

Zunächst legt man ein Computerkonto im AD an, wir haben das auf einem Windows 2008 gemacht, weil man dort wenigstens im Log sehen konnte wenn etwas schief läuft, authentifizieren tun wir allerdings gegen einen 2003 DC. In den ganzen Sambahowtos steht immer man soll ein Benutzerkonto anlegen, kann man machen, muß man aber nicht.
In unserem AD werden leider die ServicePrincipalNames nicht richtig angelegt, das kann man mit setspn.exe -r Kontenname “reparieren”,  oder man schreibt das wie ich einfach mit ADSIEdit da rein … letzlich wird das wohl ein Powershell oder Perlscript erledigen.
Als SPN sollte der FQDN z.b. “lilith.meine.domain.de” und host/FQDN “host/lilith.meine.domain.de” vorhanden sein, da wir NFS auch nutzen wollen fügen wir noch “nfs/lilith.meine.domain.de” hinzu.
An dieser Stelle sei angemerkt, dass die SPNs nicht richtig verarbeitet werden um nicht zu sagen der 2003DC interessiert sich nicht recht dafür und der 2008 bekommt das Lookup der Attribute nicht geregelt …

Damit das ganze ordentlich ist, setzten wir noch den DNS-Namen im AD, das dient in unserem Fall allerdings auch nur der Optik, weil wir dafür ein gesondertes IPAM-System benutzen. Und ganz wichtig, wir setzen den UPN auf “host/fqdn” also z.b. “host/lilith.meine.domain.de”. Der Grund ist einfach weil das mit den SPNs nicht funktioniert, davon ab wird wohl das ganze ServicePrincipalgeraffel ignoriert sobald ein Wert irgendwo im AD doppelt auftaucht.  In der Theorie sollte es reichen die SPNs zu setzen so wie es z.B. in der MIT-Kerberos Doku auch beschrieben wird, in der Praxis setzen wir halt den UPN auf den ServiceNamen den wir benutzen in unserem Fall also host ..

Normalerweise sollte man sich nun von der Linuxmaschine mit “kinit host/fqdn@REALM” anmelden können und ein TGT bekommen, falls nicht, tja Pech ..
Für den NFS-Server setzt man den UPN aber besser direkt auf nfs/fqdn, mit host/.. ist irgendwie der gssvcd das ein oder andere mal nicht richtig gestartet. In der Doku dazu steht übrigens das in den Keytabs die Einträge in der Reihenfolge “root/fqdn”, “nfs/fqdn” und “host/fqdn” und zuletzt “nfs/*@REALM” als Credentials probiert werden. Zumindest als Client funktioniert das auch und es hat den Vorteil das man über den host-Principal noch andere Dinge laufen lassen kann, das dient aber auch  nur als Übergangslösung bis das mit den SPNs klappt…

Damit das nun alles automatisch klappt, wir nutzen den Kernel-Automounter um Homedirectories zu mounten, muß  man es nur noch schaffen eine Keytab zu erzeugen und das ist wieder ein sehr spannendens Kapitel.
Im Internet steht dazu: führen sie “ktpass.exe -princ host/lilith.meine.domain.de@REALM -mapuser DOMAINlilith -pass +rndpass -DES-DBC-CRC +DesOnly KRB5_NT_PRINCIPAL -out bla.keytab” aus oder so ähnlich das ist aus dem Gedächtnis zitiert. Dieses Kommando mapped ein Nutzerkonto auf einen ServicePrincipal, zu deutsch schreibt den UPN um. Da wir kein Nutzerkonto haben und den UPN schon manuell geändert haben, weil wir wissen das die SPNs nicht gehen können wir uns das sparen.
Interessant ist eigentlich nur der Hinweis auf +DesOnly, unser AD ist leider nicht in der Lage AES zu benutzen, warum weiß ich nicht ist mir auch egal. Bleiben als mögliche Chiffren also des-cbc-crc, des-cbc-md5 und rc4-hmac, letzteres will unser AD gern haben und macht die wenigsten Probleme ist dafür halt nicht mehr State-Of-The-Art.
Was man nun wissen muß, weil das in der Knowledgebase widersprüchlich steht: ktpass verhält sich je nach Windowsversion etwas anders und bekommt es nicht hin die aktuelle KVNO aus der Kerberosdatenbank zu lesen sondern legt die Keytabs immer mit Version 1 an außer man setzt das manuell via -kvno auf einen anderen Wert, den man aber nicht so trivial unter Windows heraus bekommt …
Sollte man das doch irgendwie schaffen muß man die Keytab natürlich noch auf den Client kopieren, um sich den ganzen Scheiß zu sparen kann man die Keytab auch gleich mit den MIT-KRB-Tools auf dem Linuxclient erstellen.

Als erstes finden wir die KVNO raus, dafür gibt es den Befehl kvno, Parameter ist der Kontenname, hat man noch das gültige TGT vom kinit-Test wirft einem das direkt eine Zahl entgegen, anderfalls will es ein Passwort oder mault das es keine Credentials hat -> kinit machen, glücklich sein.
Dann startet man ktutil und erstellt sich die Keytab mit folgender Zeile:

Und schon sind wir fertig. Die Chiffren heißen übrigens “des-cbc-crc”, “des-cbc-md5″, “rc4-hmac”, “aes256-cts-hmac-sha1-96″ und “aes128-cts-hmac-sha1-96″, bei uns halt rc4, weil Baum …
Ob das klappt testet man einfach mal mit “kinit -k -c /tmp/testcc”, dann sollte man mit “klist -c /tmp/testcc” die laufenden Tickets sehen.

Herzlichen Glückwunsch, sie haben nun einen Linuxclient ohne Sambageraffel an einem Windows 2003R2 angebunden und können ihre Dienste dagegen authentifzieren.
Wenn man den rpc.gssvcd mit -vvv startet sieht man die ganzen Debugmeldungen im Log und etwaige Fehler die auftreten, die es an dieser Stelle aber nicht mehr geben dürfte.
Bei aktuelleren Linuxdistributionen muß man allerdings in der krb5.conf bei den libdefaults noch “allow-weak-crypte = true” hinzufügen, da rc4-hmac nicht mehr standardmässig akzeptiert wird, da das AD eigentlich auch Aes256 kann sollte man das zumindest ausprobieren und nehmen sofern es denn funktioniert.

Und wenn wir schon eine funktionierende Keytab haben können wir auch gleich noch die LDAP-Anfragen damit aufrufen, dazu schreibt man in die nss-ldap.conf:

Den Credentialcache lassen wir per Cron erzeugen mit einem “kinit -k -t /etc/krb5.keytab -c /var/tmp/nssldap.cred 2>&1 > /dev/null” zu Zeiten die unter der Defaultleasetime liegen, bei uns hab ich das auf alle 6 Stunden eingestellt, die Tickets sind 10 Stunden gültig.

Und alles was jetzt noch fehlt um unser cooles BlueArc in Betrieb zu nehmen ist nicht mehr direkt mein Problem, bzw. sind das nur noch Kleinigkeiten :)

Machen wir auch in Desktop virtualization? :-)

Ich hab’ gerade die aktuelle ct gelesen und bin da wieder über den tollen Begriff “Desktop virtualization” gestolpert:

“Virtual desktop infrastructure (VDI) is a server-centric computing model that borrows from the traditional thin-client model but is designed to give system administrators and end-users the best of both worlds: the ability to host and centrally manage desktop virtual machines in the data center while giving end users a full PC desktop experience.”

Wenn also Wikipedia nicht lügt, dann ist unser Linux-System genau sowas: Zentrales Managment (PXE aktivieren und los), aber der Nutzer fühlt sich wie vor einem “normalen” Desktop und kann Tuxracer oder die coole Linux-Demo von World of Goo spielen und nebenbei für sein Studium recherchieren (…vielleicht sind die Prioritäten da auch umgekehrt….). Wenn man also die Clients durch sowas wie die schon beschriebene, sehr sparsame Optiplex FX160 ersetzt, haben wir auch unseren Desktop "virtualisiert". Und da braucht man keine super-potenten Server, die bestimmt genausviel Strom zusätzlich fressen (und wesentlich mehr Kühlung, Platz, etc im Rechenzentrum verbrauchen), wie der Umstieg auf Kleinst-Knuddel-Thin-Clients einsparen würde.

Naja, bestimmt habe ich ein Totschlag-Argument für Desktop-Virtualisierung übersehen…, aber im Moment überzeugt mich das nicht wirklich.

Optiplex FX160 und studIT LCS

Neues Spielzeug für die Admins ":-)" Gestern haben wir eine Optiplex FX160 als Teststellung erhalten, die dann auch 10 Minuten später als LCS bootete. Ist die erste Kiste mit Atom-Prozessor, die mir über den Weg läuft und ich muss sagen, zum Surfen, Texte schreiben und Videos gucken ist das Ding ideal und schnell genug (selbst wenn man im Hintergrund mit vier Threads einen Kernel kompiliert….nicht mehr, wenn Dennis die Threads auf unendlich stellt….).

Und die neue Optiplex ist echt sparsam: 22 Watt unter Volllast (Kernel kompilieren mit unendlich Threads und ein Quicktime x264-Trailer in 1080p) ist mal ne Hausnummer, da verbraucht ein TFT-Display ja schon fast mehr.

Was nicht soo toll ist: Die Linux-Unterstützung, genauer die des Grafik-Chips. Im Moment spricht das System die noch mit dem VESA-Treiber an (was schnell genug ist, um normale Videos zu betrachten), aber einen nativen Treiber für die SiS Mirage-irgendwas habe ich noch nicht gefunden (hab' aber auch nur die ersten vier Treffer bei google überflogen ";-)" ). Wenn das auch noch gehen sollte, ist die FX160 ne optimale Surf- und Arbeitsstation….zumal damit auch Suspend2Ram mit dem LCS funktioniert ":-)"

OpenOffice.org 3 Vorkonfiguration

Ist eher ein Memo für mich selbst: Ich hab' im Netz auf die schnelle keine Dokumente gefunden, die diese Vorkonfiguration erklären (vor allem auf den OOo-Seiten selbst nicht..die Doku ist da eh nicht soo toll), schreibe ich das mal kurz hierhin ":-)"

Unter Ubuntu 8.10 konfiguriert man OOo als Admin unter den folgenden Pfaden so, dass es die Microsoft-Formate als Standard benutzen:

/usr/lib/openoffice/basis3.0/share/registry/modules/org/openoffice/Setup/Setup-*xcu

Wieder weniger Arbeit

Juhu, endlich mal wieder ein Eintrag im Blog. ":-)"

Hab' heute mal kurz mit dem Distro-Kernel vom neuen Ubuntu rumgespielt und siehe da, der funktioniert jetzt auch out-of-the-box mit unserem Linux-Client-System. Einfach in der /etc/initramfs-tools/initramfs.conf angegeben, dass per NFS gebootet werden soll und die Ramdisk im Bootloader von pxelinux eingetragen und schon bootet das System tadellos mit UnionFS durch. Sogar mit Klicki-bunt-Uplash… ":-)"

Also haben wir in Zukunft ein Paket weniger, das selbst gebaut werden muss. Wieder mehr Zeit, um am System selbst was zu verbessern.

Ubucon 2008

Fast vergessen: Ich hab' 'nen Vortrag über unser Linux-System auf der diesjährigen Ubucon 2008 gehalten. War etwas doof, dass ich gesundheitlich nicht ganz so auf der Höhe war, deshalb ging es nach dem Vortrag wieder nach Hause, aber viele Leute haben mir berichtet, dass viele Bei- und Vorträge interessant gewesen sind. Also merken: Nächste Ubucon – hingehen ":-)"

Für diejenigen, die nicht da waren und dennoch die Folien haben wollen (:-)), stelle ich die mal hier on (Notiz an mich: Die Folien auch noch an die Ubucon-Leute schicken…). Ist nichts weltbewegendes, aber wenn ich sie schon mal gemacht habe…

Ach ja, bei freiesMagazin erwähnen sie bei ihrer Betrachtung der Ubuncon 2008 sogar meine Wenigkeit (Sonntags-Eintrag) :-

[Update]
hmm, ich sollte die Beiträge auch veröffentlichen, nicht nur schreiben…

DXS-System auf launchpad.net

Nur kurz mal wieder ein Lebenszeichen meinerseits: Ich habe den Code für das Linux-Client-System, dass wir (studIT) an der Uni Göttingen einsetzten, auf Launchpad.net gestellt. Da werden ab jetzt auch die Bugs verwaltet und das Repository wandert auch bald dorthin. Vielleicht arbeiten dann ja sogar irgendwann andere Leute an dem Projekt mit… ":-)" Hach, Träume muss man haben.

Nutzer-Hilfe v2

Heute war ein guter Tag für uns Admins: Thomas zieht in sein eigenes Büro :-)  UND wir haben jetzt eine weitere Software, die die Bewegungs-Gründe auf fast Null reduzieren.

Die Lösung heißt iTALC. Das ganze ist, wie die Webseite sagt:

iTALC ist ein praktisches und leistungsfähiges didaktisches Werkzeug für Lehrer, mit dessen Hilfe man andere Computer im Netzwerk auf verschiedene Art und Weise beobachten und fernsteuern kann. iTALC läuft derzeit unter Linux und Windows 2000/XP/Vista

Und diese Beschreibung stimmt sogar:-) Auf unseren Linux-Clients werden wir das jetzt folgendermaßen lösen:

Wir definieren pro Standort einen “Klassenraum”. Beim Booten starten die Rechner die Client-Software (also können in der Übersicht auf dem Master-Rechner sehen, ob alle Clients auch schön booten). Sobald sich ein Nutzer einloggt, wird die Client-Software auf seinem Terminal abgeschaltet – wir wollen unsere Nutzer schließlich nicht überwachen!

Im Startmenü findet sich unterhalb der Menü-Gruppe “Hilfe” der Punkt “Hilfe anfordern” (oder wie auch immer ich das Ding nennen werde), worauf wiederum der Client startet (die Kommunikation zwischen Beratung und Nutzer kann dann über Jabber oder irgendwann auch mal VoIP realisiert werden) und der Support erstens sieht, was der Nutzer auch sieht und zweitens auch eingreifen kann, um eventuelle Probleme des Nutzer-Accounts zu lösen(lock-files o.ä.).

Ingesamt eine sehr schöne Software. :-)

Automatische Dxs-Konfiguration in Aktion :-)

17 Sekunden sind nicht wirklich lang, aber so lange dauert es auch nur, bis der Nutzer an unserem neuen Dxs-System eingeloggt ist. Und sein Account für ihn vorkonfiguriert wurde: Firefox, Thunderbird und der Desktop sind bereit zur Benutzung. Wo er normalerweise die Programme noch mit seinen Daten füttern müsste, kann er bei uns sofort mit dem Arbeiten, Mailen oder Surfen loslegen. Und so sieht das System im Moment aus:

 

Und noch eine Notiz für mich selbst:

mencoder input_file -ofps 25 -o output_file -of lavf -oac mp3lame -lameopts abr:br=64 -srate 22050 -ovc lavc -lavcopts vcodec=flv:keyint=50:vbitrate=700:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=320:240