Dir loggt Iech um Router an, pasteet e Kill-Switch-Reegelset aus engem Forumspost, an d’LAN hält op ze browsen an deem Moment wou den Tunnel fält. Zwee Deeg méi spéit aktualiséiert de Router nach ëmmer säin dynameschen DNS-Record iwwer de gewéinleche WAN, an de Gaascht-Laptop erreecht nach ëmmer IPv6-Säiten. Béid Verhalen sinn normal, well déi agepaste Reegelen eng Kette an eng Adressfamill ofgedeckt hunn, an keen dovun ass de ganzen Router. Duerch d’Paketweeër an der Rei ze goen weist genee, wat vergiess gouf.

Fänkt um Router un, net um Laptop

Eng Politik um Router-Niveau ass attraktiv fir e klengt Büro, well all Apparat hannendrun dat selwecht Verhalen ierft an keen vergiesse kann e Client-Schalter anzeschalten. Si gëtt Iech och eng eenzeg Plaz fir no all Firmware-Update ze testen. Wat si net gëtt, ass eng automatesch Ofdeckung vum eegene Verkéier vum Router oder vun enger zweeter Adressfamill, an dat sinn déi zwee Lücken hannert de meeschte gescheiterten Asätz.

Ier Dir eppes ännert, notéiert dräi Fakten op Pabeier: den Numm vum WAN-Interface, den Numm vun der LAN-Bréck, an d’Adress an de Port vum VPN-Endpunkt. Dir braucht all dräi an de Regelen, an d’Rode vun Interface-Nimm ass den heefegste Grond, firwat e korrekt ausgesinn Reegelset näischt mécht.

Gitt déi dräi Weeër duerch, déi e Paket ka huelen

Verkéier vun engem Laptop an den Internet gëtt weidergereecht, also geet en duerch d’FORWARD-Kette. Verkéier deen de Router selwer generéiert, wéi DNS-Weiderleedung, NTP-Ufroen, DDNS-Aktualiséierungen an de VPN-Kontrollkanal, geet duerch OUTPUT. Verwaltungsverkéier, deen un de Router adresséiert ass, kënnt duerch INPUT.

E Kill switch, deen nëmmen am FORWARD gebaut ass, schützt also d’Clienten an soss näischt. D’Tabell weist, firwat de Leck aus der Opentitzer-Szeen viraussobar an net mysteriéis ass.

Packet pathExampleChain that sees it
LAN client to WAN or tunnelBrowser requestFORWARD
Router-originatedDDNS update, NTPOUTPUT
Addressed to the routerSSH from the LANINPUT

An de meeschte Konzepter brauch Dir kee Kill switch um INPUT, awer Dir musst de Verwaltungszougrëff am Fonctionnement halen, wärend den Tunnel erof ass. Soss fuert Dir beim éischten VPN-Feeler mat engem Konsolkaabel an d’Büro.

Ordent d’Regelen, sou datt den Tunnel nach erop kënnt

E funktionéierende Kill switch ass eng Erlaabnislëscht, déi mat enger Oflehnung endet, an d’Reiefolleg mécht en zum Kill switch anstatt engem Baksteen. Erlaabt fir d’éischt Loopback, de VPN-Endpunkt, Äntwerten fir etabléiert Flëss an den Tunnel-Interface; lehnt de Rescht als Lescht of.

iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 51820 -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wg0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j REJECT

Den Endpunkt muss op dësem Punkt eng Adress sinn, keen Hostnemm. Soubal déi lescht Oflehnung DNS blockéiert, kann eng Regel, déi den Hostnemm vum Provider nennt, net méi opgeléist ginn, an den Tunnel startet nom Neistart ni méi erëm. Wann de Provider Endpunkter rotéiert, léist den Numm op ier d’Politik ugewannt gëtt an aktualiséiert déi Regel aus demselwe Skript.

Spigelt d’Form am FORWARD fir de Client-Verkéier a setzt eng explizit Verwaltungsregel iwwer d’Oflehnung. Hält déi Verwaltungsregel schmuel awer erreechbar, a bestätegt se andeems Dir eng zweete SSH-Sessioun opmaacht ier Dir déi éischt zoumaacht. Sech selwer auszeschléissen wärend enger Kill-Switch-Ännerung ass heefeg genuch fir ze plangen. Um Router mat WireGuard entscheeden d’allowed-ips vum Peer, wat an den Tunnel kënnt, wärend dës Regelen entscheeden, wat ouni e erausdarf.

IPv6 brauch seng eege Dier

Alles uewendriwwer ass IPv4. Wann Är LAN funktionéierend IPv6 huet an den Tunnel nëmmen IPv4 dréit, huet all ofgedeckt Apparat nach ëmmer eng direkt Route an den Internet, déi Är nei Regelen ni gesinn. En Dual-Stack-Laptop wäert se gäre virzéien, an de Kill switch wäert nëmmen deem kaputt schéngen, deen mat IPv4 test.

ip6tables -A FORWARD -i br-lan -j REJECT
ip6tables -A OUTPUT -o eth0 -j REJECT
ip6tables -A OUTPUT -o lo -j ACCEPT

Och hei zielt d’Reiefolleg: d’Loopback-Erlaabnis muss virun der WAN-Oflehnung kommen, soss fänken lokal Servicer um Router u sech op komesch Aart a Weis ze behënneren. Wann d’Netz iwwerhaapt keen IPv6 benotzt, ass et méi einfach en um WAN an LAN auszeschalten an et bleift näischt ze vergiessen.

Verschidde VPN-Clienten installéieren eng Standardroute nëmmen fir IPv4 a loossen déi existéierend IPv6-Standardroute onberéiert. Iwwerpréift d’Routingtabell nodeems den Tunnel verbonnen ass, amplaz unzehuelen, de Client hätt et geregelt.

Beweist et mam Tunnel erof

Stoppt den Tunnel vum Router aus a test aus dräi Plazen an dëser Rei:

# systemctl stop wg-quick@wg0
# ip route get 203.0.113.1
# curl -m 5 -sS http://example.com || echo blocked
# iptables -vnL OUTPUT | head
# ip6tables -vnL OUTPUT | head

D’Route-Sich sagt Iech wou e Paket géif higoen, an d’Zähler soen Iech ob Är Regelen iergendwann getraff hunn. Eng Regel mat null Paketen no engem gescheiterten Test schützt näischt, an déi gewéinlech Ursaach ass en Interface-Numm, deen anescht ass wéi deen Dir getippt hutt. Test de vum Router generéierte Verkéier explizit, well en Test vun der LAN-Säit OUTPUT net ka beweegen.

Entscheet de Fehlermodus ier Dir en braucht. Fail-closed hält d’Clienten offline bis den Tunnel zréckkënnt; fail-open restauréiert de gewéinlechen WAN-Zougrëff a vereitelt den Zweck fir de Verkéier, deen Iech wichteg war. Eng Blackhole-Route an de VPN-Pool mat enger héijer Metrik ass eng nëtzlech zweete Schicht fir Fail-closed-Konzepter, well se iwwerlieft wann d’Tunnelroute verschwënnt amplaz op d’Standardroute zréckzefalen.

Akzeptéiert d’Arichtung nëmmen dann, wann e LAN-Client, eng vum Router generéiert Ufro an eng IPv6-Ufro all mam Tunnel erof feelen, an all dräi erëm funktionéieren soubal en uewen ass.

Ähnlech Artikelen