Tunel je nestao, ikona mreže izgleda normalno i ništa se ne učitava. Prekinuli ste VPN, deinstalirali ga ili restartovali računar, a blokada koja je trebalo da vas zaštiti tokom prekida još uvijek stoji. Prozor klijenta to ne može objasniti, jer vas ne blokira klijent: odluka je zapisana u jezgru pod vašim imenom i ništa nije ostavljeno da je ukloni. Na Windowsu to stanje živi u Windows Filtering Platform; na Linuxu je to skup pravila u iptables ili nftables, često sa snimkom koji se ponovo pušta pri podizanju. Ono što slijedi je redoslijed koji koristim: pročitajte stanje, izbrišite najuži objekat koji objašnjava kvar, zatim pronađite sve što ga stalno vraća.

Sigurnosni prekidač je stanje jezgra, a ne postavka

Desktop klijenti implementiraju blokiranje dodavanjem filtera koji odbijaju saobraćaj izvan tunela. Na Windowsu su to WFP filteri na slojevima preusmjeravanja veze i transporta, a neki od njih su trajni: upisuju se u skladište politika Base Filtering Engine i vraćaju pri podizanju mašine, prije nego što se pokrene bilo koji VPN softver. Klijenti se razlikuju po tome kada čiste. Neki uklanjaju filtere pri prekidu, neki samo pri čistom izlasku, a neki samo kada se prekidač prvo isključi. Deinstalirajte dok je blokada aktivna, ili ubijte proces i filteri ostaju.

Linux ekvivalent je pravilo odbacivanja ili odbijanja na izlaznoj putanji, ponekad pravilo prosljeđivanja, ponekad promijenjena politika lanca. Ta pravila nadživljavaju proces koji ih je dodao jer su stanje jezgra: ubijte klijent, srušite ga ili prekinite napajanje, a jezgro nastavlja da odbacuje pakete i ništa ne ostaje da to poništi. Paket za trajnost dodaje drugi sloj trajnosti pravljenjem snimka trenutnog skupa pravila i vraćanjem pri podizanju, pa sljedeći početak počinje sa već instaliranom blokadom.

Pročitajte WFP stanje prije nego što bilo šta izbrišete

Windows dolazi sa alatima koji su vam potrebni. Pokrenite podignuti prompt i ispišite stanje platforme; ispis se pojavljuje kao wfpstate.xml u radnom direktoriju.

netsh wfp show state
netsh wfp show filters
Get-Service bfe

Tražite u XML-u ime otišlog proizvođača, radnju Block i sloj. Filteri na preusmjeravanju veze i transportu su oni koji kvare običan saobraćaj; filter na sloju prijema obično nije vaš uzrok. Ako Base Filtering Engine uopšte ne radi, tražite drugdje, jer ništa drugo ne može primijeniti te filtere.

Provjerite i običan prikaz firewall-a, jer većina ljudi pregleda samo jedan od dva:

netsh advfirewall show allprofiles
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction

Kada su ugrađeni profili uključeni i nijedno pravilo ne odgovara saobraćaju koji ne uspijeva, blokada dolazi od nezavisnog provajdera, a ne od Windows Firewall-a. Ta razlika odlučuje koji ćete alat koristiti za popravku.

Čitajte Linux pravila u sintaksi kojom ćete brisati

iptables -S ispisuje pravila u istom obliku u kojem se dodaju, što izlaz čini direktno upotrebljivim za brisanje. iptables -L -v -n dodaje brojače paketa, a ti brojači govore da li pravilo zaista odgovara vašim neuspjelim zahtjevima ili samo stoji u lancu.

sudo iptables -S
sudo ip6tables -S
sudo iptables -t nat -S

Čitajte politike lanaca, ne samo pravila: -P OUTPUT DROP blokira saobraćaj čak i kada nijedno pravilo ne odgovara. Pregledajte IPv6 odvojeno, jer klijent koji instalira oba porodična skupa može ostaviti IPv6 blokadu na mjestu nakon što IPv4 pravila nestanu, a simptom tada zavisi od toga koju porodicu aplikacija preferira. Gdje se koristi nftables, pokrenite i nft list ruleset; dva alata koegzistiraju kroz sloj kompatibilnosti i jedan ispis ne pokazuje nužno svako pravilo koje može odbaciti paket.

Izbrišite najuži objekat koji objašnjava kvar

Na Windowsu je prvi korak i dalje proizvođačev vlastiti put uklanjanja: ponovo pokrenite instalater i upotrijebite popravku ili deinstalaciju, ili pokrenite alat za čišćenje ako ga proizvođač objavljuje. Zaostale usluge i zakazani zadaci su uobičajeni, a zadatak koji pokreće klijent pri prijavi ponovo instalira njegove filtere pri sljedećem podizanju. Deinstalacija koja ne uspije dok čita registarski ključ klijenta obično znači da ga usluga ili zadatak još drži, a ne da je registar oštećen.

Get-ScheduledTask | Where-Object TaskName -like '*vpn*'
Get-Service | Where-Object DisplayName -like '*vpn*'

Trajni filteri su posljednje sredstvo. Žive pod HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\Persistent\Filter, po jedna vrijednost za svaki filter sa GUID ključem. Prvo izvezite ključ, zabilježite GUID-ove koje uklanjate, brišite samo vrijednosti koje pripadaju otišlom klijentu, zatim restartujte da bi motor ponovo izgradio svoje stanje. Ne brišite cijeli ključ i ne onemogućujte Base Filtering Engine: Windows Firewall i Defender zavise od njega i zamijenili biste jedan prekid gorim.

reg export "HKLM\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\Persistent" C:\temp\bfe-backup.reg

Na Linuxu uzmite liniju koju ispisuje iptables -S i zamijenite -A sa -D. Brisanje jednog pravila koje ste identifikovali bolje je od pražnjenja lanca, jer ostavlja vašu vlastitu politiku netaknutom.

sudo iptables -D OUTPUT -p udp -j REJECT

Ako odbacivanje živi u korisnički definisanom lancu, prvo izbrišite skok u taj lanac i zatim uklonite lanac pomoću -X. Postavljanje politike lanca na ACCEPT dok su pravila odbacivanja još prisutna pomaže samo paketima koji uopšte stignu do odluke o politici. Pražnjenje svih tabela je posljednje sredstvo: uklanja i pravila koja ste dodali iz drugih razloga, a uz uključen ufw ostavlja uslugu u uvjerenju da posjeduje lance koji više ne postoje.

Pronađite vlasnika koji ga vraća

Nakon neposredne popravke, tražite sve što bi moglo obnoviti stanje. Na Linuxu provjerite da li je omogućena jedinica trajnosti, da li klijent ima postavku obnove firewall-a pri prijavi i da li postoji sačuvana datoteka pravila pod /etc. Na Windowsu ponovo provjerite stavke pokretanja, usluge i zakazane zadatke, zatim restartujte i ponovo pročitajte stanje istim komandama kao prije.

Ako se blokada vrati, brisanje nije bilo rješenje; vlasnik jeste. Zabilježite koji klijent ili usluga ga instalira i onemogućite funkciju tamo, umjesto da se borite s njom na sloju firewall-a nakon svakog prekida.

Provjerite stvarnim saobraćajem, a ne jednim pingom

Testirajte pretragu imena, TCP vezu i novu sesiju preglednika, zatim restartujte i ponovite iste tri provjere. Ping koji radi dok HTTPS ne uspijeva ukazuje na filter na transportnom sloju, a ne na mrežu, a blokada koja se vraća samo nakon restarta ukazuje na vlasnika kojeg još niste pronašli.

Čuvajte dokaze: izvezeni BFE ključ ili izlaz iptables -S zabilježen prije promjene. Prije nego što to nazovete riješenim, potvrdite sloj sa kojeg ste uklonili objekat, vlasnika koji bi ga mogao ponovo instalirati, stanje nakon jednog čistog restarta i da obično pregledanje radi bez pokrenutog VPN procesa. Stranica priručnika iptables(8) sadrži tačnu sintaksu brisanja i politika ako skriptujete čišćenje.

Povezani članci