Javna VPN konfiguracija prestala je raditi? Pročitajte fazu kvara
Preuzeti profil opisuje jedan host u jednom danu. Pročitajte koja tvrdnja nije izdržala, provjerite certifikat koji druga strana predstavlja i nikada ne isključujte provjeru.
Profil je radio u utorak, a u petak klijent vrti trideset sekundi i odustaje. Ništa se na vašem računalu nije promijenilo. Upravo je to poanta: preuzeta konfiguracija opisuje jedan host u jednom trenutku, a operater na drugoj strani nije dužan održavati taj opis istinitim. Iskušenje je početi mijenjati sigurnosne postavke dok se tunel ne vrati. Taj instinkt je razlog zašto ljudi završe s profilom i isključenom provjerom certifikata, što je gore nego da tunela uopće nema.
Datoteka opisuje trenutak, ne ugovor
Konfiguracijska datoteka je skup tvrdnji: ovo ime hosta sluša na ovom portu s ovim protokolom, predstavlja certifikat koji odgovara ovom imenu i prihvaća ove vjerodajnice. Kada bilo koja od njih prestane biti istinita, datoteka je zastarjela i popravak pripada operaterovoj strani granice, a ne vašim postavkama.
Javni popisi čvorova to po svojoj prirodi čine očitim. Čvorove vode volonteri, pojavljuju se i nestaju, adrese se recikliraju, a portove blokira mreža iza koje se nalaze. Popis je snimka koja se ponovno generira, a kopija na vašem disku je fotografija starije snimke.
Komercijalne usluge mijenjaju se sporije, ali ne nikada. Certifikacijska tijela se rotiraju, slušač se seli sa zajedničke adrese na namjensku, stari protokol se povlači i dolazi novi popis šifri. Svaka od toga je nevidljiva dok vaš klijent ne pokuša uspostaviti vezu i ne dobije drugačiji odgovor od onoga koji datoteka očekuje.
Pročitajte fazu kvara prije nego što dirnete postavku
Poruka o pogrešci kaže koja tvrdnja nije izdržala, a svaka tvrdnja ima potpuno drugačiji popravak. Mijenjanje šifri kada se ime hosta više ne razrješava gubi jedno poslijepodne i nikoga ničemu ne uči.
| What happens | The assertion that broke | Supported response |
|---|---|---|
| Name never resolves | The host still exists under that name | Get a current endpoint from the operator |
| TCP connect times out | The listener is on that port and reachable | Check the current published port, then the local network |
| TLS or key exchange fails | The peer presents the expected identity | Compare the certificate, not the cipher list |
| Authentication rejected | The account is still valid | Get credentials reissued or stop using the service |
dig +short vpn.example.net
curl -sS -o /dev/null -w 'connect=%{time_connect} tls=%{time_appconnect}\n' --max-time 8 https://vpn.example.net:443/
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief </dev/nullSrednji redak razdvaja blokiran put od pokvarenog rukovanja, a treći prikazuje izdavača i datume valjanosti certifikata koji se stvarno predstavlja. Ako taj izdavač nije onaj koji je profil prikvačio, certifikat se promijenio i nikakva klijentska opcija neće ponovno učiniti stari pin ispravnim.
Promjene certifikata i identiteta su tihe
Većina kvarova sama se najavljuje. Promjene identiteta ne, jer klijent koji prikvači ime certifikata odbit će potpuno dobar novi certifikat s porukom koju mnogi čitaju kao grešku u softveru. Tunel je u redu. Pin je zastario.
Potražite opcije identiteta prije nego što bilo što zaključite:
grep -nE '^(remote|proto|auth|verify-x509-name|tls-crypt|key-direction|ca) ' profile.ovpn
openssl x509 -in profile-ca.crt -noout -subject -datesAko profil nosi ugrađeni CA i operater je prešao na novo tijelo, stara datoteka ne može validirati novi poslužitelj. Zamjena CA bloka operaterovim objavljenim blokom legitimna je popravka. Brisanje direktive za provjeru nije, i to su isti pritisci tipki sa sasvim drugačijim ishodom.
Nadogradnja klijenta može proizvesti isti simptom bez ikakve promjene kod operatera. Opcije koje su tiho tolerirane sada se odbijaju, ili se zastarjeli protokol uklanja. To je granica kompatibilnosti u vašem softveru i vrijedi isprobati drugi profil na istom klijentu prije nego što okrivite poslužitelj.
Samo operater može objaviti valjanu zamjenu
Kada čvor nestane, zamjena mora doći iz istog izvora koji je objavio original. Profil koji stigne u izravnoj poruci jer „koristi isto ime poslužitelja“ jest neprovjerena konfiguracija nepoznate strane, a njegov uvoz daje toj strani kontrolu nad vašim usmjeravanjem.
Provjera je jeftina. Dohvatite trenutačnu datoteku s objavljene lokacije, usporedite endpoint i protokol s popisom i potvrdite otisak CA materijala umjesto da vjerujete imenu datoteke:
curl -sS -o current.ovpn https://example.org/nodes/current.ovpn
sha256sum current.ovpn profile.ovpn
grep -nE '^(remote|proto) ' current.ovpnAko se dva hasha razlikuju samo u bjelinama, imate promjenu formatiranja. Ako se razlikuju u endpointima, operater je nešto premjestio i objavljena datoteka je autoritet. Ako je objavljena datoteka starija od one koju držite, vjerojatno gledate u predmemoriju i zastarjeli odgovor poslat će vas u pogrešnom smjeru.
Povucite stari unos i zapišite što se dogodilo
Kada se radna zamjena potvrdi, obrišite stari profil umjesto da ga držite kao rezervu. Zastarjeli unos koji se napola povezuje je zamka: bit će odabran tijekom prekida, sporo će padati, a osoba koja otklanja pogrešku provest će prvih deset minuta na pogrešnoj datoteci.
Vodite kratak zapis izvan konfiguracije: datum, stari endpoint, fazu kvara i što ga je zamijenilo. Javni čvorovi se mijenjaju i šest tjedana kasnije isto pitanje dolazi s drugom osobom. Jedan redak u datoteci s bilješkama odgovara na njega u sekundama.
Ako iz jedne mreže svaki čvor padne na isti način, a iz druge nijedan, prestanite uređivati profile i pogledajte lokalni put. Captive portal, filtrirani raspon portova ili presrećući proxy proizvest će identične pogreške kod nepovezanih pružatelja usluga, i taj je obrazac jedini signal da problem nikada nije bio u datoteci.