Ein Kollege fragte mich bei einem gemeinsamen Projekt, wie ich komplexere Netzwerke plane und vorab prüfe, ob ein Design funktioniert. Meine Antwort war GNS3. Mit dieser Open-Source-Software kann ich virtuelle Netzwerke aufbauen und mit echten Routern, Firewalls oder ganzen Hardware-Testaufbauten kombinieren. Diesen Aufbau nutze ich für einen Proof of Concept, also einen praktischen Nachweis, dass die Komponenten zusammenarbeiten und die geplanten Anforderungen erfüllen können.
Für jede Variante alle Router, Firewalls und Gegenstellen als Hardware bereitzuhalten, wäre aufwendig. In GNS3 kann ich Geräte ergänzen, Verbindungen ändern und Konfigurationen ausprobieren. Das spart Verkabelungsarbeit und reduziert den Bedarf an zusätzlicher Lab-Hardware. Vor allem kann ich Fehler suchen, ohne dafür in das laufende Kundennetz einzugreifen.
Netzwerke mit realer Gerätesoftware aufbauen
GNS3 verbindet virtuelle Router, Firewalls und Testsysteme in einer grafischen Topologie, dem Plan der Geräte und ihrer Verbindungen. Viele dieser Geräte führen ein echtes Netzwerkbetriebssystem aus. Dadurch lassen sich dessen Konfiguration und Protokollverhalten untersuchen. Welche Funktionen ein Test abdeckt, hängt vom gewählten Software-Image ab. Der eingebaute einfache Ethernet-Switch simuliert dagegen nur ausgewählte Funktionen.
Wir nutzen solche Aufbauten, um Routing, VPN-Verbindungen und das Zusammenspiel verschiedener Hersteller zu prüfen. IPv4 und IPv6 betrachten wir dabei jeweils separat. Dabei können die Endgeräte und Standort-Router als echte Hardware arbeiten, während GNS3 das Netz dazwischen abbildet.
Zwei reale Standorte über ein virtuelles Provider-Netz verbinden
Eine weitere Stärke ist die Verbindung virtueller Geräte mit echter Hardware. Über sogenannte Cloud-Nodes bindet GNS3 eine Netzwerkschnittstelle des Lab-Servers in die Topologie ein. Daran kann beispielsweise ein physischer Router angeschlossen werden, der mit den virtuellen Gegenstellen kommuniziert. Der Name Cloud bezeichnet hier die Anbindung an ein externes Netz, einen Cloud-Dienst braucht es dafür nicht.
Ein anschauliches Beispiel sind zwei im Lab aufgebaute Standorte mit echten Routern, Switches und Endgeräten. Zwischen ihnen bildet GNS3 ein Provider-Netz mit virtuellen Routern sowie Haupt- und Ersatzwegen nach. Beide Standort-Router werden über getrennte Ethernet-Anbindungen mit dieser Topologie verbunden. Der Testverkehr läuft damit von der Hardware des einen Standorts durch das virtuelle Netz zur Hardware des anderen Standorts.
Im virtuellen Netz kann ich einzelne Verbindungen unterbrechen oder deren Qualität gezielt verschlechtern. An den realen Geräten beobachte ich, wie sich das auf Routing, VPN-Verbindungen und den tatsächlichen Anwendungsverkehr auswirkt. Für einen Telefonietest können beispielsweise Endgeräte an beiden Standorten ein Gespräch über diesen Aufbau führen. Der untersuchte Verkehr muss dabei durch den jeweiligen GNS3-Link laufen, auf dem die Störung eingestellt ist.
Unser Screenshot oben zeigt genau dieses Zusammenspiel. Die beiden blauen Kästen kennzeichnen die Hardware-Anbindungen der physischen Router, die über Netzwerkschnittstellen mit GNS3 verbunden sind. Das virtuelle ISP-Backbone enthält mehrere Wege, an denen sich Störungen und deren Auswirkungen untersuchen lassen. Die dafür verwendeten Lab-Verbindungen halten wir vom Produktivnetz getrennt.
Ausfälle und schlechte Verbindungen gezielt testen
Im Beispiel mit zwei Standorten interessiert mich besonders, was bei einer Störung im nachgebildeten Provider-Netz passiert. Mit den Packet Filters von GNS3 lassen sich auf einer Verbindung gezielt Paketverlust (Packet Loss) oder hohe Latenzen erzeugen. Auch Jitter, also Schwankungen der Verzögerung, lässt sich einstellen. Mehrere Filter können gleichzeitig wirken.
- Fallen auf dem Hauptweg alle Pakete aus, lässt sich prüfen, ob das Routing die Störung erkennt, auf den Ersatzweg umschaltet und wie lange die Verbindung unterbrochen ist.
- Bei einem laufenden Testgespräch zwischen den Standorten lässt sich beobachten, wie Verzögerung, Jitter und Paketverlust die Sprachqualität beeinflussen und ob das Gespräch beim Wechsel auf den Ersatzweg bestehen bleibt.
- Bei Paketverlust lässt sich beobachten, ob Daten erneut übertragen werden und wann eine Anwendung mit einem Timeout abbricht.
Eine verschlechterte Verbindung führt nicht automatisch zur Umschaltung. Ob ein Ersatzweg genutzt wird, hängt von der eingerichteten Fehlererkennung und den Umschaltregeln ab. Genau das lässt sich hier prüfen. Anschließend kann ich etwa Überwachungsintervalle oder Schwellwerte anpassen und denselben Test mit denselben Filtereinstellungen wiederholen.
Was für einen aussagekräftigen Test nötig ist
GNS3 eignet sich besonders für Konfiguration, Protokollverhalten und Fehlersuche. Die erreichbare Leistung eines physischen Routers lässt sich aus einer virtuellen Variante jedoch nicht zuverlässig ableiten. Dafür zählen unter anderem die Hardware und deren Beschleunigungsfunktionen. Durchsatz und Verhalten unter Last prüfen wir deshalb zusätzlich mit der vorgesehenen Hardware.
Die Größe des virtuellen Aufbaus hängt von der verfügbaren Rechenleistung, dem Arbeitsspeicher und den eingesetzten Images ab. Für einen gezielten Test reicht oft der relevante Ausschnitt des Netzwerks.
Änderungen besser vorbereiten
Der größte Vorteil liegt für mich darin, ein geplantes Netzwerk vor der Umsetzung ausprobieren zu können. Ich kann Varianten vergleichen, Konfigurationsfehler eingrenzen und das Verhalten bei Störungen untersuchen. Auch für die Einarbeitung in ein Netzwerk oder neue Funktionen eignet sich ein solcher Aufbau.
Für die spätere Umsetzung halte ich Topologie, Softwarestände, Konfigurationen und Testergebnisse fest. Damit wird aus dem Lab-Aufbau eine nachvollziehbare Grundlage für die weitere Planung. Fragen zum Zusammenspiel der Geräte lassen sich früher klären, und Änderungen beim Kunden können gezielter vorbereitet werden.