[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Status Quo: Neuer Server / IPv6 Services bei UUGRN


Hallo zusammen,

die letzten Wochen habe ich den neuen UUGRN Vereinsserver fertig gemacht
und weitgehend in Betrieb genommen. Der neue Server loest den Anfang 2006
gekaufen Server top.uugrn.org ab, der bis heute auf einem P4 mit 2GB RAM
seinen Dienst verrichtet hat.

Auf dem alten Server war vieles "gewachsen" und wurde daher reichlich
unflexibel, der Server laeuft bis jetzt noch unter FreeBSD 7.4 (i386).

Der neue Server (top3.uugrn.org) laeuft mit FreeBSD 9.1 (amd64). 

== Migration Altsysteme ==
Ich *wollte* aufgrund der grossen Differenzen keine alten Jails 1:1 auf
dem neuen Server hochfahren, auch wenn dies vermutlich weitgehend
geklappt haette. Aus diesem Grund habe ich alle UUGRN-Services und (fast) 
alle aktiven Mitglieder-Jails auf den neuen Server neu aufgebaut!

Mitglieder, die seit sehr langer Zeit gar nichts mehr mit ihren Jails
gemacht haben wurden nicht migriert, die Jails sind aber noch offline 
vorhanden (Backup) und koennen auf Wunsch neu aufgebaut werden. 

Jail vermisst? Einfach melden!

== Neubau statt Migration ==
Da ich einen stark automatisierten Buildprozess fuer Packages und Images
habe und jetzt ausserdem auf ZFS aufsetzen kann, kann ich mit
verhaeltnismaessig wenig Aufwand ein komplettes neues Jail anlegen.

== IPv6 ==
Die gesamte Migration bringt auch weitere Neuerungen: Alle Services, 
die wir ueber IPv4 anbieten, bieten wir prinzipiell jetzt auch unter 
IPv6 an. Es koennte irgendwo noch Ausnahmen geben, da wurde es schlichtweg 
noch nicht reinkonfiguriert.

Das bedeutet aber auch, dass Mitglieder mit Zugang auf shell.uugrn.org
oder eigenen Jails nicht nur via IPv6 hinkommen, sondern auch von dort
wieder wegkommen.

== Aktuelle Services/Jails ==
Aktuell haben wir folgende Jails am laufen:

* shell.uugrn.org (Special: sshd auf port 443/tcp fuer Proxy-CONNECT)
* web.uugrn.org (Wiki, Blogs, Planet, ...)
* irc.uugrn.org
* lists.uugrn.org (Mailman und Web-Archive)
* mail.uugrn.org (interner MTA, Mailrouting, Virtuser, outgoing-MX, ...)
* news.uugrn.org (demnaechst, laeuft noch auf dem alten Jail)
* xmpp.uugrn.org (noch nicht in Betrieb)
* mysql.uugrn.org
* uugrn.uugrn.org (Vereinswebseite, Vorstand, Mitgliederverwaltung)
* bnc.uugrn.org (IRC-Bouncer, User koennen eigene v6-Adressen bekommen, mit rDNS!)
* ftp.uugrn.org (v4+v6, ftp, http, https)
* fbsd9.uugrn.org (Buildsystem)
* qa.uugrn.org (Qualitaetssicherung, Testumgebung)
* diverse Mitglieder-Jails.

== Verluste ==
Bei der Migration der Dienste wurden manche Dinge nicht mit uebernommen,
beispielsweise ist der Webserver auf shell.uugrn.org ersatzlos entfallen
mangels erkennbarer aktiver Nutzung. Sollte jemand einen Webserver 
benoetigen richtige ich gerne ein eigenes Jail dafuer ein. 

== Neue Jails ==
Es existieren folgende fertige Images, aus denen sich ad-hoc neue Jails 
anlegen lassen:

* virgin: das enthaelt nur und ausschliesslich das Ergebnis von 
  "make installworld distribution" und ist so nicht nutzbar.

* tiny: virgin plus zahlreiche Einstellungen, die ein Jails benutzbar
  machen, keine Packages!

* small: tiny +   bash coreutils sudo gsed findutils nano screen 
                  portupgrade pkg_cutleaves portaudit

* medium: small + vim-lite emacs mc gnupg mutt slrn tin irssi lynx 
                  w3m wget rsync procmail figlet fetchmail"

* large: medium + links rar unrar zip zsh gawk ksh93 pwgen unix2dos muh climm
                  graphviz ImageMagick dovecot apache22 php5 php5-extensions

* webstatic: tiny + apache22

* webphp: webstatic + php5 php5-extensions ImageMagick

Das ist jeweils die Basis fuer ein neues Jail. Ein einmal installiertes 
Jail kann natuerlich per Packages oder durchselbst kompilieren von Ports 
(make install clean) beliebig veraendert oder erweitert werden.


== Mailrouting ==
Ich habe das Mailrouting (IMHO) vereinfacht und gewachsene
Altlasten entsorgt. Da gab es teilweise arg verworrene, sich
widersprechende Konfigurationen verteilt ueber mail/mx1, shell, verein
und lists. Mailadressen wurden teilweise mit alias UND per virtusertable
auf verschiedene Ziele konfiguriert etc.

Das "vereinfachte" Mailkonzept sieht so aus: 
* Incoming Mails via mx1 und mail (mx2 wird es bald auch einen geben),
  mailrouting anhand von Domains in die jeweiligen Jails (mailertable)

* Outgoing-Mails einheitlich via mail.uugrn.org

* @uugrn.org: Mails @uugrn.org werden nur via mx1.uugrn.org eingeliefert
  und gespamfiltert und weitergeleitet auf mail.uugrn.org und werden dort 
  ausschliesslich(!) per virtusertable weiter verteilt. Unbekannte
  Adressen @uugrn.org haben einen catch-all auf 
  "error:5.7.0:550 Address invalid" umgeleitet. 

* Fuer Mitglieder bestehen idR Weiterleitungen auf externe Mailadressen
  oder auf user@xxxxxxxxxxxxxxx oder user@xxxxxxxxxxxxxx. Wer das nutzt,
  sollte pruefen, dass es jetzt noch tut.

* @uugrn.de: Unter dieser Domain haben wir nur die allerwichtigsten
  Roleaccounts als Alias fuer die jeweiligen .org eingerichtet. 

* Mailinglisten (Listenadresse und alle Request-Adressen) grundsaetzlich 
  ueber <listenname>@mailman.uugrn.org erreichbar, im Falle von
  UUGRN-eigenen Mailinglisten existieren passende
  Virtuser-Weiterleitungen in der Form 

  <listename>@uugrn.org     <listename>@mailman.uugrn.org

* Mitglieder-Domains werden per Mailrouting direkt in die jeweiligen
  Mitglieder-Jails geroutet, der dortige MTA (sendmail) muss
  entsprechend Mails annehmen koennen.

== DNS / Eigene Domains ==
Jedes Mitglied kann im eigenen Jail eigene Domains hosten.
Entsprechendes Mailrouting gibts dann gratis dazu.

UUGRN hostet seine Domains (und diverse rDNS) im Vereinsjail
"uugrn.uugrn.org" als Hidden Primary. Oeffentliche DNS sind
ns{1,2,3}.jpru.de, weitere (inoffizielle) slaves sind u.a. auf
top3.uugrn.org, welcher auch gleichzeitig der primaere recursor fuer alle
Jails ist, d.h. Aenderungen an der Zone werden auf dem Server sofort
wirksam (also-notify) und sehr zeitnah auch an die oeffentlichen DNS-
Server notifiziert, Vorausgesetzt man hat die serial erhoeht und die
zone reloaded.

== IRC/BNC/DNS/IPv6 ==
Wer eine eigene Domain hat und damit ins IRC moechte, kann auf
bnc.uugrn.org einen User und eine *persoenliche* IPv6-Adresse mit 
rDNS auf einen Namen aus der eigenen Domain bekommen, also zB
        nickname!user@xxxxxxxxxxxxxxx 

Wer BNC will aber keine Domain hat, kann wahlweise mit 
        nick!user@xxxxxxxxxxxxx (v4+v6) 
oder 
        nick!user@xxxxxxxxxxxxxxxxxxxx (nur v6) 
 
auf einen oder mehrere IRC-Server eigener Wahl zugreifen und dazu die
Vorteile eines BNC (wir bieten znc mit SSL) insgesamt nutzen.

== Was fehlt? ==
* VIMAGE: Jails koennen innerhalb eines vollkommen autonomen IP-Stacks
  betrieben werden, d.h. eigenes IP-Setup, Routing, Firewalling, ... 

* ping ist weiterhin nicht moeglich, sorry (raw sockets).

* XMPP ist vorbereitet, tut aber noch nicht. Hilfe gesucht.

* shared memory gibts auch noch nicht, AFAIK sind shared memory segmente
  (immernoch) nicht "jailbar" und stellen daher eine Sicherheitsluecke
  zwischen den Jails dar. Moeglicherweise kann ich Shared memory "per
  jail" erlauben und auf diese Weise ein dediziertes PostgreSQL
  betreiben. Es gibt da so Ansaetze, mir fehlt die Zeit und die
  Motivation.

* Eigene DNS-Server: Domains laufen bei uns idR via TWX/Juergen Unger und
  somit ueber seine Server. Die Zonen koennen bei uns lokal editiert
  werden. Komplett eigene DNS wuerden uns unabhaengiger/flexibler machen, 
  birgt aber auch ein erhoehtes Ausfallrisiko und ggf. Kosten (verteilt 
  aufgestellte Systeme). Ich kann mit dem aktuellen Stand gut leben.

* mx2.uugrn.org ... irgendwo ganz weit extern als Fallback fuer einen
  Totalausfall (Server, Netze, Standort). Wer koennte uns was mit
  sendmail hosten? FreeBSD oder debian willkommen, eigene root-Rechte
  erforderlich.

* jailed-ZFS: Eigene Volumes im Jail managen, zB Snapshots, Rollback, ...
  Muesste Out-of-the-Box funktionieren, ich hab nur noch nicht die
  richtigen Stellschrauben gefunden, um das (gefahrlos) fuer alle
  root@mitgliederjails zu aktivieren.

* debian-kfreebsd Image: Ich habe irgendein altes RC von wheezy schon
  vorbereitet, aber da muss *nur* noch Finetuning passieren, damit die
  debian-Jails auch ordentlich funktionieren. 
  
  Bootstrappen von debian/kfreebsd aus FreeBSD ist PITA, d.h. es 
  funktioniert *etwas*. Der alternative Ansatz ist, ein zB in 
  VirtualBox installiertes wheezy verwenden als Staging fuer den Bau 
  der eigentlichen Images mittels debootstrap.

  Da ich das Ganze in meiner Freizeit baue, hatte ich bisher einfach
  keine Lust das Thema voranzutreiben. Wer gerne selbst ein Debian statt
  FreeBSD-Jail haben moechte, sollte sich einfach bei mir melden (zwecks
  Motivation) und ausserdem suche ich noch Probanden, also
  experimentierfreudige Debian-Gurus, die das von mir gebaute
  auseinandernehmen oder reparieren und (nichtreligioese) konstruktive 
  Kritik anbringen koennen. 

  Wenn sich jemand von euch die Zeit nimmt, nehme ich sie mir auch, 
  das Thema "debian-Jail" habe ich schon seit sehr vielen Jahren auf 
  dem Radar und hab es mangels Durchhaltevermoegen und Motivation nie 
  wirklich umgesetzt.

* Menschen mit KnowHow, Engagement und Zeit, also Du!

Fragen? Anregungen?

Viele Gruesse
Raphael

PS: Mailman ist im ersten Versuch dieser Mail prompt fehlgeschlagen beim 
Versand, Mailsetup stand noch auf @uugrn.org statt @mailman.uugrn.org *hmpf*

-- 
Raphael Eiselstein <rabe@xxxxxxxxx>               http://rabe.uugrn.org/
xmpp:freibyter@xxxxxx  | https://www.xing.com/profile/Raphael_Eiselstein   
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
.........|.........|.........|.........|.........|.........|.........|..



-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/