Preživljava li VPN prekidač veze ponovno pokretanje? Kako to provjeriti
Ponovno pokretanje vam o prekidaču veze govori manje nego što mislite. Provjerite koji sloj vraća blokadu, kada počinje i kako ga testirati prije prijave.
Ponovno pokretanje najčešći je način na koji ljudi testiraju prekidač veze i to je test koji najčešće laže. Potvrdni okvir u klijentu je samo postavka; važno je nameće li nešto blokadu između trenutka kada se mrežni stog podigne i trenutka kada je tunel zaista uspostavljen. Na Windowsu je to obično filtar u Windows Filtering Platform, na Linuxu skup pravila koji učita neka jedinica, na macOS-u pf sidro, na Androidu vlastite zastavice sustava za uvijek uključeno i zaključavanje. Ti se rasporedi ponašaju vrlo različito kroz ponovno pokretanje i samo su oni na razini platforme na mjestu prije nego se bilo tko može prijaviti.
Ponovno pokretanje postavlja tri odvojena pitanja
Podijelite pitanje. Prvo, postoji li pravilo na disku u obliku koji nešto čita pri podizanju? Drugo, pokreće li se taj čitač prije nego bilo koji promet može izaći? Treće, pokriva li pravilo promet koji vas zanima, to jest svaki proces, obje obitelji adresa i DNS. Da na prvo i ne na drugo daje točno onu grešku koju ljudi prijavljuju kao prekidač veze koji ne preživi ponovno pokretanje: promet pobjegne na nekoliko sekundi pri pokretanju i nitko to ne primijeti dok netko ne krene tražiti.
Držite slojeve odvojeno. Spremljeni skup pravila vatrozida, usluga koja se pokreće pri podizanju i postavka klijenta tri su različita objekta s tri različita životna vijeka. Postavka preživljava ponovna pokretanja jer je vrijednost u konfiguracijskoj datoteci. Pravila su jedino što blokira pakete i ona nestaju s jezgrom koje ih je držalo.
Nađite objekt koji vraća blokadu
Na Linuxu netfilter pravila žive u jezgri. Ništa ih ne zapisuje natrag pri podizanju osim ako to niste uredili: iptables-save plus netfilter-persistent, nftables.service učitava /etc/nftables.conf, ili systemd jedinica koja pokreće vašu vlastitu skriptu. Provjerite što je omogućeno, umjesto onoga čega se sjećate da ste postavili.
systemctl is-enabled nftables netfilter-persistent 2>/dev/null sudo nft list ruleset sudo iptables -S OUTPUT
Prazan skup pravila nekoliko sekundi nakon podizanja odgovor je na pitanje iz naslova. Na Windowsu pitajte klijentsku uslugu kako se pokreće, zatim ispišite stanje filtra platforme dok je tunel spušten.
Get-Service | Where-Object { $_.Name -match 'vpn' } | Select-Object Name, Status, StartType
netsh wfp show stateDruga naredba zapisuje wfpstate.xml u trenutačni direktorij. Tražite filtre s radnjom blokiranja koji već postoje prije nego se klijent spoji. Base Filtering Engine pokreće se rano pri podizanju i vraća filtre dodane s trajnom zastavicom, zato neki prekidači veze blokiraju promet prije nego postoji bilo koji klijentski prozor, a drugi ne. Na macOS-u sudo pfctl -s info izvješćuje je li pf omogućen, sudo pfctl -s rules pokazuje što je učitano, a VPN klijenti obično pridružuju svoja pravila sidru umjesto glavnom skupu pravila. Pravilo koje imenuje utun3 može nakon sljedećeg podizanja pokazivati na drugo sučelje, jer se taj broj dodjeljuje tijekom rada.
Pazite na jaz između podizanja mreže i podizanja tunela
Opasni interval nije cijelo ponovno pokretanje, nego jaz. Sučelje dobije najam i zadanu rutu u jednom trenutku, VPN usluga starta u drugom, a tunel se autentificira još kasnije, ponekad tek nakon što se korisnik prijavi i pokrene agent za vjerodajnice. Ako se blokada primijeni posljednja, sve u jazu izlazi otvoreno.
Na systemd računalima pročitajte redoslijed umjesto da ga pogađate. Pokrenite systemctl cat na VPN i vatrozidnim jedinicama i tražite After= ili Before= prema network-pre.target i network-online.target. Vatrozidna jedinica poredana nakon network-online.target gubi od sučelja; ona koju traži i koja je poredana prije network-pre.target pobjeđuje. Na Windowsu su ekvivalentna pitanja vrsta pokretanja usluge i njezine ovisnosti, jer usluga postavljena na Manual ne može blokirati proces pri podizanju. Ako vaš zahtjev uključuje promet prije prijave, zadovoljava ga samo raspored na razini uređaja: Always On VPN tunel uređaja autentificira se strojnim certifikatom i spaja se prije nego se korisnik prijavi, i Microsoft dokumentira konfiguraciju tunela uređaja odvojeno od korisničkog tunela. Android ide drugim putem, nameće uvijek uključen VPN i blokira veze bez njega iz sustava, a ne iz procesa aplikacije.
Pokrenite test, zatim usporedite dvije vremenske crte
Pokrenite računalo ponovno s odredištem koje ništa ne stoji ako procuri, i bilježite stanje tijekom jaza, a ne nakon njega. Najčišća metoda je sonda pri podizanju: oneshot jedinica ili zakazani zadatak koji starta što ranije platforma dopusti, bilježi zadanu rutu i stanje vatrozida, pokuša jedan zahtjev s kratkim vremenskim ograničenjem i doda redak u lokalnu datoteku. Usporedite taj zapis s vremenom početka VPN usluge iz journalctl -b -u ili sistemskog zapisa.
Zatim provedite uobičajeni test: tunel gore, prekinite vezu, gledajte blokira li se izravni promet, vratite. Proći drugi i pasti prvi normalan je rezultat i znači da je provedba na strani klijenta, primjenjuje se kada se klijent spoji, a ne pri podizanju. Na posljednjem računalu koje sam pregledao blokada je dolazila iz dispečerske skripte NetworkManagera: prisutna, ispravna i beskorisna za sekunde prije nego se sučelje podiglo. Zapišite oba rezultata, jer preživljavanje ponovnog pokretanja nešto znači tek kada kažete koji je sloj preživio i od kojeg trenutka.
Zatvorite jaz bez da si presiječete put natrag
Ako blokada nedostaje pri podizanju, spustite provedbu sloj niže umjesto da dodate drugo klijentsko pravilo. Spremite skup pravila i učitajte ga iz jedinice poredane prije nego mreža postane upotrebljiva i pobrinite se da ta jedinica ne treba DNS upit ni mrežno montiranje koje bi trebala štititi. Opseg je jednako važan kao vrijeme: pravila usklađena po korisničkom ID-u ili cgroupu ostavljaju svakog sistemskog demona izvan blokade, a skup pravila koji obrađuje samo IPv4 ostavlja IPv6 i DNS dostupnima.
Ostavite si put natrag. Računalo koje pri podizanju blokira sve i zatim se ne može autentificirati nema mrežu uopće, a popravak nije brisanje blokade nego popravak vjerodajnica ili redoslijeda. Držite dokumentirani postupak lokalne konzole i usko, namjerno izuzeće za ono što tunelu doista treba, poput adrese poslužitelja i razrješivača koji se koristi prije nego tunel postoji.
Prije nego što povjerujete postavu, potvrdite četiri stvari po redu. Pravilo je spremljeno negdje gdje podizanje čita. Taj čitač radi prije nego je sučelje upotrebljivo. Blokada pokriva obje obitelji adresa i DNS. VPN se još može autentificirati dok je blokada aktivna. Kada sve četiri vrijede, ponovno pokretanje ne mijenja ništa.