OpenVPN-Appliance-Route: Konfigurationseigner oder Startskript?
Eine Filialroute, die einen Neustart übersteht, kann nach dem Speichern in der GUI oder einem Firmware-Update trotzdem verschwinden. Vergleichen Sie den unterstützten Konfigurationseigner mit einem Patch-Skript.
Sie fügen eine Filialroute hinzu, sie funktioniert, und dann entfernt sie ein Firmware-Update oder ein Speichern aus der Weboberfläche. Zwei Korrekturen wirken in diesem Moment gleich vernünftig: die Route in die unterstützte Konfigurationsquelle der Appliance legen oder sie aus einem Startskript an die generierte Datei anhängen. Sie verhalten sich eine Woche lang gleich und gehen beim zweiten Upgrade auseinander. Dieser Artikel vergleicht, was jede von ihnen tatsächlich besitzt.
Die beiden Kandidaten besitzen unterschiedliche Dinge
Die unterstützte Konfigurationsquelle ist alles, was die Appliance als Eingabe behandelt: ein GUI-Feld, ein importiertes Profil, ein dokumentiertes Verzeichnis pro Client, eine Einstellungsdatenbank, die das Verwaltungspaket liest. Die generierte server.conf ist Ausgabe. Ausgaben zu bearbeiten funktioniert, bis der Generator erneut läuft, und das geschieht beim Speichern, beim Neustart und beim Upgrade.
Der Skriptansatz patcht diese Ausgabe, nachdem der Generator fertig ist. Für ein Labor ist das eine legitime Technik, und für eine Filiale ist es der falsche Standard, weil er die Route von Textabgleich statt von einem dokumentierten Feld abhängig macht.
| Question | Supported config source | Post-generation script |
|---|---|---|
| Survives a GUI save | Yes | Only if the save does not regenerate the file |
| Survives a package upgrade | Usually, when the field is documented | No guarantee; the wrapper can be replaced |
| Supportable by the vendor | Yes | No |
| Obvious to the next admin | Yes, it is in the UI | No, it lives in a wrapper |
Was die Appliance neu erzeugt, und wann
Verwaltungspakete halten Einstellungen meist in einer Datenbank oder einem Satz von Vorlagen und rendern die Daemon-Konfiguration beim Start. Ein Speichern aus der Weboberfläche schreibt oft die ganze Datei neu, statt eine Zeile zu patchen. Wenn Ihre Änderung in dieser Datei lebte, ist sie jetzt weg, und nichts protokolliert eine Warnung, weil aus Sicht der Appliance nichts verloren ging.
Start-Wrapper haben einen zweiten Fehlermodus. Ein grep nach einer Direktive mit bestimmter Abstandsetzung findet nach einer Vorlagenänderung nichts mehr, und das Skript tut stillschweigend nichts. Schlimmer noch, ein Firmware-Update kann den Wrapper durch eine neue Version ersetzen und den Patch mitnehmen. Dann haben Sie eine Route, die ein Jahr existierte und während einer Wartung verschwand, die niemand mit Routing verband.
Was der unterstützte Eigner ausdrücken muss
Ein Filialpräfix braucht drei Aussagen, nicht eine. Der Client muss die Route lernen, der Server muss wissen, welcher authentifizierte Client das Präfix besitzt, und die Filialseite muss den Verkehr an die Tunneladresse zurückschicken, die sie erhalten hat. In OpenVPN-Begriffen heißt das eine gepushte route, eine passende, an den Client gebundene iroute und einen Rückweg auf der Gegenseite.
Hier führen Appliance-Oberflächen in die Irre. Ein Kontrollkästchen mit der Beschriftung „Clients den Zugriff auf das LAN des Servers erlauben“ beschreibt Verkehr zum eigenen Netz des Servers. Ihre Filiale ist die Gegenrichtung: ein Netz hinter einem Client, von der Serverseite erreichbar. Dieselbe Beschriftung bedeutet keine Unterstützung dafür, und eine gültige Direktive in einer Datei ist kein Versprechen, dass das Paket sie bewahrt.
Wenn keine unterstützte Steuerung existiert
Manchmal kann die installierte Version eine peer-spezifische Route wirklich nicht ausdrücken. Dann sind die ehrlichen Optionen ein anderes Gateway, das Sie kontrollieren, oder ein unterstützter Site-to-Site-Modus auf beiden Seiten. Beide Enden müssen ihn sprechen. Eine Produktseite, die Site-to-Site sagt, macht ein beliebiges OpenVPN-Profil nicht mit dem Tunnel eines anderen Protokolls austauschbar, und das Erzwingen dieser Paarung erzeugt meist einen halb verbundenen Tunnel, der auf einer Statusseite gut aussieht.
Wählen Sie die Option, die Sie demjenigen, der das Netz erbt, in einem Satz beschreiben können. Wenn die Antwort einen Skriptpfad und ein Textmuster erwähnen muss, ist das Design bereits fragil.
Machen Sie die Absicht prüfbar
Halten Sie den Vertrag außerhalb der Appliance fest: effektive Client-Identität, Präfix, Rückweg-Gateway und das unterstützte Feld, das jeweils dafür sorgt. Exportieren Sie die Konfiguration über den unterstützten Mechanismus, damit ein Wiederaufbau eine Referenz hat, und prüfen Sie den Dienst nach einer Wiederverbindung, einem Neustart und einem Upgrade statt nur nach der Änderung.
Vergleichen Sie das generierte Ergebnis mit dieser Aufzeichnung, wenn etwas bricht, statt eine unerklärte Zeile wiederherzustellen und zu hoffen.OpenVPN-2.6-Referenz ist der Ort, an dem Sie bestätigen, wie route und iroute zusammenspielen, bevor Sie mit einer Oberfläche streiten.
Checkliste für die nächste Änderung: den Eigner benennen, den dreiteiligen Vertrag angeben, die Absicht exportieren und nach den eigenen Lebenszyklusereignissen der Appliance erneut testen statt nach Ihrer Bearbeitung.