Een onderhoudsvenster voor OpenVPN plannen zonder de host te verliezen
Stop de tunnel, verlies de sessie. Leg de draaiende unit vast, bouw een herstelset, oefen op een proeflistener en schakel daarna over van buiten de VPN.
Het herstarten van de VPN-dienst beëindigt elke sessie die deze gebruikt, dus het venster moet rond gesprekken worden gebouwd en niet rond de pakketbeheerder. Gebruikers hebben genoeg waarschuwing nodig om gevoelig werk af te maken, en jij hebt een weg terug nodig die niet afhangt van de tunnel die je op het punt staat te stoppen. Al het andere in het draaiboek bestaat om die twee feiten beheersbaar te maken. Sla een van beide over en een routine-update wordt een storing zonder uitweg.
De volgorde hieronder is bewust: elke fase levert iets op dat de volgende fase nodig heeft, en elke fase kan de wijziging beëindigen voordat deze begint.
Leg de dienst vast die bestaat voordat je hem wijzigt
Lees de geïnstalleerde unit in plaats van degene die je denkt te hebben geschreven: systemctl cat [email protected] print de unit en eventuele drop-ins, en systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory laat zien wat er werkelijk draait en als wie. Vraag het binaire bestand dat de unit noemt, want openvpn --version uit een shell kan naar een andere build verwijzen. Noteer het profielpad en elk bestand waarnaar het verwijst.
Noteer ook de luisterende sockets: ss -lunp | grep 1194 vertelt welk adres en protocol de daemon vandaag bezit. Als het antwoord niet is wat het profiel suggereert, overschrijft een drop-in of een omgevingsbestand het, en de upgrade erft die verrassing.
Stel een herstelset samen die iemand anders kan gebruiken
De herstelset moet om 03:00 door een collega te gebruiken zijn zonder jouw context. Neem de effectieve configuratie op met elk bestand waarnaar verwezen wordt, het vertrouwens- en intrekkingsmateriaal onder beheer van de PKI-eigenaar, de toewijzingen en hooks per client, en de exacte pakketversies die vandaag zijn geïnstalleerd. Een kopie van één bestandsnaam is geen configuratie. Bewaar het ergens waar de oproepdienst het zonder de VPN kan bereiken.
Toegangscontroles gelden ook voor die set, omdat deze privésleutels of backend-referenties bevat. Bouw de CA niet opnieuw op en geef identiteiten niet opnieuw uit alleen omdat een pakketversie is veranderd.
Oefen op een proeflistener met een echte client
Draai de kandidaat-release op een aparte listener met een eigen poort- en adresplan, niet naast de productie-instantie op dezelfde socket. Verbind met de client-engines die jouw gebruikers echt draaien, inclusief de lastige. Controleer adres toewijzing, gepushte DNS, één toepassing die ertoe doet, en één pad dat geblokkeerd moet blijven. Aangepaste hooks moeten in de echte privilege- en bestandssysteemcontext van de dienst draaien, want een root-shell bewijst daar niets over.
Lees de releaseopmerkingen voor gedragswijzigingen, niet alleen voor nieuwe functies. Cipher- en TLS-standaarden verschuiven tussen versies, en een profiel dat nog parseert kan alsnog een handshake falen. Als de upgrade profiel- of certificaatwijzigingen vereist, zet dat dan als eigen stap in plaats van het bij de pakketupdate te voegen.
Schakel één keer over, vanaf een pad buiten de tunnel
Start het venster vanaf een console of een beheernetwerk dat niet door de dienst gaat. Bevestig dat gebruikers zijn geïnformeerd en dat een tweede operator weet hoe hij moet terugdraaien. Pas de voorbereide wijziging toe via de eigenaar, herstart dan met sudo systemctl restart [email protected] en volg het journaal met journalctl -u openvpn-server@office -b -f. Een reload is genoeg wanneer alleen unitdefinities zijn gewijzigd; een gewijzigd profiel vereist dat het proces opnieuw wordt gestart.
Verwacht dat elke client opnieuw verbinding maakt, en verwacht dat sommige applicatiesessies niet hervatten. Coördineer een schone pauze met de workloads die dat niet kunnen verdragen.
Accepteer of draai terug, en vertel gebruikers wat er is veranderd
Acceptatie is een nieuwe login plus een echte handeling plus de beperkingen die nog steeds gelden. Een actieve unit en een groene statusregel zijn procesfeiten. Als de criteria binnen het venster falen, draai dan terug met de voorbereide methode, niet door één bestand te herstellen en te hopen; een gewijzigd binair bestand of dienstbeleid overleeft een configuratieherstel. Bewaar elke intrekking of autorisatiewijziging die tijdens het venster is gedaan, zodat de terugdraaiing het beveiligingswerk niet ongedaan maakt.
Noteer de versies, profielwijzigingen en acceptatieresultaten voor de volgende operator, haal de proeflistener uit dienst en vertel gebruikers welk profiel ze nu moeten gebruiken. Een venster dat zonder die notitie eindigt, wordt bij de volgende update opnieuw aangevochten.