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.

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
  • 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 fuer das Housing: 25 Euro/Monat, davon tragen 15 Euro einige Vereinsmitglieder

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
      • Todo: Netzwerk für Gäste mit festen MAC-Adresse (wegen IPv6)
    • 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 Basti (bb)
    • 77.87.48.23 Findi (tf) todo
    • 77.87.48.24 Borasi (mw) todo
    • 77.87.48.25 freenet heiko (hf) todo
    • 77.87.48.26 Stephan (sj) todo
  • 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

Gäste allgemein

  • 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
    • 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

Gast: weimarnetz

  • Root-Rechte entzogen
    • SSH-Login als root gesperrt
  • Swap eingerichtet
  • ejabberd
    • Paket installiert
  • inn2
    • Paket installiert
  • Webserver lighttpd
    • Paket installiert
  • uml-utilities für tun/tap
    • Paket 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