VPN hannert engem NAT, deen Dir net konfiguréiere kënnt: wat nach funktionnéiert
Ouni enger Portweiderleitung huet en agehende Paket keng Plaz wou en higeet. Hole Punching, UPnP an Relaien änneren dat, awer nëmmen ënner engem bestëmmten NAT-Verhalen.
Jeeden Tunnelendpunkt brauch eng Adress an e Port, déi déi aner Säit ka erreechen, an en Router, deen Dir net administréiert, ass de gewéinleche Grond, firwat dës Fuerderung feelgeet. Den interessanten Deel ass net, datt et Tricke gëtt, mä datt jidderee vun enger Eegeschaft vun enger Map-Datei ofhängeg ass, déi Dir vum Client aus net gesitt. Zwee vun dësen Eegeschaften entscheeden bal alles: wéi eng Map entsteet, an ob se Pakete vun enger Adress unhëlt, mat där den Innendeel ni a Kontakt war. Sortéiert d'Ëmfeld no dësen Eegeschaften a baut d'Ëmweeër op, Folklore ze sinn.
D'Map-Datei entscheet alles
Network Address Translation féiert eng Tabell, an där eng intern Adress an e Port géint eng ëffentlech Adress an e Port agedroe sinn. Äntwerten, déi op en Andro stëmmen, ginn zréck iwwersat, an e Pak vun dobausse mat kengem passenden Andro huet iwwerhaapt keen Zil. Dëst eenzegt Verhalen erkläert, firwat en Nolauschterer hannert dem Router vum Internet aus net erreechbar ass. Et erkläert och, firwat den éischte Pak an all Richtung vun bannen hier muss kommen.
Kuckt d'Tabell vun der Routernsäit, an d'Ëmweeër ginn evident: entweder een et mécht en dauerhaften Andro, oder een et mécht en temporären an hält en frësch, oder den Traffic hëlt dëse Wee ni. De Rescht vum Artikel sinn déi dräi Fäll an der Rei. Näischt hei hänkt vun enger Fonctioun vum Hiersteller of, déi iwwer dat erausgeet, wat d'Tabell opgeet.
Wat den Rendezvous-Service ka machen an wat net
UDP-Hole-Punching benotzt den ausgänglechen Andro als eng temporär Ëffnung, amplaz de Filter ze iwwerwannen. Béid Peer kontaktéieren en Rendezvous-Service, deen all ëffentlechen Endpunkt léiert an déi aner Säit hiren Endpunkt zréck mellt. Duerno schécke béid openeen zou, an all ausgängleche Pak mécht den Andro oder frëscht en op, deen d'Äntwert eraléisst. D'Reiefolleg ass et, déi et funktionéiere léisst, an d'Reiefolleg ass et och, déi et zerbriechlech mécht: ee Peer, dee schéckt, ier déi aner Säit hiren Andro gemaach huet, gëtt einfach verworfen, wärend en neien Versuch ee Moment méi spéit geléngt. De Service selwer dréit keen VPN-Traffic, sou datt säi eenzege Lever d'Timing ass, deen en koordinéiert.
D'Mapverhalen entscheet de Rescht, an RFC 4787 nennt déi dräi Formen: endpunktonsäiteg, adressonsäiteg an adress-an-portonsäiteg. Bei der leschter ännert sech de Port, deen ee Peer muss zielen, mat all Zil, sou datt d'Prognose net méi zouverlässeg ass. Do stéisst d'Technik un hir Grenzen, well Carrier-Grade-NAT an eng strikt Firwäsche-Firewall allebéid d'Viraussoen entfernen, déi de Schema brauch, an nach sou vill Versich bréngen se net zréck.
Keepalives, Neistarts an den Endpunkt, dee sech beweegt
En duerchgestoussene Wee ass e Floss an net en Nolauschterer, also muss alles, wat drop leeft, Verännerung iwwerliewe. Et muss d'Map mat periodeschem Traffic lieweg halen, bemierken, wéini den ëffentlechen Endpunkt sech réckelt, a sech no engem Router-Neistart oder enger nei zougewisener Adress erëm opbauen. Mesh-VPN-Produkter leeën dës Logik an hir eege Kontrollplang, wärend en einfachen Server se Iech iwwerléisst. Keepalives hëllefen nëmmen, soulaang déiselwecht Map iwwerlieft, an se kaschten Akku op engem mobilen Client, dofir ass en aggressive Intervall net gratis.
E Laptop, deen eng Stonn schléift, kënnt normalerweis op engem aneren ëffentlechen Endpunkt zréck. Alles, wat de Wee erëm opbaut, muss nach eng Kéier vu bannen lafen, wat déiselwecht Fuerderung zréck op de Client gëtt.
Dräi Weeër ëm eng feelend Weiderleitung
Den éischte Wee freet de Router, den Andro selwer ze maachen, iwwer UPnP IGD, NAT-PMP oder PCP, wann d'Fonctioun existéiert an ageschalt ass. Den zweete gëtt den Traffic un eng Relais mat enger ëffentlecher Adress, wat ëmmer funktionéiert an ëmmer Bandbreet plus eng aner Vertrauensgrenz kascht. Den drëtte keeft d'Richtung ëm: den internen Host mécht en ausgänglechen Tunnel op en ëffentleche Server op, an alles aneres fiert dobannen.
[Peer]
PublicKey = 6yGj3kQ2wVb8sTn1pLx4dRc7hZa9mKf2uYe5oNq0iXw=
Endpoint = relay.corp.internal:51820
PersistentKeepalive = 25
AllowedIPs = 10.44.0.0/24
En Endpunkt vun enger Relais mécht dëse Geschäft an der Clientkonfiguratioun visibel, wou den Endpunkt eng Relais ass an net dem Peer seng eege Adress. Dauerhaft Keepalive hält d'Map waarm, an déi erlaabt Prefixer entscheeden, wat de Client driwwer schécke kann. En ëmgedréinten Tunnel vum internen Host ass déiselwecht Iddi mat engem aneren Eegentemer, an en brauch iwwerhaapt keng NAT-Ännerung. Jidderee vun den dräi hëlt d'Ufuerderung vum Agehe fort, ouni eng Firewall ze iwwerwannen, déi ongefrote Traffic vun Design blockéiert, well den Traffic nach ëmmer vu bannen ufänkt.
Passt den Ëmwee dem un, deen de Router huet
Wann Dir de Router administréiert, ass eng statesch UDP-Weiderleitung méi einfach ze iwwerpréiwen wéi all Punching-Schema a se feelt op eng Manéier, déi Dir gesitt. Wann net, fannt eraus, ob den Hiersteller eng Relais oder en gehostete Kontrollplang ubitt, an ob d'Politik hir Notzung erlaabt. Wann kee vun deenen dobäi ass, sinn déi reschtlech Méiglechkeeten en ëmgedréinten Tunnel oder d'Akzeptanz, datt den Endpunkt vun dobausse net erreechbar ass. Ze notéieren, wéi ee Dir benotzt hutt, ass méi wichteg wéi et kléngt, well d'Optiounen doranner ënnerscheeden, wien den Traffic observéiere kann a wat geschitt, wann en Drëtten eppes ännert.
Notéiert, ob de Wee, op deem Dir gelant sidd, direkt war oder iwwer eng Relais, well dës eenzeg Tatsaach souwuel d'Latenz wéi och d'Feelverhalen viraussoen. RFC 4787 bleift d'Referenz fir d'Mapverhalen ënnert allem, an säi Map-Kapitel ze liesen ass méi séier wéi dräi Ëmweeër hannereneen ze testen. D'Tabell ass et egal, wéi eng Optioun Dir gewielt hutt; se notéiert just, wat den nächste Pak dierf maachen.