Skolelinux Lenny Test
echo Hallo Paul 1 | mail -s "test me root" root
nc localhost 25 220 tjener.intern ESMTP Exim 4.69 Mon, 22 Mar 2010 21:39:16 +0100evtl. mal swaks (swaks - SMTP command-line test tool) ausprobieren.
openssl s_client -connect postoffice:993 CONNECTED(00000003) depth=0 /C=NO/ST=NA/L=Skolen/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=postoffice/emailAddress=postmaster@intern verify error:num=18:self signed certificate verify return:1 depth=0 /C=NO/ST=NA/L=Skolen/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=postoffice/emailAddress=postmaster@intern verify return:1add: /etc/lwat/config.php (Damit man sich die Passwörter auch merken kann)
$allowPwSet=true ;Nur zur Schönheitsreperatur add: /etc/powerdns/pdns.d/pdns-debian-edu.conf
allow-recursion-override=yesein debian-edu-install.dat ist schon da in /etc/debian-edu/www. Addieren könnte man:
# Achtung nur zum testen so als Klartext password verwenden.
d-i passwd/make-user boolean false
d-i passwd/root-password password geheim
d-i passwd/root-password-again password geheim
.....
debian-edu-profile-udeb debian-edu-install/confirm boolean true
debian-edu-install debian-edu-install/profile multiselect Workstation
# only for tjener and lwat set config.php
lwat lwat/allowPwSet boolean true
# that is a hook for a programm that can be startet at the next boot. Also like the {{{chmod}}} it is possible to start actions direct.
d-i preseed/late_command string wget http://www/start4adm -O /target/etc/rc2.d/S80-start4adm; http://www/start4adm.tgz -O /target/var/www/start4adm.tgz ; chmod +x /target/etc/rc2.d/S80-start4adm; sync
Einige vom presseding steht auch im pxe boot loader. Dort kann man auch das profile hin verschieben! debian-edu-install/profile=WorkstationDer Rest des presseding z.B. partitionierung ist intern in debian-edu Paketen gemacht. Sollte aber durchaus überschreibbar sein. Aus dem Debian Edu Manual
Der PXE-Installer verwendet die Dateien /var/lib/tftpboot/debian-edu/install.cfg und /etc/debian-edu/www/debian-edu-install.dat. Durch Anpassung dieser Dateien können z.B. Fragen während der Netz-Installation vermieden werden. Gleiches erreicht man durch Modifikation von /etc/debian-edu/pxeinstall.conf und /etc/debian-edu/www/debian-edu-install.dat.local, wobei anschließend /usr/sbin/debian-edu-pxeinstall aufgerufen werden muss, um die generierten Dateien neu zu erzeugen.
Ruhig mal in /usr/sbin/debian-edu-pxeinstall rein schauen es ist ein script da sieht man was alles geändert wird. IP-Bereiche vom Debian-Edu für test in Virt. Network: (Draft) findet man unter /etc/ldap auf tjener.
* 10.0.2.1 gateway
* 10.0.2.2 tjener ......
* 10.0.2.3 Reserved for new tjener install
* 10.0.2.4 Reserved for standalone install
* 10.0.2.5 - 10.0.2.9 6 x minimal für weitere Server
* 10.0.2.10 - 10.0.2.29: 20 x terminalserver
* 10.0.2.30 - 10.0.2.49: 20 x printer
* 10.0.2.50 - 10.0.2.59: 10 x diskless workstation
* 10.0.2.60 - 10.0.2.79: 20 x workstation install 32bit
* 10.0.2.80 - 10.0.2.99: 20 x workstation install 64bit
* 10.0.2.100 - 10.0.3.243 DHCP-Range thin-clients
cp vim /usr/sbin/debian-edu-pxeinstall /usr/local/sbin/debian-edu-pxeinstall # dann Anhängen ln -sf ../debian-edu/default-thin.cfg $pxecfgdir/0A0003 # IPs der DHCP-Range für Thin clients kein Menu. ln -sf ../debian-edu/default-diskless.cfg $pxecfgdir/0A000250 # Schwierig zu unterteilen in hex alle einzeln erzeugen? # IPs müssen eh in ldap eingetragen werden für mount von /home. Diskless oder Install muss auch entschieden werden. ln -sf ../debian-edu/default-install-termserv.cfg $pxecfgdir/0A000210 # Schwierig zu unterteilen in hex alle einzeln erzeugen? # IPs müssen eh in ldap eingetragen werden. ln -sf ../debian-edu/default-install1.cfg $pxecfgdir/01-ee-ee-ee-ee-ee-50 # Eine bestimme MAC einer Virtuellen MaschineScript nehmen und Ouput anfügen: >> /usr/local/sbin/debian-edu-pxeinstall
#!/bin/bash
tftpdir=/var/lib/tftpboot
for (( I=10; $I <= 29; I++ )); do
IP_ADDR=10.0.2.$I
echo -n "ln -sf $tftpdir/debian-edu/default-install-thin-client-server.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
for (( I=50; $I <= 74; I++ )); do
IP_ADDR=10.0.2.$I
echo -n "ln -sf $tftpdir/debian-edu/default-diskless.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
for (( I=75; $I <= 99; I++ )); do
IP_ADDR=10.0.2.$I
echo -n "ln -sf $tftpdir/debian-edu/default-install-workstation.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
for (( I=100; $I <= 255; I++ )); do
IP_ADDR=10.0.2.$I
echo -n "ln -sf $tftpdir/debian-edu/default-thin.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
for (( I=0; $I <= 255; I++ )); do
IP_ADDR=10.0.3.$I
echo -n "ln -sf $tftpdir/debian-edu/default-thin.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
IP_ADDR=10.0.3
echo -n "ln -sf $tftpdir/debian-edu/default-thin.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
IP_ADDR=10.0.2.3
echo -n "ln -sf $tftpdir/debian-edu/default-install-mainserver.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
for (( I=4; $I <= 9; I++ )); do
IP_ADDR=10.0.2.$I
echo -n "ln -sf $tftpdir/debian-edu/default-install-minmal.cfg $tftpdir/pxelinux.cfg/"
for I1 in $(echo ${IP_ADDR}| sed -e "s/\./ /g"); do
printf '%02X' $I1
done
echo
done
python -c 'print "%02X%02X%02X%02X" % (10,200,7,7)'ranges aus /etc/ldap/dhcp.ldif
* 192.168.0.1 - 192.168.199 thin clients ltspserver00 ee:ee:ee:ee:eb:01 -> 192.168.0.254 thin client server
* 192.168.0.200 - 192.168.253 thin clients ltspserver01
* 192.168.0.254 thin client server
Upload new attachment "debian-edu-pxeinstall_asc_2010-03-27" Upload new attachment "debian-edu-pxeinstall_asc_2010-03-28" Achtung: Attachments sind auf der Originalseite geblieben User Importieren
aus datei siehe Upload new attachment "user_2010-03-28"Ldap editieren
ldapvi --host ldap -ZZ --bind simple --tls allow -D 'cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no'Eingegebene Mac ID's aus dem LDAP ausgeben
ldapsearch -x -LLL '(&(!(dhcpHWAddress=ethernet 00:00:00:00:00:00))(dhcpHWAddress=*))' cn dhcpHWAddressWie bekommt man die erste Zeile mit der dn weg? Workaround:-> grep -E "(^cn:|^dhcp)"|awk 'print $NF'
Bootwillige MAC's aus dem Netz sniffen
tcpdump -qtel broadcast and port bootpc
cron-apt
cron-apt benutzen? Zumindestens für Update von Workstation ... ?Zum Debuggen
In der jeweiligen Bootzeile: nosplash In /etc/exports erstmal alle Clients enablen * statt IPsAutologin
[Default] LDM_AUTOLOGIN = True LDM_USERNAME = user1 LDM_PASSWORD = password1
Monitor gibt keine Daten zurück
z.B. kvm EmulatorX_HORZSYNC = "60-70" X_VERTREFRESH = "59-62"
Schittstelle für Qemu/KVM
/etc/network/interfaces
auto lo
iface lo inet loopback
# cable labeled M1
iface eth1 inet manual
hwaddress ether 00:c0:88:00:40:ce
auto br-eth1
iface br-eth1 inet manual
up ifconfig eth1 0.0.0.0 promisc up
bridge_ports eth1
bridge_fd 5
bridge_stp no
TerminalServer Interfaces
Die Reihenfolge von eth0 und 1 kann in /etc/udev/rules.d/70-persistent-net.rules korrigiert werden.
Projekt
RolloutTraining EntwicklungRolloutTraining EntwicklungRolloutTraining/BrainStorming- Beratung der Schule (vorhandene Hardware, anzuschaffende Hardware)
- EDV Admin ist kein Nebenjob ab einer bestimmten Größe. --> Gibt es eine Firma die das übernimmt?
- Testinstallation zeigen können. Struktur des Netzes erklären!
- Starke Nutzung von Lenny/Preseedings von einem Mutterrechner aus. Der nicht unbedingt in der Schule verbleibt (eigener Rechner als Startpunkt über das Netz). Somit können Erweiterungen implementiert werden ohne eine Fork mit anderere Basisinstallation u.s.w. machen zu müssen.
- Admintools: LWAT, Munin, Nagios, Sitesummary, Logfiles .... how to debug
- kleine Lösung (ein Raum) sowie Erweiterungs-Szenarium
- Keine Entwicklungen nur Administration!
- Handbuch verbessern aber keine neues schreiben. Evtl. Howtos aber bevorzugt mit wenigen einfach automatisierbaren Handgriffen. (pressedings) --> profile?
- Wir testen das Handbuch!
- Sicherheitsbewertung -> Sicherheitsbelehrung (z.B. momentan NFS)
- Verfügbarkeitsbewertung -> Belehrung (z.B. eine Platte für alles auch Backup) (Idee Softwareraid + Platte regelmäßig weglegen / besser Bänder / oder Dienstleister)
- Checklisten und Arbeitsbögen erstellen.
- Installserver bereithalten / alle MACs sammeln und pxeboots und preseedings mit script initalisieren. (evtl. erst auf neuem tjener)
tjener MAC_ID static01 MAC_ID terminalsever01 MAC_ID ....
- Realistische Zeitabschätzung eines Rollouts ermöglichen abhängig von Hardware, Menge .....
- Livecycle Betrachtung der Daten (z.B. Lehrer könnten 40 Jahre Ihre Daten brauchen)
- Spezialanwendungen als Extraprodukt? Autologin und löschen aller Daten beim logout/Durch Lehrer/Nachts. (z.B. in der Bibliothek / Oder mit iTALC für Eintagesveranstaltungen) Bedarf ermitteln. Internetanbindung über 2te Netzwerkkarte in tjener dann auch per Wlan.
- Zusammenarbeit mit Entwicklern -> Wünsche äußern.
- Zusammenarbeit mit Marketing -> Prüfen ob gewisse Zehnarien einfach realisierbar. / Bedarf für Sonderlösungen?
- Virtuelle Server möglich? Zum Testen auf jeden Fall. (virt-manager mit KVM unter Ubuntu lucid sieht sehr gut aus)
- iSCSI statt Raid? / DRDB? Fail over Server (LDAP, DHCP)?
- SSH Zertificate, Fingerprint u.s.w.
- Anzeigen der Fingerprints des Servers: ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub (-f weglassen ist es der user) [Soklolinux benutzt RSA?] Aufschreiben! Ist ein öffentlicher Fingerprint man kann Ihn bekannt machen. Aber nicht z.B von einer Webseite ablesen!!!!
- VNC (X2GO iTALC) NX (Free NX)
- USV (warum? Was ist an Wartung und Kosten damit verbunden?(Wie gut ist das Netz?) Redundante Netzteile?)
- Rettungs CD .... Imaging -> linbo oder neu Install debian-installer/preseed oder FAI.
- Update der Arbeitsstationen.
- Programmieren Perl, shell, sed, awk und co.
- Performance Test und Optimierung: z.B. hdparm oder BIOS Einstellung:AHCI
- vlan
- Lan Performance verbessern.
- Wlan, Ethernet Kabel switche ...
- Irgendwie die wichtigsten und einfachen Handgriffe zusammenfassen (Warum macht man das, was kann dabei schief gehen). Dann weitere Handgriffe nicht so wichtige oder mit steigender Schwierigkeit. ( Hausmeister, Schüler(Benutzer), Lehrer(Aufsicht und Helfen), JuniorAdmin, Admin, Supporter, Entwickler ... )
- LPI Zertifizierung auf Grundlage von Skolelinux? Sogar für die Oberstufe ermöglichen?
- Neueste Software. Backports möglich für Workstations/Terminalserver aber besser so etwas nicht auf tjener benutzen. Oft die Frage wirklich nötig oder Hype?
- SkoleLinuxLiveCD als Admin Training?
- Nach dem Test jedem Rechner seine Aufgabe geben durch das pxe menu --> (IPs, MACs, oder UUIDs?) Automatisch durch script möglich?
- Es gibt ein Handbuch (sollte alles funktionieren, Debian Packet), HowTo (verschiedene Qualität, Wiki) .... ???? ...
- Jeder Teilnehmer meldet mindestens einen Fehler (einen wird wohl jeder finden) an http://bugs.skolelinux.org
- Der Admin zu Besuch an einem schönen Tag in der Schule.
- Der Tag wird schlechter "Karla" kann sich nicht am System anmelden.
- Das Internet ist weg.
- Der Rektor hat eine Vorschlag: "Wie wäre es Unterlagen um alle Probleme lösen zu können?"
- Der Hausmeister muss den Strom abschalten.....
- Wir bekommen einen neuen Computer Raum dazu.
- Eine andere Schule möchte auch es so schönes System wie wir.
- Können Schüler helfen? (Admin Zertifizierungskurs ähnlich LPI so das man in diese Richtung weitermachen kann? (mittels Wiki lernen? ))
- Wir haben Schwierigkeiten mit einigen Schülern die sich als Hacker betätigen
- Wir werden Angegriffen.
- Regelmäßiges Update aller Maschinen mittels cfengine und aptitude? Sicherheitsupdates?
- Netzwerkstruktur
- Dienste und die dafür benutzen Programme: netstat -tulpe
- Dienst -> Programm -> Tool zum testen.
- domain (dns) -> powerdns(ldap), nmbd -> host, dig, resolvconf(für resolv.conf)
- bootps (dhcp) -> dhcpd(ldap) -> dhclient3, tcpdump,
- ldap -> openldap, nmbd? -> ldapserach,
- www (Webserver) -> apache2 -> wget?
- webcache (Proxy Server) -> squid -> wget?
- ipp (Druckserver) -> cups -> ?
- postoffice (SMTP mail) -> exim4 -> telnet wird wohl wegen Verschlüsslung nicht gehen aber da was was mit open....
- postoffice (IMAP mail) -> courier -> siehe exim4
- cfengine, sitesummary Update Wartung auch übers Netz -> apt, cfengine, ssh, dhcpd, ldap
- Monitoring -> Munin, Nagios, site-summary, cron und mail, syslog
- homes, (Fileserer SMB NFS) -> samba, nfs -> net tools ... net rpc info # auslesen der Netzwerk SID und andere Net Komandos. pbedit # Samba Benutzer bearbeiten.
- ntp (Zeitsync) -> ntp -> ntpdate?
- Backup -> rsync, rdiff-backup, slbackup-php, etcinsvk (für /etc)
- syslog, System Logging -> syslog -> logger, cat /var/log/* ; tail -f /var/log/messages
- avahi avahi-daemon (??? eine Zeroconf-Implementierung ???)
- Install Server -> DHCP, pxe, preseeding
- wpad
- db
- backup
- ssh
- ltsp
- kerberos
- ocsinventory
- domain
- afsdb
- cron
- Filesysteme:
- lsof
- lsscsi
- pvdisplay, lvdisplay, ....
- fsck, fsck.ext3, tune2fs
- mount
- Prozesse;
- top, mtop, ps axu
- Frage dann ca. 5 mögliche Antworten und dann Erklären warum welche Lösung falsch oder Richtig ist.
- Erklären von Grundlagen und dann immer konkreter werden (schwierig wegen Gesammtbild und viel muss aus anderen Quellen geholt werden).
- Als Praesentationen aufgemacht es wird immer kurz ein Thema auf ca. 10 Seiten behandelt.
- Der Admin lebt mit dem System und seinen Begrenzungen. (z.B. Backports aufspielen sollte der Diestleister/Supporter machen genauso wie Planung und Neuinstallation) Einzelne Workstationen neu aufsetzen u.s.w. ist schon OK.
- Mit einem standard Skolelinux System zu arbeiten hat Vorteile. Es gibt andere gleiche Systeme. Wenn man auf Fehler stößt kann man vergleichen, als Bug melden ...
- In etwa LPCI 1 & 2 Niveau für Teilnehmer (aber nur Skolelinux relevant) voraussetzen. Nur das man diesen Fragen nicht zu stark aufhällt!
- Doku erstellen im Wiki. Keine Perfekte Doku das Wiki soll leben und allen die Möglichkeit eines Beitrages geben. Gutes sollte wenn sinvoll in die Skolelinux Doku oder in andere offiziellere Doku übertragen werden. Im Wiki sollten alle Fragen gesammelt werden! Spätere Klassifizieren nach LPCI 1 oder 2 sowie als SkolelinuxAdminKurs oder AdvancedSkolelinuxRLP (CIPUX,iTALC,Backports ....) wäre schön.
- Debugging der Probleme die im Standard System auftreten können.
- Standard oder Advanced? Was kann geleistet werden und welche Mittel stellt man dafür zur Verfügung. z.B. Wine, Spezielle Arbeitsumgebungen u.s.w. z.B. Warum oder warum nicht Wine Argumente und Erfahrungen sammeln. Alternativen am besten welche die mit Skolelinux aus geliefert werden?
- Was ist mit Windows? Einfaches Anbinden eines XP an den tjener ist OK. Aber was noch und wichtiger wo begrenzen? Was könnte man hier als Grundlage empfehlen so wie LPI aber auch ohne Prüfungen abzulegen. Advanced ist bei Lenny Vista oder 7 weil nicht direkt unterstüzt. Und der alte Kram 95,98,.. was machen wir da? Zugriff aufs Filesystem? Wieder herstellen? Nein, denn Linbo ist advanced weil nicht direkt unterstützt.
- Kurzer Kommmentar zum Lasten-Pflichtenheft Ansatz: Wir wollen lernen was das System kann und dieses maximal ausnutzen. Falls es etwas was gebraucht wird nicht oder nicht mit vertretbaren Aufwand kann sollten Entwickler/Supporter/Schule/Land übernehmen.
- Wir arbeiten mit dem Lenny/Skolelinux deswegen Doku unter /Lenny/
- Seine Benutzer glücklich machen.
Sowie vor Schaden schützen (technisch nach Vorgaben der Erzieher)! - Richtige Einschätzung Bedarf, Resourcen, Möglichkeiten.
- Deligieren von Aufgaben wenn nötig und/oder möglich.
- Fehler und Probleme suchen, beheben, workarounden und an Entwickler melden (z.B. Bugzilla).
- Vorausschauend mögliche Fehler erkennen.
- Sich selbst und seine Helfer weiterbilden.
- Dinge wartbarer machen und damit Zeit und Geld sparen. Aber "keep ist simple"!
- Welche Dateien darf der Admin ändern welche gehören zum Paketsystem welche ????.
- Internen zusätzlichen Web Server auf Tjener einrichten. Vorhandenen C-Namen z.B Tjener nutzen.
- Web Server mit eigener IP auf tjener einrichten und eigenen Namen geben. z.B. skolelinux.intern.
- Web Server auf extra Server einrichten damit besondere Dienste oder Backports u.s.w. eingerichtet werden können ohne tjener zu gefärden.
- Ticketsystem. Falls es ein Bug ist weitermelden Debian oder Sklolelinux.
- Planung und Rollout in Absprache. Möglichst einen Standard Vorschlag auswählen zur Kosteneinsparung.
- Das Debian-System / Martin F. Krafft (freue mich schon auf die neue Auflage)!
- OpenLDAP 2.4 /Oliver Liebel, John Martin Ungar. (Hart zu lesen aber ich hoffe irgendwann mal hilfreich)
- LPIC-1 von Peer Heinlein / Das für LPIC-2 ist nicht so schön und für LPIC 3 habe ich noch gar nichts gesehen.
Helper für Virtualisierung
Mini Gateway
10.0.2.1 als feste Adresse in interfaces vergeben!!/bin/bash # set -x # sollte entfernbar sein. route del default route del default 2>/dev/null route add default gw 192.168.122.1 # bis hier sollte es entfernbar sein iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE iptables --append FORWARD --in-interface eth0 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward
Testen: == Samba ==
net rpc info net lockup master .... net rpc share
Kerberus Univention
kinit <Username> Ticket holen. klist anzeigenLdap
ldapsearch -xZWD 'cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no' OK ldappasswd -S -xZWD 'cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no' OK /usr/lib/squid/ldap_auth -ZZ -h 10.0.2.2 "ou=People,dc=skole,dc=skolelinux,dc=no" ldap <user> <password>/ überprüfen. Es sollte dann ein OK erscheinen. update-rc.d benutzen nicht rc.local für startscrite in /etc/init.d dpkg-divert um dateien oder /usr/local um scripte zu überschreiben. update-alternatives --display editor um global zu setzen export EDITOR=vim um den editor nur für diese shell und abgeleitete programme zu setzen.Mal einarbeiten: debian-edu-pxeinstall (funktioniert nicht bei mir unter lenny!)
- choose-mirror-bin mirror/country string enter information manually + choose-mirror-bin mirror/country string manualSchöne Doku: http://lehrerfortbildung-bw.de/netz/muster/linux/ Wir haben brandbneue Hardware und brauchen neuen Kernel. Infos: http://kmuto.jp/debian/d-i/ # Für netboot.tar.gz (TFTP boot) http://packages.debian.org/de/lenny-backports/kernel/ # Kernel selbst da?