Firwat eng Volltunnel-Route de Server ofschneit, deen se dréit
Eng Standardroute duerch den Tunnel fänkt och déi baussenzeg Paketen, déi en droen. Fixéiert den Endpunkt mat enger Hostroute a haalt d’Äntwerten vum Server dobaussen.
Schalt en Volltunnel an, an all Destinatioun gehéiert elo zum VPN-Interface, och d’Maschinn, déi en terminéiert. Déi baussenzeg Paketen, déi den Tunnel droen, si vun där Maschinn adresséiert, also verbraucht d’Route schlussendlech den Transport, vu deem se ofhängeg ass. Eng zousätzlech spezifesch Route léist dat, an de Grond ass et wäert ze verstoen. Ouni dee Grond bréngt déi nächst Neiopbau de Feeler erëm eran.
Eng Route, déi hiren eegenen Transport ësst
D’Encapsulation packt all Paket an en zweete Header. Den baussenzegen ass vun der lokaler physescher Adress op d’ëffentlech Adress vum Server adresséiert, an en muss de physesche Link iwwerqueren, ier en Tunnel existéiere kann.
Loosst elo d’Sich no där ëffentlecher Adress den Tunnel wielen. Fir de Paket ze schécken, muss d’Maschinn en encapsuléieren, wat eng Route op déi selwecht Adress erfuerdert, déi den Tunnel zréckgëtt. D’Clienten handhaben dat op eng vun zwou Manéieren. E virsiichtegen refuséiert d’Standardroute z’installéieren an mellt e Feeler, wärend e manner virsiichtegen Erfolleg mellt an dann näischt beweegt. De stille Feelschlag ass deen, deen en Nomëtteg kascht.
Déi längst Prefix-Iwwereneestimmung entscheet d’Sich, ier eng Metrik consultéiert gëtt, also iwwertrëfft eng Route fir eng eenzeg Adress all Standardroute op der Maschinn. Dat ass de ganze Mechanismus hannert der Reparatur.
Installéiert d’Ausnam virun der Standardroute
Erstellt eng Route fir eng eenzeg Adress fir de Server, mam physesche Gateway als nächsten Hop, ier d’Standardroute sech beweegt. D’Reiefolleg ass wichteg: se duerno z’installéieren heescht mat engem kaputten Tunnel ze liewen, wärend Dir tippt.
Déi meescht Clienten maachen dat ouni Ufro. OpenVPN sicht déi distanziert Adress an fixéiert se, ier de Standardgateway nei geschriwwe gëtt, an seng route-delay-Optioun existéiert fir Plattformen, wou déi Sequenz rennt. wg-quick hëlt en ganz anere Wee, Paketen ze markéieren an eng Politikregel ze consultéieren amplaz eng Ausnam derbäizefügen. Ënnerschiddlech Mechanismen, déi selwecht Fuerderung: de baussenzege Paket muss aus dem Tunnel entkommen, deen en erschaaft.
ip route add 203.0.113.10/32 via 192.168.1.1 dev eth0
ip route get 203.0.113.10
D’Ausgab vun der Sich ass den Akzeptanztest. Se muss dat physescht Apparat an den physeschen nächsten Hop nennen. En Tunnelapparat an där Äntwert heescht, d’Ausnam feelt oder gouf no eppes gesat, wat se iwwerstëmmt.
D’Spigelbild um Server
Déi selwecht Falle waart op der anerer Säit, ëmgedréit. Gitt dem Server eng Standardroute duerch en aneren Tunnel, oder dréckt him eng Route op, déi d’ëffentlech Adressen vun de Clienten deckt, an seng Äntwerten huelen eng Gewunnecht a senger falscher Richtung un.
Stellt Iech e Client vir, deen sech verbënnt an eng Ufro schéckt. D’Äntwert ass un déi ëffentlech Adress vun deem Client adresséiert, déi elo mat enger Tunnelroute iwwereneestëmmt, also geet se vun engem aneren Interface fort an dréit eng Quell, déi de Client ni gewielt huet. De Client kann dee Paket kréien an trotzdem verwerfen, well näischt en un d’Ufro bindet, déi en geschéckt huet. Aarbecht vun der Routingentscheedung vum Server aus amplaz vum Timeout vum Client, well nëmmen eng vun deenen zwee déi tatsächlech Wiel weist.
ip route get 198.51.100.44 from 10.90.0.1
ip rule show
sudo tcpdump -ni any host 198.51.100.44
Et gëtt dräi Reparaturen an se sinn net gläich. De Service un déi physesch Adress ze binden oder d’Quell z’iwwersetzen, béides verstoppt d’Routingentscheedung amplaz se ze korrigéieren. Den Äntwerttrafic fir de Tunnelpool duerch eng dedizéiert Tabell ze schécken hëlt d’Ursaach, an déi aner zwou sinn nëmme gülteg, soulaang den Routingdesign agefruer ass.
Ausnamen, déi den Tunnel ëmmer weider klaut
Eng Handvoll Aarbechten brauchen dat oppent Internet, och wann den Tunnel d’Standardroute besëtzt, an all eenzel brauch seng eegen Ausnam. Den dynameschen DNS-Updateur ass meeschtens deen éischten, dee briechen.
En léist de Provider op, mécht eng Verbindung op a fënnt seng eegen Paketen duerch en Tunnel reesen, deem seng Adress sech virun Sekonnen geännert huet, also feelt d’Aktualiséierung oder publizéiert déi falsch Adress. Dräi Weeër eraus: de Provider mat enger Hostroute duerch de physesche Gateway fixéieren, d’Aktualiséierung lafen, ier den Tunnel sech hieft, oder dem Updateur eng Politiktabell ginn, déi den Tunnel ni beréiert. D’Zäitsynchronisatioun huet déiselwecht Expositioun op engem Apparat, deen ouni Resolver start, an d’Zertifikatsvalidéierungs-Endpunkte gehéieren aus deem selwechte Grond op d’Lëscht.
Eng Ausnam, déi keen opgeschriwwen huet, ass eng Ausnam, déi den nächsten Neiopbau stëll fale léisst.
Beweist et no enger Reconnectioun, net virdrun
Test dräi Destinatiounen, net eng: den Endpunkt, eng privat Adress hannert dem Tunnel an eng ëffentlech Adress doriwwer eraus. Eng eenzeg gelongen Sich seet bal näischt iwwer déi aner zwou.
ip route get 203.0.113.10
traceroute -n 203.0.113.10
ip route get 10.90.0.5
ip route get 1.1.1.1
Start dann d’Verbindung nei, well e Client, deen seng Tabell bei der Reconnectioun nei opbaut, eng Route verwërft, déi Dir vun Hand getippt hutt. Mat engem Kill-Switch am Spill kontrolléiert, ob den Endpunkt erlaabt ass, soss kann den Tunnel no enger Netzwierkännerung net zréckkommen an de Symptom gesäit aus wéi en Ausfall. Späichert d’Ausnam am Profil oder an der Unit-Datei amplaz an enger Shell-Historie, sou datt d’Reconnectioun se nei erschaaft amplaz se ze läschen.