Otvorite konzolu, promijenite jedno pravilo firewall-a i tunel kroz koji ste bili povezani nestaje. Promjena je bila ispravna, reload nije, i sada je jedini put natrag u mašinu upravo onaj koji ste tek pokvarili. Drugi put za ulaz je dizajnerska odluka i mora postojati prije ispada, a ne tokom njega.

Prođite kroz ono što vam je još ostalo

Pođite od ekrana konzole pred sobom i popišite puteve koji ne zavise od tunela. Web konzola provajdera sa serijskom ili VNC sesijom je jedan. Upravljački interfejs na odvojenoj mreži je drugi. Fizički pristup je treći, i upravo njega ljudi otkriju da nema u najgorem trenutku.

PathDepends onUsually fails when
Provider consoleAccount access and the provider's own APICredentials live in a wiki only reachable over the tunnel
Management subnetA second interface and its own routingThe bad change was a global route or firewall policy
Second tunnelA different listener, port and credentialsBoth listeners were changed in the same edit
Physical or local consoleBeing in the buildingNobody has been in the building for a year

Čitajte treću kolonu kao spisak kvarova, a ne kao apstrakciju. Dva od tih puteva obično otkazuju iz istog razloga. Tabela je način da to primijetite prije nego vam ispad to objasni.

Nezavisnost je pitanje zavisnosti

Račun za oporavak nije nezavisan ako je njegova lozinka sačuvana u servisu do kojeg dolazite kroz tunel. Drugi VPN na istom hostu, istom portu i istoj firewall politici takođe nije nezavisan, jer promjena koja je pokvarila prvi kvari oba.

Spustite se niz lanac i imenujte šta svaki korak zahtijeva. Mrežna dostupnost, razrješavanje imena, izvor autentifikacije i sam servis za upravljanje su četiri odvojene zavisnosti, a put koji dijeli bilo koju od njih nasljeđuje taj kvar.

Put koji nikada nije testiran zaslužuje vlastitu sumnju. Konzola koja nije otvarana mjesecima može zahtijevati reset lozinke putem e-pošte, a to poštansko sanduče može biti hostovano na mašini do koje ne možete doći. Testirajte put dok sve funkcioniše, i to ćete otkriti jednog mirnog poslijepodneva.

Upotrijebite drugi put za jednu kontrolisanu promjenu

Sa konzole napravite snimak ili kopirajte konfiguraciju koju ćete uređivati. Promijenite jednu stvar. Ponovo učitajte servis i pročitajte rezultat prije nego što dotaknete bilo šta drugo, jer dvije promjene odjednom pretvaraju oporavak u eksperiment.

Držite sesiju za oporavak otvorenom dok to radite. Cijela vrijednost drugog puta je u tome što preživljava ono što mijenjate, pa zatvaranjem prije toga uklanjate jedino svojstvo zbog kojeg je bio koristan.

Provjeravajte sa puta za oporavak, a ne po sjećanju

Provjera koja je važna jeste da li se normalni put vraća, a sesija za oporavak je mjesto gdje to potvrđujete po redu:

systemctl status openvpn-server@server --no-pager
ss -lntup | grep -E ':(1194|443)\b'
nft list ruleset | sed -n '1,40p'
journalctl -u openvpn-server@server --since '-10 min' --no-pager | tail -n 30

Prvo pročitajte stanje servisa, zatim slušalac, zatim pravila, a onda dnevnik. Servis koji radi bez slušaoca upućuje na konfiguraciju servisa, dok slušalac bez dostupnih pravila upućuje na filtriranje. Red je važan jer svaki korak sužava sljedeći, a preskakanje na dnevnik obično znači čitanje grešaka koje opisuju simptom, a ne uzrok.

Dokumentacija za systemctl pokriva ponašanje statusa i restarta koje se ovdje koristi, uključujući to kako neuspjeli reload ostavlja prethodni proces pokrenutim. Obnavljanje koherentne revizije bolje je od ponovnog povezivanja iz klijenta koji ne može popraviti server. Ako je uslov za vraćanje unazad koji ste definirali prije promjene ispunjen, obnovite i zaustavite se.

Držite inventar ažurnim

Pregledajte listu pristupa kada se ljudi ili infrastruktura mijenjaju. Testirajte put za oporavak dok sve radi. Umirovite račune koje niko nije koristio od posljednje reorganizacije. Dva zastarjela računa i jedan istekao sertifikat su malo čišćenje u utorak i ispad u nedjelju.

Zabilježite ko može koristiti svaki put, šta on dozvoljava i kako se rotiraju akreditivi. Put za oporavak bez vlasnika postaje zaboravljeni ulaz, što je druga vrsta kvara od toga da ste zaključani izvan servera.

Povezani članci