Zeile 407: |
Zeile 407: |
| exit(0); | | exit(0); |
| </pre> | | </pre> |
− |
| |
− | =Ü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'''
| |
− | *** '''i'''ntegrated '''L'''ights '''O'''ut
| |
− | *** 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
| |
− |
| |
− | === 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
| |
− |
| |
− | === 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 [[Serverlast_Howto|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 [[Weimarnetz-Rootserver-log|Frickel-Logbuch]] dokumentiert.
| |
− |
| |
− | [[Kategorie:Weimarnetz]]
| |
− |
| |
− | ==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: ...
| |