Wie sich das PLUTEX-Kernnetz sich entwickelt hat und welche Lösungen wir inzwischen erarbeitet haben.
Zu Beginn der Firmengeschichte von PLUTEX bestand das Netzwerk fast ausschließlich aus Komponenten von Cisco. Als die Ansprüche und Vorstellungen wuchsen wurde jedoch klar, dass die dafür nötigen Geräte bei weitem jedes Budget sprengen würden.
Während wir also inzwischen im Layer 2 einen bunten Mix an Switchen verschiedener Hersteller (MikroTik, Ubiquiti und noch immer Cisco) im Rechenzentrum einsetzen, bildet unser selbst entwickeltes “Kernerouter-Cluster” das Kernstück unseres Netzwerks. Hierbei ist “Router” eigentlich zu tief gestapelt, denn diese redundanten Linux-Server sind eigentlich Stateful Firewalls. Diese verbinden die diversen VLANs der einzelnen Kunden und Server untereinander und mit unseren eBGP-Routern.
In der ersten Generation basierten die Server auf VyOS und löste einige nicht redundant ausgelegte MikroTik CCR ab. Während es natürlich praktisch sein kann, die gesamte Konfiguration auf einmal zu erfassen, sichern und vergleichen, wurde die Konfiguration mit steigender Anzahl der Regeln und Interfaces immer unhandlicher und jede Änderung daran auch immer rechenintensiver. Außerdem stießen wir immer wieder auf Features, die die von VyOS verwendete Software eigentlich inzwischen unterstützte, die aber entweder in der Version von VyOS noch gar nicht vorhanden war oder aber von VyOS nicht exponiert wurde.
In der zweiten Generation laufen diese Server daher nun mit normalem Debian Buster. Untereinander und mit unseren eBGP-Routern sprechen sie OSPF mittels bird, keepalived sorgt dafür dass in jedem Netz immer nur ein Gateway aktiv ist. Das Firewalling wird inzwischen von nftables im Linux Kernel erledigt, früher war dafür noch iptables zuständig.
Die Migration zwischen diesen Generationen fiel uns aufgrund unserer selbstentwickelten Systeme zur automatischen Konfiguration relativ leicht. Auch künftige Umstellungen sind so verhältnismäßig einfach machbar – vielleicht geht die Reise ja zu VPP oder doch wieder zu einem der großen Hersteller.
Den einzelnen Komponenten dieses Systems möchten wir in einer kleinen Artikelserie etwas Aufmerksamkeit schenken und dabei unsere Erfahrungen und Erkenntnisse teilen.
- Routing und Firewalling mit Linux
- Lastverteilung und Redundanz mit VRRP (dieser Artikel wird demnächst veröffentlicht)
- Deklarative versionierte Konfiguration (dieser Artikel wird demnächst veröffentlicht)