Rootserver

Aus wireless.subsignal.org
Zur Navigation springen Zur Suche springen

Das Weimarnetz verwendet einen Rechner, der das Funk-Netz unterstützt und Dienste im Weimarnetz und im Internet anbietet. Wichtige Eigenschaften dieses Rechners sind eine sehr gute Internet-Anbindung, eine feste Internet-Adresse, hohe Verfügbarkeit und eine gute Internet-Verbindung zu den Internet-Anschlüssen im Weimarnetz. Je nach Aufgabe wird dieser Rechner hier im wiki als Root- oder Route-Server bezeichnet.

Rootserver 2.0

Technik

  • 19 Zoll ATX Server mit 1 Höheneinheit (1HE)
  • CPU: 2 x XEON QUAD CORE L5420 2,5 GHz
  • RAM: 32 GB DDR-2 FB ECC Reg.
  • HDD: incl. SATA-TRAY HOT-SWAP für 3 x SATA-HDD 3.5 Zoll
  • 600 Watt Win-Tact Powersupply WP507F12
  • 2 Platten Western Digital WD30EFRX, geeignet für Dauerbetrieb
  • Leistungsaufnahme: Beim Einschalten ca. 300 W, im Idle ca. 200 W

Kosten

  • Server mit Versand: 370 Euro
  • Festplatten: 260 Euro
  • Kosten pro Monat bei durchschnittlicher Leistungsaufnahme von 250W: 60 Euro

Installation

Partitionierung

  • wegen 3TB, GPT und EFI nach dieser Anleitung vorgegangen: http://stackful.io/blog/raid-install-ubuntu-server-on-a-large-hard-drive/
    • 40GB Swap pro Platte, da nicht gespiegelt ==> 80 GB Swap ingesamt
    • 120GB für das System und ISO-Store zur Ablage von OS-Images (unter /media/isostore)
    • per LVM Rest für Images
  • Das alles im Raid 1 per mdadm. Fehlermeldungen kommen per Mail auf die Mailingliste
  • Erfolgreich getestet wurde, dass das System beim Ausfall einer Platte trotzdem noch bootet
  • Noch zu klären: Was machen wir im Fehlerfall? Vorschlag: Mit Daniel von Freifunk Berlin reden, ob wir ihm im Notfall eine Platte geben können. Diese muss gegen die defekte Platte getauscht werden (Reboot notwendig). Danach muss das gleiche Partitionsschema angelegt werden und die Platten können wieder synchronisieren (dauert insgesammt 8-9 Stunden)

OS

  • Ubuntu 12.04 LTS
    • Pakete: apticron, virt-manager, bridge-utils, ...

Netzwerk

  • Bridge und VLAN, IP-Konfiguration
    • feste, öffentliche IP
      • Netz: 77.87.48.16/28 und 77.87.48.32/28
      • Netzmaske: 255.255.255.240 =/28 = 14 IP-Adressen + Netz + Gateway = 16
      • Gateway: 77.87.48.17
    • eth0:
      • 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

Serielle Konsole

  • Zugriff über Konsolenserver
  • Zugang im Notfall, Neustart per serieller Konsole möglich?
  • Details folgen nach Einbau

HowTo

Start/Stop/Autostart

  • virsh-wrapper, um jedem Nutzer die Steuerung der eigenen Maschine(n) zu ermöglichen
  • virsh-wrapper ist erweiterbar zur Steuerung anderer KVM-Elemente, z.B. Storage, Netzwerk, usw.
  • https://github.com/weimarnetz/virsh-wrapper
  • Funktionsweise:
    • Vereichnis virsh im Homeverzeichnis jedes Nutzers
    • in virsh ein Verzeichnis pro Maschine, Namenskonvention: dom-<maschinenname>
    • innerhalb des Maschinenverzeichnisses stehen Dateien für etwaige Aktionen, die Inhalte der Dateien werden als Parameter übergeben
    • Cronjob läuft jede Minute durch die Virsh-Verzeichnisse aller Nutzer, die in der Gruppe vmguests sind
    • Chronik und Fehlermeldungen werden in anderen Verzeichnissen gespeichert
  • Start einer Maschine
    • touch ~/virsh/dom-<machine>/start
  • Anhalten einer Maschine
    • touch ~/virsh/dom-<machine>/shutdown (für Maschinen mit ACPI-Funktionen)
    • touch ~/virsh/dom-<machine>/destroy (falls die Maschine nicht mehr reagiert oder nicht per ACPI ausgeschaltet werden kann)
  • Autostart
    • touch ~/virsh/dom-<machine>/autostart (Autostart anschalten)
    • echo "--disable" > ~/virsh/dom-<machine>/autostart (Autostart deaktivieren)

VNC über SSH

  • VNC ist die Konsolenausgabe der virtuellen Maschinen
  • VNC hört nur auf 127.0.0.1 (ginge zwar auch anders, wollen wir aber nicht)
  • Pro Maschine ein Port, dieser wird manuell von uns auf 59xy festgelegt. xy entspricht der letzten Stelle der IP-Adresse
  • Verbindung erfolgt über SSH-Tunnel
    • unter Linux
      • Start des Tunnels: ssh -N -L 5900:localhost:59xy username@root.weimarnetz.de
      • Start VNC-Client: vncviewer localhost:5900
    • unter Mac OS X
      • Start des Tunnels: ssh -N -L 5900:localhost:59xy username@root.weimarnetz.de
      • Da es Probleme mit dem Mac OS X VNC-Viewer gibt, empfiehlt sich Chicken of the VNC
    • unter Windows
      • Unter Putty normal eine Session zu root.weimarnetz.de starten, VOR dem anmelden jedoch im Punkt
      • Connection --> SSH --> Tunnels folgendes Eintragen:
      • Source Port: 5900 Destination: 127.0.0.1:59xy (xy ist eure IP)
      • Button "Add" drücken, der Tunnel sollte dann unter "forwarded ports" stehen. Diese Session könnt ihr euch auch dauerhaft speichern
      • --> Open Connection, anmelden und vncviewer auf localhost starten
  • Unter Umständen bricht die SSH-Verbindung ab und dann ist der lokale Port mit der gestorbenen SSH-Session blockiert. Mit ps aux | grep ssh kann man die Prozess-ID ermitteln und mit kill $ID wieder befreien.

iPXE

PXE ist teil des virtuellen bootloaders jeder vm. wenn kein image zugewiesen ist (= keine virtuelle cd eingelegt), kann der bootloader ein frisches image laden und booten. per http!

Netzwerkkonfiguration im Gast

  • je nach verwendetem OS: Netzwerk konfigurieren in /etc/network/interfaces (Ubuntu, Debian)
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
  • manuell
NR=(interne vm nummer)
ip link set eth0 up
ip addr add 77.87.48.$NR/28 dev eth0
ip route add default via 77.87.48.17
vim /etc/resolv.conf

Tipps und Tricks

  • Nutzung der virtio-Treiber für HDD, Netzwerk und RAM-Controller
  • Distributionen wie Debian bringen diese schon bei der Installation mit und richten alles automatisch ein
  • virtio-Treiber für RAM-Controller erlaubt uns, garantierten und maximalen RAM festzulegen. Bei Speicherknappheit im System werden die Resourcen pro VM zurückgefahren.
  • Zugriff auf Maschinen via SSH vom Host aus ermöglichen: -net user,hostfwd=tcp::5555-:22

Probleme

noch zu lösende Probleme

  • akt. setup erlaubt allen ssh-usern, auf jeden virtuellen VNC zu verbinden.
  * lösung 1: vnc-config erlauben (cli), user setzt passwort auth
  * lösung 2: evtl. geht es im sshd? kann man jedem user nur tunneln von einem best. port erlauben?
  * evtl: sockets vor die ports -> user-rechte ???

Offline-DHCP

Netze

  • 77.87.48.16/28 und 77.87.48.32/28

Zuordnung

IP IPv6 Nutzer RevDNS RAM
18 Bridge
19 Weimarnetz e.V. weimarnetz.de 1 GB
20 Storchi cs.weimarnetz.de 16 GB
21 Andi ja.ishalt.so 2 GB
22 Basti bb.weimarnetz.de 8 GB
23 Thomas tf.weimarnetz.de 2 GB
24 Sven sam.weimarnetz.de
25 Heiko hf.weimarnetz.de 2 GB
26 Stephan sj.weimarnetz.de 2 GB
27 Simon guerillamesh.net 8 GB
28 Kay ks.weimarnetz.de 2 GB
29 Bernd ed.weimarnetz.de 1 GB
30
34
35 reserviert
36
37
38
39
40 FOC www.foc.is 2 GB
41 FOC mail.foc.is 2 GB
42 Max js.ars.is 2 GB
43
44
45

Dienste

  • interne IP ist 10.63.1.1

Kabelkopplung

Erfreulicherweise erstreckt sich das Weimarnetz über weite Teile der Stadt. Um sicher zu stellen, dass alle Teilnehmer im Netz miteinander kommunizieren können wird das Weimarnetz zusätzlich zum Funknetz über die Internet-Einspeiser am Route-Server zusammengehalten. Neben der Verbindung von Funk-Inseln können langsame Verbindungen über viele Funk-Knoten mit einer Abkürzung über den Route-Server verbessert werden.

Newsserver

Auch in Weimar existiert nun ein Newsserver als zukünftige Alternative zu den Mailinglisten. Entscheidende Vorteile sind, daß man diese Newsgroups einfach bestellen und auch wieder abbestellen kann (ohne das aufwändige Senden von Mails wie bei Mailinglisten) und die Synchronisation mit Newsservern in Leipzig und Halle. Damit kann auf die Newsgroups anderer Freifunk-Communities zugegriffen werden.

TODO

  • Upstream auch in Richtung Leipzig

Proxy

Ein Proxy dient als Zwischenstation zum Internet. Damals, als das Internet noch langsam und Pluto ein Planet war, dienten Proxies als Zwischenspeicher häufig angeforderter Dateien aus dem Internet. Dieser Nutzen verliert in der Verwendung am Root-Server an Wert, da

  • der Server nur über das Internet erreichbar ist und als zusätzlicher Umweg eher bremst als beschleunigt
  • die meisten Stöberer selbst lokal Informationen speichern
  • schlecht programmierte Web-Anwendungen Probleme mit Proxies haben können
  • Informationen gespeichert werden können, die besser nicht gespeichert werden sollten

Vorteilhafter wirkt der Proxy als Werbefilter und um Die Rückverfolgung von Internet-Nutzern am Root-Server statt am nächsten Internet-Einspeiser enden zu lassen.

Der Proxy ist mit folgender Einstellungen erreichbar: momentan nicht aktiviert

Proxy: 87.118.106.19
Port: 3128

Portforwarding (Dienste ins Internet zur Verfuegung stellen)

Johannes Gramse / Kirchmessaufbau:
# noch nicht aktiv

Erinnerung ans Treffen für den Kassenwart

  • liegt unter /usr/local/bin/meeting_reminder.pl
  • verschickt Montags um 12 die aktuellen Daten des Treffens
  • als cronjob in /etc/cron.d/scripts definiert

hier das Script zum Verbessern:

#! /usr/bin/perl

use Net::NNTP;
use LWP::Simple;

#######
## change this to point to your NNTP server host.
$nntpserver = 'localhost';
########
# url to wiki
my $url_meeting="http://wireless.subsignal.org/index.php?title=Treffen";
my $place="undef";
my $date="undef";
my $subject="";
my $body="";
my $newsgroup="freifunk.de.weimar.discuss";

# Print warning and exit.  Some mailers will discard warning string.
# # Postfix is nice enough to display it in the mailq & log output when
# # we exit with non-success exitcode.
sub croak {
   my ($msg,$exitcode) = @_;

   warn "$msg\n";
   exit($exitcode);
}


my $content = get $url_meeting;
die "Couldn't get $url_meeting" unless defined $content;

# Then go do things with $content, like this:

if($content =~ m/Naechster Stammtisch<\/a>: (.*?)<\/b>.*?<a.*?>(.*?)<\/a>/s) {
	$date=$1;
	$place=$2;
	}

#build subject
if ($place eq "undef" or $date eq "undef") {
	$subject="Naechstes Treffen wahrscheinlich am Dienstag in der M18";
	$body="Hallo allerseits, \n\nda das Wiki aktuell nicht erreichbar ist oder sich die Seitenstruktur erheblich veraendert hat, sind derzeit keine genauen Prognosen bezueglich des naechsten Treffens moeglich\n\nVielleicht ist es ja schonwieder erreichbar: " . $url_meeting . "\n\nDer Weimarnetzerinnerungsdienst\n\nps: Das ist eine computergenerierte Nachricht";
	}
else {
	$subject="Naechstes Treffen am: " . $date . ", Ort: " . $place;
	$body="Hallo allerseits, \n\nnaehere Informationen zum naechsten Treffen sind unter " . $url_meeting . " auffindbar. Sollte das Datum veraltet sein, hat sich wieder niemand um das aktuelle Treffen gekuemmert.\n\nDer Weimarnetzerinnerungsdienst\n\nps: Das ist eine computergenerierte Nachricht";
	}


push @headers,"From: Weimarnetz Wiki <do_not_reply\@weimarnetz.de>\n";
push @headers,"Newsgroups: ". $newsgroup ."\n";
push @headers,"Subject: ". $subject ."\n";
push @headers,"\n";


my $nntp = Net::NNTP->new($nntpserver) or croak('Net::NNTP failure.', "1");

$nntp->post() or croak('post() failure',&EX_TEMPFAIL);
$nntp->datasend(\@headers) or croak('datasend() header failure',"1");

#while (<>) {
  $nntp->datasend($body)or croak('datasend() body failure',"1");
#}

#$nntp->debug(1);		# if error exit code, log to maillog (STDERR)
$nntp->dataend() or croak('Post dataend() failure.', "2");
$nntp->quit();

exit(0);

Ü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

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
  • eingehende Email
    • exim4 durch postfix ersetzt

Gast: ab

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