Rootserver-alt
Version vom 11. April 2021, 17:51 Uhr von CrazyBot (Diskussion | Beiträge) (Bot: Ergänze Kategorie ToteLinks)
Diese Seite ist nur noch aus historischen und sentimentalen Gründen vorhanden. Den aktuellen Rootserver findet man hier: Rootserver
Über den Root-Server / Technik
- Es handelt sich um einen virtuellen Root-Server mit Debian als Betriebssystem.
- der neue Rootserver steht in Berlin und ist eine alte HP Proliant-Gurke:
- HP ProLiant DL360 Server G3, 19" Ausführung, 1 Höheneinheit
- 2x Intel Xeon 2.8 GHz, 533 MHz/512 kB Cache
- 4 GB RAM
- 2 x 72.8 GB Hot Swap Ultra320 SCSI Festplatten 10.000 RPM
- RAID-Controller HP Smart Array 5i Plus mit 64 MB Cache und Akkupack
- CD-ROM
- 3.5" Diskettenlaufwerk
- 2 redundante Netzteile
- 2 x PCI-X Steckplätze
- 1 x SATA-Controller
- 1000 Gigabyte SATA-Festplatte
- Sound:
- unerträglich laut (SCSI@10.000 RPM)
- Anschlüsse:
- 2 x Gigabit LAN, VGA, seriell, 2x USB, iLO, PS/2 Maus und Tastatur
- angepriesen als "guter Zustand - absolut staubfrei aus DATA-Center"
Kosten
- Anschaffung Ende 2009 zum Preis von 140 Euro + 10 Euro SATA-Controller + 70 Euro SATA-Festplatte
- Kosten im RZ Berlin (http://in-berlin.de) fuer das Housing: 25 Euro/Monat, davon tragen 15 Euro einige Vereinsmitglieder
- domain weimarnetz.de = 1 Euro / Monat
- wird vom weimarnetz-Konto monatlich abgebucht
Setup
- am 26. Januar 2011 brachten andi, storchi und michi in einer halsbrecherischen Nacht- und Nebelaktion den Server ins Rechenzentrum nach Berlin
- Stromversorgung
- redundantes Netzteil zugunsten einer günstigen Festplatte entfernt
- zweites Netzteil ist in Berlin, damit es bei Bedarf getauscht werden kann
- Netzwerk
- Domains: root.weimarnetz.de auf eth0?, ilo.weimarnetz.de auf iLO
- benötigen 10 IP: 1 eth0, 1 iLO, 8 Gäste, erste Gast-IP: 77.87.48.18/28
- Festplattenkonfiguration
- 2x 72 GB SCSI-Platten im RAID 1 (sind die im Server original verbauten Platten)
- 1x 1,0TB (zu klein!) im Server "verlegt" und an SATA-PCIe-Karte angeschlossen
- Betriebssystem
- Wirt: Ubuntu 10.04 LTS Lucid Lynx
- Gast-Template unter /home/weimarnetz/skeleton angelegt, Start mit
- linux udba=$dateiname umid=$user mem=400M con=null eth0=tuntap,tap1 &
- Gastbetriebssystem: Debian lenny
- max. 8 Gastsysteme, je 400 MB RAM, je 6 GB HDD auf RAID1, Datenpartition auf Pornoplatte: Größe = (Gesamt * 0,8)/8 = 100GB
- pro Gast eine feste, öffentliche IP
- pro Gast ein Nutzer für SSH und UML
- jeder Nutzer erhält die Möglichkeit seine eigene Maschine zu starten und zu beenden, kein sudo
- Neustart Wirtssystem nur für bestimmte Nutzer
- Gast als UserModeLinux, "Skelett" wird bereitgestellt, automatischer Start (per init-skript pro Gast)
- Anleitung für UML unter Ubuntu: https://help.ubuntu.com/community/UserModeLinux <== die geht nicht, überhaupt bekommt man Ubuntu 10.04 nicht als UML-Gast zum laufen
- Gäste
- jeder Gast hat ca. 100 Gigabyte Datenplatz + 7 Gigabyte Systemplatte (Quota)
- 77.87.48.19 weimarnetz.de (config siehe weiter unten)
- 77.87.48.20 Storchi (cs)
- 77.87.48.21 Andi (ab)
- 77.87.48.22 - fe80::fcfd:ff:fe00:4/64 Basti (bb)
- 77.87.48.23 Findi (tf)
- 77.87.48.24 Sveni (sam)
- 77.87.48.25 freenet heiko (hf)
- 77.87.48.26 Stephan (sj)
- IP-Konfiguration
- eth0, feste, öffentliche IP
- Nutzung des oberen Anschlusses
- IP-Adresse: kommt per DHCP
- Netz: 77.87.48.16
- Netzmaske: 255.255.255.240 =/28 = 14 IP-Adressen + Netz + Gateway = 16
- Gateway: 77.87.48.17
- eth1:
- untagged IN-Berlin: 217.197.91.138
- tagged Freifunk-VLAN mit bridge 77.87.48.18 = tag1300
- dadurch sind alle Gäste per Bridge mit dem Freifunk-VLAN verbunden
- iLO
- integrated Lights Out
- IP-Adresse: 217.197.91.137
- Domain: ilo.weimarnetz.in-berlin.de
- Subnetmask: 255.255.255.192 =/26
- Gateway: 217.197.91.129
- DNS-1: 192.109.42.41
- DNS-2: 192.109.42.42
- ermöglicht:
- Zugriff direkt auf Konsole
- Ein- und Ausschalten der Stromversorgung
- Mounten von Imagedateien
- passwortgeschützt und verschlüsselt
- eth0, feste, öffentliche IP
Todo
- IP-Adressen setzen:
- für Freifunk-VLAN (2. Karte und Guests: 77.87.48.16/28, .18 bis .30 für die Geräte)
- Startscripts für UML-Maschinen (siehe hier: http://www.jjoseph.org/linux_work/user_mode_linux_and_gentoo) ==> beispielhaft erledigt für weimarnetz-maschine
- Datenpartitionen
- Nutzer anlegen und Dateien kopieren (root_fs pro Nutzer und Datenpartition)
- Vertrag mit IN-Berlin abschließen ==> erledigt
- Domain umziehen: läuft, wird erledigt, wenn Server in Berlin
- IP-Adressen setzen:
Wirt: Hauptrechner
- user: weimarnetz
- root-Rechte entzogen
- SSH-Login als root gesperrt
- Schritte um eine neue UML-Maschine anzulegen:
- Kopieren der Datei /media/daten/uml/uml-root_skel (enthält das RootFS) vorzugsweise in das Homeverzeichnis (schnelle Platten im RAID 1)
- Erzeugen einer Datenpartition in /media/daten/$username mit
- dd if=/dev/zero of=$username-loopdev.bin bs=10M count=9200
- Kopieren der Optionsdatei /media/daten/uml/uml_default_settings nach /uml/uml_$username
- eindeutige MAC vergeben
- Pfade zu den Dateien für das RootFS (UBDA) und die Datenpartition (UBDB) anpassen
- Nutzer- und Maschinennamen anpassen
- Erzeugen eines Links /etc/init.d/uml_$username auf /etc/init.d/uml_startstop
- Schritte danach:
- IP-Adresse (standardmäßig auf DHCP) muss auf statische gesetzt werden, IP-Verteilung siehen oben
- Root-Passwort ändern!
- Hostname setzen in /etc/hostname und /etc/hosts (FQDN)
- Rechenzentrum IN-Berlin empfiehlt: Installation apticron, sucht nach Updates und versendet eine Mail wenn neue Updates vorliegen
- Möglichkeit für "externe" swap-Partition in Init-Script eingebaut
- UBDC_OPT=
- [ -w $UBDC ] && UBDC_OPT="ubdc=$UBDC"
- Gäste benutzen den shared memory des Hosts mit der Grösse=$MEM -> 8 x 400M
- ==> FUNZT NICHT: der shared mem des Hosts ist per default Ram(4GB) / 2 -> irgendwann knallts -> /etc/default/tmpfs auf 4GB gestellt
- Größe im Betrieb verändern: mount -o remount,size=4G /dev/shm
- Eintrag in fstab erfolgt: tmpfs /dev/shm tmpfs defaults,size=4g 0 0 ==> jetzt ist tmpfs nach dem Reboot sofort richtig eingestellt
- Wegen Zeitabweichung ntp installiert und gestartet
Gäste allgemein
- Konfiguration unter
/uml/uml_$nutzername
- Datenpartition einbinden
- jeder Nutzer kann seine Daten im Verzeichnis /media/daten/$nutzername haben (dauert ca. 20min@75mb/s)
dd if=/dev/zero of=/media/daten/bb/bb-loopdev.bin bs=10M count=9200
- Rechte an dieser Datei setzen, sonst kann jeder Gast diese Datei mounten!
- Eintrag in /etc/fstab oder
- Device node auf Gast erzeugen als root mit
mknod /dev/ubdb b 98 16 mount /dev/ubdb /.../...
- Swap erstellen
dd if=/dev/zero of=swap.bin bs=1M count=64
- manuelles einbinden:
mkswap swap.bin swapon swap.bin
- bzw. einbinden in /etc/fstab
- Netzwerk konfigurieren in /etc/network/interfaces
auto eth0 iface eth0 inet static address 77.87.48.xx netmask 255.255.255.240 gateway 77.87.48.17
- DNS einrichten in /etc/resolv.conf
domain lan search lan nameserver 192.109.42.41 nameserver 192.109.42.42
- SSHd einrichten in /etc/ssh/sshd_config
- PermitRootLogin no
- Passwort setzen!
passwd
- backup des eigenen rootfsw machen:
- mit df -h nachschauen, wieviel das rootfs belegt (z.b. 500 Megabyte)
- maschine stoppen
- ext3 rootfs in ext2 wandeln, um es später kleiner zu machen
tune2fs -O ^has_journal /home/bb/uml_root_bb
- checken
e2fsck -f /home/bb/uml_root_bb
- kleiner machen
resize2fs /dev/sda1 500M
- komprimieren und sichern
lzma -9 /home/bb/uml_root_bb # aus 500 Megabyte werden so 150 Megabyte cp /home/bb/uml_root_bb /home/bb/uml_root_bb.lzma.backup
- ext3-journal wieder herstellen und filesystem wieder aufblasen:
e2fsck -f /home/bb/uml_root_bb resize2fs /dev/sda1 6000M tune2fs -j /home/bb/uml_root_bb
Gast: weimarnetz
- Root-Rechte entzogen
- SSH-Login als root gesperrt
- Swap eingerichtet
- ejabberd
- Paket installiert
- Konfiguration von altem Server übernommen (/etc/ejabberd/ejabberd.cfg)
- Datenbank auf neuen Server migriert, nach diesem Tutorial: http://www.ejabberd.im/migrate-host
- Zertifikat vom alten Server kopiert
- pyicqt
- Paket installiert
- Konfiguration von altem Server übernommen (/etc/pyicqt.xml.comf)
- inn2
- Paket installiert
- /etc/news/incoming.conf übernommen - definiert die Server, die uns news schicken dürfen
- /etc/news/newsfeeds - konfiguriert die Kopplung von Mailingliste und Newsgruppen sowie die Verteilung von News an befreundete Server
- /etc/news/nntpsend.ctl - bestimmt Zeitpunkt der Synchronisation mit anderen Newsservern
- /etc/news/readers.conf übernommen - setzt Berechtigungen
- Nutzer freifunk übernommen
- Dateien news2mail und mailpost in /usr/lib/news/bin vom alten Server übernommen. Diese Dateien bereiten Emails oder News für das jeweils andere System auf.
- Sync nach dieser Anleitung eingerichtet: http://wiki.freifunk.net/Newsserver_einrichten
- Paket procmail installiert
- Webserver lighttpd
- Paket lighttpd und php5-cgi installiert
- module fastcgi, fastcgi-php, simple-vhost, auth aktiviert
- index.php und Verzeichnis newsgroups (php-basierter Newsreader) vom alten Server kopiert
- uml-utilities und vtun für tun/tap
- Pakete installiert
- Kernel 2.6.37 neu kompiliert mit TUNTAP-Unterstützung für VPN-Tunnel, die .config entspricht sonst der des anderen Kernels. Das zweite Image liegt unter /uml/kernel32-2.6.37_tuntap
- eth0:0 in /etc/network/interfaces hinzugefügt mit Adresse 10.63.30.253
- Konfigurations von altem Server übernommen:
- /etc/init.d/vpn ==> erstellt Netzwerkumgebung, schreibt olsr-config und startet VPN-Server, angepasst für eth0:0
- /etc/olsrd.conf_head ==> enthält allgemeine Einstellungen
- startet automatisch in rc2.d: S21weimarnetz-vpn -> ../init.d/vpn
- Router mit Internetzugang registrieren sich per Webanfrage an http://weimarnetz.de/freifunk/vpn/index.php (von altem Server übernommen. Achtung böser Hack: die Webanfragen vom alten Server werden derzeit per .htaccess-Regel auf den neuen Server umgeleitet. Alle Router (zumindest die mit Internetzugang) benötigen die neu gesetzte nvram-Variable für den Rootserver (komischerweise wird hier die IP genommen, vielleicht stellen wir das auf Domainname um) ==> per FW-Update erledigt
- bei Registrierung wird Datei /tmp/vpnrestart angelegt, ein cron-job prüft alle 5 Minuten, ob die Datei existiert und startet das VPN-Script in diesem Fall neu
- OLSRd
- kompiliert und installiert
- Extensions txt_info, dot_draw, dns kompiliert, installiert und eingerichtet
- graphviz und imagemagick per apt-get installiert
- Intercity VPN
- quagga und tinc installiert
- einrichtung nach dieser Anleitung: http://wiki.freifunk.net/IC-VPN
- eingehende Email
- exim4 durch postfix ersetzt
Gast: ab
- Update auf Debian Squeeze nach dieser Anleitung: http://www.go2linux.org/how-to-upgrade-from-debian-lenny-to-squeeze
- auf den ersten Blick hat es funktioniert
- Backup auf NAS nach http://www.notizbox.org/2010/08/howto-debian-5-0-lenny-mit-gpg-und-duplicity-verschlusseltes-backup-auf-ftp-server/
- duplicity aber in aktueller Version kompiliert und installiert
Auslastung
Die Auslastung des Rechners kann mit Jens seinem Skript kontrolliert werden.
Die Serverskripte bzw. Dateien
/etc/init.d/vpn /etc/vtund.conf /etc/olsrd.conf_head
sind Eigenentwicklungen.
Gefrickel
Damit Änderungen am Server von Allen nachvollzogen werden können werden Bauarbeiten im Frickel-Logbuch dokumentiert.
Zugang
- ticketsystem: https://kcm.keyweb.de
- kundennummer: 24090
- passwort: subsignal standard passwort
- management-Konsole (reboot etc.): https://87.118.106.19:4643
- login: root
- passwort: ...