Kill switch blockéiert de VPN-Server, ier iergendeen Trafik fléisst
Wéi eng Etapp e Kill switch blockéiert: Endpunkt-Sich, baussenzeg Route, Retourwee an al Peer-Ausnamen — mat Zieler amplaz Vermutungen.
Kill switche versoen an enger Richtung, déi d’Leit net erwaarden: si si gebaut, fir Trafik ze blockéieren, wärend den Tunnel erof ass, an d’Pakete, déi den Tunnel bauen, si selwer Trafik. Dat ass de ganze Fehler. E Regelwierk, dat alles verwërft, wat net duerch den Tunnel erausgeet, verwërft och den Handshake, deen en eropbréngt, dofir probéiert de Client an enger Schlaif erëm an de Fehler gehéiert zu der Etapp, déi als éischt kontrolléiert gëtt. Ier Dir eng Firewall verbreet, fannt eraus, wéi eng vun dräi Etappen ofgeleent gëtt: d’Namsich, dat baussenzegt Paket zum Peer oder d’Äntwert, déi zréckkënnt.
Wéi den Tunnel an säin eegene Transport vunenee ofhänken
Liest e VPN-Client als zwou Netzwierkzoustänn, déi ee Socket-Wee deelen. Ier den Tunnel existéiert, mécht de Client e Socket um physeschen Adapter op a schéckt verschlësselt Frame un d’Adress an de Port vum Peer. Eréischt wann dësen Austausch geléngt, erstellt en den Tunnelapparat an installéiert Routen. E Kill switch ass eng Politik iwwer den zweeten Zoustand, esou breet geschriwwen, datt se fir béid gëllt.
Regelen op Basis vun der Interface sinn déi gewéinlech Form: akzeptéiert, wat duerch tun0 oder wg0 erausgeet, verwërft de Rescht vum Ausgangswee. Dee Formuléierung kann d’Verbindung vum Client selwer zum Server net ausnamen, dofir füügt eng korrekt Ëmsetzung dës Ausnam ausdrécklech bäi, an Dir och, wann Dir Regele vun Hand schreift. Regele pro Applikatioun op Windows a macOS ëmgoen en Deel dovun, andeems se e Prozess amplaz enger Interface passen, awer de Prozess muss ëmmer nach eraus, ier den Tunnel existéiert.
Dräi Etappen, an der Rei, wéi se geschéien
Déi éischt Etapp ass d’Opléisung. Wann de Profil en Hostnumm amplaz enger wuertwiertlecher Adress späichert, brauch de Client eng DNS-Äntwert, ier en eppes ka schécken. E Profil, deen DNS op den Opléiser vum Tunnel weist, schaaft eng Sachgass: den Opléiser ass nëmmen duerch den Tunnel erreechbar, deen d’Sich sollt erméiglechen. Baussen dem Tunnel opléisen, oder den Endpunkt un eng Adress befesteggen, hëlt dës Onkloerheet ewech.
Déi zweet Etapp ass dat baussenzegt Paket, dat eischt de Routing an duerno d’Firewall muss iwwerstoen, an där Rei. wireguard-tools iwwerhëlt d’Routing-Halscheed dovun fir WireGuard, andeems et seng eege Pakete markéiert an eng Politikregel bäifüügt, sou datt se de Standardroute iwwersprangen, deen et just installéiert huet; d’Manpage vu wg-quick beschreift déi Regel an den Table, deen se benotzt. Baut dee Routing vun Hand nei op, oder loosst en zweeten Instrument d’Regele nei schreiwen, an déi markéiert Pakete kënnen zréck an den Tunnel geschéckt ginn, deen se solle bauen.
Déi drëtt Etapp ass de Retourwee. En Handshake ouni Äntwert ass kee Beweis fir en Ausgangs-Verworf; en ass genee esou vereinbar mat enger Server-Banneregelen oder engem NAT-Apparat, deen d’Zouuerdnung vergiess huet. Trennt dat, ier Dir de Client ufaasst.
| What you see | Stage | Where to look |
|---|---|---|
| The client log repeats a resolve step and no packets appear on the wire | 1, name lookup | Resolver path while the tunnel is down |
| The send counter on the physical adapter stays flat | 2, routing | Peer route and policy rules |
| The send counter rises and a firewall drop counter rises | 2, firewall | Rule order, mark, and interface match |
| Packets leave and nothing comes back | 3, return path | Server input rules, NAT, listening port |
Clienten loggen de Symptom, deen se feststellen, net d’Etapp, déi versot huet, dofir ass den Table meeschtens méi séier wéi de Log.
Zieler entscheeden méi séier wéi Logen
Op Linux, nft list ruleset oder iptables -vnL OUTPUT dréckt e Paketzieler pro Regel. Verbënnt Iech eemol, loosst et versoen, da liest d’Zieler nach eng Kéier. Eng Regel, där hiren Zieler sech beweegt huet, ass eng Regel, déi den Handshake getraff huet; wann néierens eppes sech beweegt huet, ass d’Paket ni bei d’Firewall ukomm. Ech hu gesinn, wéi e Regelwierk säin eegenen Handshake verwërft, an nëmmen d’Zieler hunn dat gesot.
Fir ni d’Firewall erreecht vun ni den Host verlooss z’ënnerscheeden, beobachtet d’Interface selwer. ip -s link show dev wlan0 mëttelt déi geschéckt Paketen, an tcpdump -ni wlan0 udp port 51820 weist d’Framen. Wann et flaach bleift, wärend de Client nach eng Kéier probéiert, ass de Feeler iwwer netfilter: eng feelend Peer-Route, eng Politikregel, déi op en Apparat weist, deen et nach net gëtt, oder e Socketfeeler, deen de Client schléckt.
Test d’Ausname géint Dokumentatiounsadressen wéi 203.0.113.10, sou datt e Feeler net de Host vun engem aneren ofsiche kann.
Eng al Endpunkt-Ausnam liest sech wéi en Ausfall vum Server
Déi mannst täuschend Versioun erschéngt, nodeems sech d’Adress vum Peer geännert huet: en dynameschen Adressdéngscht huet se geréckelt, den Host gouf nei gebaut, oder d’Ausgangsadress vun Ärem Netzwierk ass anescht. D’Ausnam nennt nach ëmmer déi al Adress, dofir treffen d’Pakete fir déi nei d’Verwerfregel. Déiselwecht Konfiguratioun huet gëschter funktionéiert, an dofir fänken d’Leit mat der Diagnos vum Server un.
En Hostnumm bannen enger Firewallregel rett Iech net. An nftables gëtt den Numm opgeléist, wann de Regelwierk geluede gëtt, dofir pinnt en déi Adress, déi deemools existéiert huet, a gëtt al wéi eng wuertwiertlech. Déi dauerhaft Léisung ass, d’Ausnam z’aktualiséieren, wann den Endpunkt sech ännert, an se enk ze halen: eng Peer-Adress, ee Transportport. E Beräich, dee breet genuch ass, fir eng Adressännerung z’iwwerliewen, ass och breet genuch, fir onnéideg Trafik eraus ze loossen.
Wann de Kill switch um Serverhost leeft
Déiselwecht Ofhängegkeet gëtt et um aneren Enn, an do ass se méi liicht ze iwwersinn. Wann d’Maschinn, déi als Äre VPN-Server déngt, och en Desktopclient mat Kill switch oder e Firewallprofil ausführt, deen aus engem Laptop kopéiert gouf, gëllen seng Verwerfregelen fir den Déngscht, deen d’Tunnelen ofschléisst. Äntwerten op den Handshake vun engem Client ginn verworf, dofir kann sech all Client net verbannen, wärend de Server gesond ausgesäit a seng Tunnel-Interface onbenotzt steet.
Dee Host brauch dräi enk Akzepten virum Verwerf: de Lauschport op der physescher Interface, d’Tunnel-Interface fir dechiffréierten Trafik, an d’Weiderleedung vum Tunnel a Richtung deem, wat d’Clienten solle kënnen erreechen. Liest de installéierte Set mat nft list ruleset, iptables -S, oder pfctl -sr , ier Dir eppes ännert, a denkt drun, datt e gespäicherte Regelwierk en Neistart iwwerlieft, dofir iwwerlieft e Feeler do de Prozess, deen en gemaach huet.
Erhuelungsuerdnung, déi d’Maschinn zou hält
Schafft vum Profil no baussen. Liest d’Peer-Adress an de Port, déi de Client benotzt, bestätegt, datt den Hostnumm ouni den Tunnel opgeléist gëtt, a füügt dann eng Ausnam fir déi Adress an dee Port nëmmen um physeschen Adapter bäi. Verbënnt Iech erëm a beobachtet den Zäler fir d’Schécken; en ofgeschlossenen Handshake ass d’Signal, datt déi zweet Etapp gefléckt ass.
Loosst de Rescht vun der Verwerfpolitik beim Testen op senger Plaz. Eng harmlos Kontroll ass, eng Verbindung zu enger onnéideger Dokumentatiounsadress ze versichen an ze bestätegen, datt se nach ëmmer ofleeft, wat weist, datt de Kill switch funktionéiert an net ausgeschalt ass. Zitt d’Ausnam enk, soubal den Tunnel stabil ass, a loosst keng permanent Alles-erlaab-Regel fir de Clientbinary leien, just well se bequem ass.
Wann den Tunnel eropkënnt an d’Applikatioun nach ëmmer versot, sinn déi reschtlech Etappen net dës: opgedeelte DNS, MTU an d’Routing pro Applikatioun produzéieren all eng verbonnen Tunnel mat gebrachenem Trafik, an all huet eng aner éischt Kontroll.