networking
This commit is contained in:
parent
cfa2670cd1
commit
ce1c65578a
114
services/doc/networking.md
Normal file
114
services/doc/networking.md
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user