From ce1c65578a186e852617953ac56f3002d65656fe Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Tue, 9 Aug 2016 14:43:39 +0200 Subject: [PATCH] networking --- services/doc/networking.md | 114 +++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 services/doc/networking.md diff --git a/services/doc/networking.md b/services/doc/networking.md new file mode 100644 index 0000000..a28cb7d --- /dev/null +++ b/services/doc/networking.md @@ -0,0 +1,114 @@ +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.