Jo kieze in server dy't tichterby liket, klikke op ferbine, en de browser hâldt op mei laden foardat de nije tunnel omheech is. It ikoan springt nei in ferbiningstastân en bliuwt dêr wylst elk ljepblêd útrint. Dy pauze is meastentiids de kill switch dy't wurket sa't er ûntwurpen is: ferkear is blokkearre wylst de klient gjin tunnel hat om it troch te stjoeren. Oft de pauze akseptabel is hinget ôf fan wat de klient yn dy sekonden docht, en oft it blok ophyst wurdt as er seit dat it sa is.

Wat de klient tusken twa servers docht

In einpuntwiksel binne ferskate stappen, net ien skeakel. De klient brekt de hjoeddeiske tunnel ôf, fernijt syn blokregels, lost it nije einpunt op en berikt it bûten de tunnel, ynstallearret dan de nije rûtes en heft it blok op. It gat dat jo fieldwaarnimme leit tusken de earste en de lêste stap.

Oarder is hjir wichtiger as faasje. As de blokregels foar de útsûndering foar it nije einpunt yngean, kin de klient de hânskudding net ôfmeitsje en bliuwt er op ferbinen oant in tiidferrin. As de útsûndering in kopy fan it adres fan 'e âlde server is, sjocht de nije hânskudding derút as elk oar útgongspakket en wurdt er weilitten. Beide gefallen sjogge itselde út fan 'e browser, en dêrom kinne in wiksel dy't nei seis sekonden weromkomt en ien dy't nea weromkomt deselde oarsaak diele.

It nije einpunt hat in gat yn it blok nedich

Om de tunnel te bouwen, moat de klient pakketten stjoere nei it adres en de poarte fan 'e nije server op 'e fysike ynterface, bygelyks UDP 51820 foar in typysk WireGuard-profil of 1194 en 443 foar OpenVPN, wat jo eigen profil ek oantsjut. Dat ferkear sit net yn 'e tunnel dy't er krekt meitsje sil, dat in blok foar it hiele apparaat slokt it op, útsein as der in oerienkommende tastimmingregel bestiet.

Profielen op basis fan hostnamme foegje in twadde eask ta: it sykjen sels. As de klient it einpunt oplost foardat it blok omheech giet, kin er in bewarre adres brûke, mar as it profil adressen rotearret of de bewarre ynfier ferâldere, giet de hânskudding nei in adres dat de tastimmingregel net dekt. IPv6 makket dat sichtber, want in einpunt mei dûbele stapel kin sawol in A- as in AAAA-record publisearje, en in tastimmingregel dy't allinnich it v4-adres dekt lit de klient op 'e nij besykje tsjin in blokkearre v6-adres.

Opsjenammen en standertwearden ferskille per klient en ferzje, dat lês de dokumintearre list foar jo eigen ynstee fan te rieden út skermôfbyldings. De OpenVPN Connect-ynstellingsreferinsje op openvpn.net/connect-docs/app-settings-windows is ien foarbyld fan hoe't in klient syn blok- en split-tunnelopsjes beskriuwt.

Fail-closed is in tastânsmasine, gjin skeakel

De measte klienten uterje it blok as firewaltbelied yn trije tastannen: tunnel omheech, mei ferkear troch de tunnel en gjin blok; tunnel del, mei it blok aktyf; en oergong, mei it blok aktyf plus tydlike útsûnderingen foar it einpunt. Yn 'e tredde tastân wenje de flaters, want dy moat twaris binnen in pear sekonden feroarje, en it net ferlitten liket krekt as in permanint blok.

It meganisme ferskilt per platfoarm, en de flater ek. Filtres fan Windows Filtering Platform drage gewichten, dat in blokfilter dy't jo tastimming oerhearsket bliuwt pakketten weilitten ek al bestiet de tastimming, en filtres dy't in deade klientproses efterliet kinne de masine offline hâlde neidat de app fuort is. macOS-klanten skriuwe meastal pf-regels yn in anker, wêr't regeloarder en snelle besluten bepale hokker regel jildt. Linux-klanten beheare meastal in nftables- of iptables-ketting mei drop-belied en eksplisite tastimmingen foar it einpunt, de tunnelinterface en loopback. Android syn always-on VPN mei de opsje om ferbiningen sûnder VPN te blokkearjen is de strangste fan 'e groep, want it bestjoeringssysteem past it blok ta op it hiele apparaat ynstee fan per app.

WireGuard hat syn eigen noat nedich, want AllowedIPs is in rûtekar, gjin blokkearder. It beslist hokker bestimmings yn 'e tunnel geane; it docht neat om in pakket sûnder tunnel tsjin te hâlden om oer Wi-Fi fuort te gean. Yn in opset allinnich mei WireGuard en gjin firewalregel is de kill switch eins it ûntbrekken fan in rûte, en nei in weilitten hânskudding kin in echt pakket oer de fysike ynterface fuortgean.

Mjit it gat ynstee fan nei it ikoan te sjen

Hâld pakketten yn 'e gaten, net it tastânljocht. Op Linux starte jo in stadige ping nei in iepenbier adres yn ien terminal en fange jo de transportpoarte fan 'e tunnel op 'e fysike ynterface yn in oare:

ping -i 0.2 -c 100 1.1.1.1 | tail -5

sudo tcpdump -ni eth0 'udp port 51820'

Wikselje servers yn 'e klient wylst beide rinne. Trije dingen binne wichtich: hoe lang de pings stopje, oft de opname lit sjen dat de hânskudding it nije einpunt berikt, en oft ferkear weromkomt foardat of neidat de tastân fan 'e klient nei ferbûn feroaret. As it ping-gat earst einiget, is it blok óf te betiid ophyst óf de tunnel is omheech foardat de yndikator it tajout. As it gat letter einiget, is de yndikator optimistysk.

Op Windows skriuwt netsh wfp show state in momintopname wêryn jo sykje kinne nei blokfilters dy't der noch binne wylst de klient beweart ferbûn te wêzen. Op macOS listet sudo pfctl -sr de laden regels en har oarder. Keppelje ien fan beide opnames oan 'e eigen log fan 'e klient; de tiidline fan jo ping fertelt oft it blok let einige of nea.

Normale fertsjustering tsjin in fêst sleat blok

Wat ûnderbrekking is it punt fan 'e funksje, dus triëarje foardat jo in ynstelling feroarje:

What you seeUsually meansNext check
Two or three seconds of timeouts, then normal browsingExpected fail-closed gapNothing to fix
State says connected, traffic stays deadBlock filter or route left behindFirewall snapshot, client log
One app dead while others workTCP session bound to the old exit addressRestart the app
LAN devices unreachable after the switchLAN exception not reappliedAllow-LAN or split-tunnel setting
New server hangs, the old one reconnectsPermit covers only the old addressResolved address of the new host, including AAAA

As jo yn 'e twadde of fyfde rige telâne komme, skeakelje dan de kill switch net út om te testen, want dat makket fan in rûteflater in lek. Start de tsjinst fan 'e klient op 'e nij, of start de masine op 'e nij dêr't filtres it deadzjen fan in proses oerlibje, en sjoch dan oft it blok ferdwynt. Docht it dat, dan sit de flater yn it opromjen by de wiksel en net yn it blok sels.

Befêstigje foar jo folgjende wiksel fjouwer dingen: de einpunttastimming dekt elke adresfamylje dy't jo profil oplost, de klientlog lit de oergong foltôge sjen, jo pingtest mjit it gat ynstee fan it ikoan, en it sluten fan 'e klient herstelt normale ferbining. In kill switch dy't by de wiksel hâldt en dêrnei loslit docht syn wurk. Ien dy't te betiid loslit, of nea, is it wurdich om te debuggen.

Relatearre artikelen