Netzwerke
Ein Netz ist hier ein virtueller Switch: ein eigener Adressbereich mit automatischer Adressvergabe oder eine Brücke auf das Netz, das ohnehin besteht. Die Netzkarten des Hosts werden angezeigt und nie verändert — ein Tippfehler auf dieser Seite kann den Zugang zum Server nicht abschneiden.

Drei Modi, und was unangetastet bleibt
Ein Netz ist NAT (eigener Bereich, ein Weg hinaus), isoliert (eigener Bereich, kein Weg hinaus) oder gebrückt (die Gäste sitzen direkt im bestehenden Netz). Netze, die schon auf dem Host lagen, erscheinen als nicht verwaltet: Phillux zeigt sie und lässt sie starten und stoppen, legt sie aber nicht an und schreibt sie nicht um.
An den Schnittstellen des Hosts lässt sich hier nichts einstellen. Das ist eine bewusste Grenze und keine fehlende Funktion — die Maschine, auf der das läuft, wird über genau diese Schnittstellen erreicht.
Verbindungen zwischen zwei Netzen
Zwei virtuelle Netze erreichen einander nicht, und das aus zwei Gründen, die beide am Host liegen: libvirt verwirft jede neue Verbindung von außen in ein Netz hinein, und es schreibt die Absenderadresse beim Hinausgehen um. Ohne das Zweite sähe ein Gast im Zielnetz sein eigenes Gateway als Absender, und jede Regel in seiner Firewall wäre wertlos.
Phillux hängt deshalb zwei eigene Ketten vor die von libvirt. An fremden Regeln wird nichts geändert, gelöscht oder umsortiert — an zwei Stellen kommt genau ein Sprung hinzu, und die Ketten werden bei jeder Änderung vollständig neu geschrieben. Wer die Verbindungen loswerden will, löscht sie, und das Regelwerk des Hosts steht danach wie zuvor.
Eine Verbindung gilt in beide Richtungen und lässt sich auf Richtung, Protokoll und Port einengen — bis hinunter auf eine einzelne VM, die mit einer einzelnen anderen spricht.
Ein Weg hinein, und ein Name statt einer Adresse
Ein Gast im NAT-Netz hat einen Weg hinaus, aber keinen hinein, und „der Webserver in der VM ist nicht erreichbar“ ist das Erste, worauf jemand stößt. Eine Weiterleitung reicht ihm einen Port des Hosts durch.
Das Ziel wird als Gast benannt, nicht als Adresse. Die Adresse kommt per DHCP und wechselt mit der Leihfrist; der Name nicht. Sie wird bei jedem Neuaufbau der Regeln frisch nachgeschlagen, von derselben Überwachung, die auch die Verbindungen aktuell hält.
Feste Adressen und VLAN-Kennungen
Welcher Gast welche Adresse bekommen soll, wird von außen entschieden, als DHCP-Reservierung. Die Alternative — die Adresse im Gast zu setzen — geht nur dort, wo man hineinkommt; eine Reservierung greift auch bei einer Maschine, die noch installiert, und bei einem Windows-Gast, an dem sich noch niemand angemeldet hat.
Eine VLAN-Kennung sitzt an der Karte des Gastes selbst, was VMware VST nennt. Der Gast weiß nichts davon: Drinnen steckt eine gewöhnliche Karte, genau wie an einem Switch-Port, den ein Administrator in ein VLAN gelegt hat. Ein Gast darf mehrere Karten haben, jede in ihrem eigenen VLAN — eine Firewall hat ein Innen und ein Außen, und beide Beine ins selbe VLAN zu legen machte sie zum Kabel.
Der andere Modus ist ein Trunk: Da kennzeichnet der Gast selbst und der Host reicht die Rahmen unverändert durch — für einen Router oder eine Firewall, die die Kennungen sehen will.
Eine schlechte Leitung, mit Absicht
Jedes Labornetz ist schneller und zuverlässiger als das jedes Kunden. Das ist das eine, was eine virtuelle Umgebung von Haus aus falsch macht: Eine Anwendung, die bei 200 ms Verzögerung auseinanderfällt, sieht hier tadellos aus und bricht an dem Tag, an dem sie über einen Satellitenlink in die Zweigstelle geht.
Verzögerung, Schwankung, Paketverlust, Verdopplung, Verfälschung und eine Bandbreitengrenze lassen sich je Gast setzen. Die Regel sitzt auf dem Verkehr in den Gast hinein, ein Ping aus ihm heraus bekommt die Verzögerung also einmal auf dem Rückweg, und die Umlaufzeit wächst um genau das Gesetzte. Das steht so da, statt es mit einem symmetrischen Aufbau zu kaschieren, dessen zweite Hälfte still nichts tut.
Weiterlesen
Jedes Thema auf einer eigenen Seite
Vierzehn Seiten, jede aus dem geschrieben, was das Programm wirklich tut — samt der Stellen, an denen es aufhört.













Auf der eigenen Hardware ausprobieren
Einen Monat, vollständig, ohne Registrierung und ohne dass nach Daten gefragt wird. Der Installer schreibt einen ganzen Server — dafür ist eine freie Maschine oder eine VM der richtige Ort.