Einspielen einer Konfiguration in neuer Version?

Started by ThomasE, April 09, 2024, 02:32:16 PM

Previous topic - Next topic
Hallo,

wir betreiben eine ziemlich umfangreiche OPNsense derzeit noch mit der Version 23.4, und um das Upgrade auf 23.10 möglichst ohne große Downtime und mit einfacher Fallback-Möglichkeit durchzuführen, hatte ich die glorreiche Idee, eine zweite Maschine mit identischer Hardware aufzusetzen, dort bereits die neue Version zu installieren, danach die Datei

/conf/config.xml

zu kopieren, die neue Kiste zu rebooten und anschließend alles umzustecken in der Hoffnung, dass alles wieder wie gewohnt funktioniert. Leider hat das so nicht wirklich geklappt: Der DHCP-Dienst hat für 30 bis 300 Sekunden munter Leases verteilt und anschließend kommentarlos neu gestartet. Auch der Unbound DNS hatte ganz offensichtlich ein Problem. Viel weiter haben wir nicht getestet, da nicht abzusehen war, wie wir die Probleme auch nur einigermaßen kurzfristig in den Griff kriegen könnten. Stattdessen haben wir wieder umgesteckt, mussten die alte Maschine nochmal "kurz" rebooten und anschließend ging alles wieder.

Nun zu den Fragen in diesem Zusammenhang:

Ist die grundsätzliche Vorgehensweise, eine Konfigurationsdatei auf einem System mit identischer Hardware und dem nächsthöheren Release einzuspielen überhaupt etwas, was "im Prinzip so funktionieren müsste"? (Begründete Ausnahmefälle, wie etwa nicht mehr unterstützte Plugins o.ä. lassen wir mal außen vor.)

Macht es einen Unterschied, ob man erst das Update durchführt und dann die Konfiguration einspielt - wie wir es gemacht haben - oder ob man erst die Konfiguration einspielt und anschließend das Update durchführt?

Wir haben es leider nicht getestet, aber könnte es sein, dass die beschriebenen Probleme mit dem DHCP und dem DNS der Tatsache geschuldet waren, dass wir einfach "hart umgesteckt" haben und es nach einem Reboot mit verbundenen Steckern funktioniert hätte? (Mir ist klar, dass das ziemlich spekulativ ist. ;-))

Gibt es generell Dienste, die nach einem Upgrade nochmal angefasst oder gar neu konfiguriert werden müssen? Neben der reinen ich nenne es mal "Kernfunktionalität" nutzen wir noch NTP, DHCPv4, Unbound DNS, OpenVPN und CaptivePortal. Bei OpenVPN wissen wir, dass neue Verbindungen jetzt anders eingerichtet werden müssen, aber die bestehenden funktionieren erstmal weiter und bei Captive Portal gehen angelegte Voucher verloren, was für uns jetzt kein Drama ist. Gibt es sonst noch irgendwelche "Fallstricke"?

LG
Thomas


April 09, 2024, 02:47:12 PM #1 Last Edit: April 09, 2024, 02:49:15 PM by Monviech
Wenn man das Backup über die (Web UI) herunterlädt und auf einer neu installierten OPNsense über die Weboberfläche wieder einspielt, werden im Hintergrund Migrationen getriggert die bei Änderungen die Konfiguration automatisch an neue Vorraussetzungen anpassen. Diese Migrationen passieren auch bei Updates automatisch.

Hier ein Beispiel was ausgeführt wird, wenn die Wireguard konfiguration wiederhergestellt wird: https://github.com/opnsense/core/blob/master/src/opnsense/mvc/app/models/OPNsense/Wireguard/Migrations/M1_0_0.php

Also im Prinzip müsste es funktionieren. Es müssen nur manuell die Plugins nachinstalliert werden nachdem man das Backup (über die Weboberfläche) eingespielt hat. Eigentlich sollte alles, was eine xml section in der conf.xml hat, auch wiederhergestellt oder migriert werden.

Hardware:
DEC740

Quote from: Monviech on April 09, 2024, 02:47:12 PM
Wenn man das Backup über die (Web UI) herunterlädt und auf einer neu installierten OPNsense über die Weboberfläche wieder einspielt, werden im Hintergrund Migrationen getriggert die bei Änderungen die Konfiguration automatisch an neue Vorraussetzungen anpassen. Diese Migrationen passieren auch bei Updates automatisch.
Demnach macht es einen Unterschied, ob man einfach die Datei kopiert oder ob man die Konfiguration über das Web-Interface herunterlädt und einspielt, wobei die Schlüsselstelle vermutlich das Einspielen ist, weil hierbei eben auch die Konfiguration migriert wird. Das ist schon mal eine sehr interessante und wichtige Information. Danke.

Quote from: ThomasE on April 09, 2024, 02:32:16 PM
Hallo,

wir betreiben eine ziemlich umfangreiche OPNsense derzeit noch mit der Version 23.4, und um das Upgrade auf 23.10 möglichst ohne große Downtime und mit einfacher Fallback-Möglichkeit durchzuführen, hatte ich die glorreiche Idee, eine zweite Maschine mit identischer Hardware aufzusetzen, dort bereits die neue Version zu installieren,[...]

das liest sich doch ganz nach einem gewünschten maaster-Slave Setup an, für die es sogar entsprechenden
Update Vorgang gibt...
https://docs.opnsense.org/manual/hacarp.html

Wenn die Hardware anscheinend sowieso vorhanden sind, was hindert Euch, nicht dieses Setup zu nutzen?
Nur eine Single WAN IP (ohne PPtP Verbindung) ?

Quote from: Reiner030 on April 09, 2024, 04:11:33 PM
Wenn die Hardware anscheinend sowieso vorhanden sind, was hindert Euch, nicht dieses Setup zu nutzen?
Der Aufwand, das zum jetzigen Zeitpunkt nachträglich einzurichten, wäre immens. Wir haben mehrere hundert VLANs und Interfaces... Hätten wir's mal von Anfang an gemacht, aber damals fehlte uns hierfür schlicht die Expertise.

Moin!
Das habe ich zu genüge im professionellen Umfeld auf hochproduktiven Firewalls gemacht :)
Es ging da um virtualisierte Instanzen und hat immer einwandfrei funktioniert. Lediglich die Interfaces sind in manchen Versionen durcheinander gegangen. Das habe ich in dem Hypervisor einfach wieder passend umkonfiguriert und somit war die Downtime nicht größer als 5 Minuten.

Es waren verschiedenste Dienste im Einsatz. IPsec, OpenVPN, BGP, NAT, etc ...

Ich habe damit auch gelegentlich mehrere Releases "übersprungen". Und im Zweifel schaltest du die alte Kiste wieder ein und gut. War aber nie notwendig.