hs.hsadmin.jee/services/doc/networking.md
Peter Hormanns ce1c65578a networking
2016-08-09 14:43:39 +02:00

4.1 KiB

Hostsharing IP-Networking

Für die Überarbeitung des Paket-Moduls in HSAdmin sollten die künftigen Anforderungen an die Netzwerkanbindung der Pakete (Stichwort "Paket-IP-Adresse") festgelegt sein.

Zwei wichtige Anforderungen an die Hostsharing-Infrastruktur für die nahe Zukunft sind:

  • Unterstützung von IPv6
  • kundenspezifische Netze zwischen mehreren Managed Servern ("Hives")

Die fehlende IPv6-Anbindung bei Hostsharing ist fast schon ein Anachronismus. Die kundenspezifischen Netze werden zur Zeit aufwändig manuell konfiguriert.

Public Network

Unter dem "public network" verstehen wir die Anbindung der Server ans das öffentliche Internet.

Status Quo

Zur Zeit hat jeder Hive eine zentrale IPv4-Adresse, die für Verbindungen ins Internet genutzt wird. Über diese Adresse ist die Default-Route konfiguriert.

Für eingehende Verbindungen ist für jedes Paket eine eigene IPv4-Adresse konfiguriert. Anfangs wurde die eigene Adresse nur für Pakete mit den Paket-Optionen "HTTPS" oder "Anonymes FTP" vergeben. Seit einigen Jahren sind diese Optionen (und damit die eigene IPv4-Adresse) inklusive für alle Pakete.

Anonymes FTP wir heute kaum noch verwendet. Und mit der breiten Unterstützung für SNI in allen HTTP-Browsern ist die eigene IP-Adresse für HTTPS nicht mehr erforderlich.

Hostsharing nutzt die eigene IP-Adresse seitdem auch für die Traffic-Abrechnung auf Paket-Ebene. Vor der Vergabe der IP-Adressen pro Paket wurde lediglich HTTP-Traffic aus den Apache-Log-Dateien ermittelt.

Alle IPv4 Adressen stammen aus drei nicht zusammenhängenden /24-Netzen. Aus historischen Gründen sind die Adressen willkürlich über die gesamte Hostsharing-Infrastruktur am Standort Berlin verteilt.

Planung für die Zukunft

Jeder Hive soll nur genau je eine externe IPv4- und IPv6-Adresse erhalten. Die IPv4-Adressen einer Server-Gruppe werden aus einem /24-Netz entnommen, das der Server-Gruppe fest zugeordnet ist. Für IPv6 wird ein /64-Netz pro Server-Gruppe zugeordnet.

Dieses Vorgehen macht die Konfiguration einfach und stellt keine großen Anforderungen an die Leistungsfähigkeit der Router-Infrastruktur.

Wir sehen die Vorteile:

  • Einfachheit
  • Eigenes Netz pro Host-Gruppe (Routing)
  • Wenige belegte IP-Adressen bei IPv6

Nachteile können sein:

  • bei Virtualisierung innerhalb von Hives, die als Root-Server vermietet werden (z.B. LXC, Docker) gibt es keine
    gerouteten IP-Adressen für die virtuellen Instanzen. Die Services müssen über IP-Tables-regeln erreichbar gemacht werden, wie es zum Beispiel von Docker unterstützt wird.
  • Das Traffic-Accounting pro Paket muss wieder auf weniger zuverlässige Lösungen (wie zum Beispiel Log-File-Auswertungen) umgestellt werden.
  • Keine Vergabe von IPv6-Adressen pro Domain, obwohl es natürlich genügend Adressen gäbe

Private Network

Die Server einer Server-Gruppe sind jeweils über ein internes physikalisches Netzwerk ohne weitere Anbindung an aussen miteinander verbunden. Auf diesem Netz werden kundenspezifische Netze als virtuelle Netze ("tagged VLANs") realisiert.

Die Konfiguration dieser Netze erfolgt heute manuell und soll künftig in HSAdmin definiert und per Configuration Management ("Saltstack") angewendet werden.

Jeder Kunde (jedes Mitglied) kann mehrere private Netze definieren und jeweils seine Managed Server an diese Netze anbinden.

Services und Port-Vergabe

Alle von Hostsharing verantworteten Services der Managed Server werden ausschließlich auf ihren jeweiligen Standard-Port am Loopback-Device gebunden. Der Kunde konfiguriert in HSAdmin IP-Tables-Regeln, die die Weiterleitung von IP-Paketen vom Public- oder einem Private-Interface an den Service steuern.

Kunden VPNs

Zu einem späteren Zeitpunkt können Kunden-VPN als Erweiterung der abgeschlossenen VLANs angeboten werden. Ein VPN mit Verbindung ins Internet würde auch managed Server ohne externe geroutete IP-Adressen erlauben. Eine "Einwahl" ins VPN für den Kunden ermöglich den administrativen Zugang zu Servern ohne Public Network.