Routingtabell géint tatsächlech Sich: wou de VPN-Trafic geet
Fänkt mat engem Bestëmmungsziel a senger Quell un, a kuckt dann, wéi eng Regel an Tabell de Wee tatsächlech entscheeden. En vollständigen Tabellenausdrock ouni dëse Kontext féiert an d'Ir.
En Ausdrock vun der Routingtabell ass déi mannst nëtzlech Diagnos beim VPN-Fehlersichen an déi, déi am dackste agefüügt gëtt. Véierzeg Zeile mat Präfixe soen Iech, wat d'Maschinn kéint maachen, net wat si fir d'fehlgeschloen Ufro gemaach huet. De Mechanismus, deen Dir wierklech wëllt, ass d'Sich: mat dëser Quell an dësem Bestëmmungsziel, wéi eng Regel huet gepasst, wéi eng Tabell gouf consultéiert, a wéi eng Schnëttstell an nächsten Hopp sinn erauskomm. Fänkt mat engem Bestëmmungsziel an enger Quell un, liest dann d'Tabell mat dëser Fro an der Hand, an déiselwecht Ausgab gëtt Beweis amplaz Kaméidi.
Eng Tabell ass eng Rei Kandidaten, keng Entscheedung
All Entrée beschreift e Präfix a wat mat Traffic ze maachen ass, deen dozou passt: schéck en op eng Schnëttstell, gëff en un en nächsten Hopp, oder verwäerf en. Näischt an där Lëscht ass no Absicht geuerdnet, an d'Entrée, déi engem Mënsch am spezifeschsten erschéngt, ass net ëmmer déi, déi de Kernel eraussicht, well d'Auswiel dem längste Präfixmatch follegt an, bei gläiche Präfixen, der Metrik.
Dofir ass den éischte Schrëtt, de Kernel ze froe amplaz d'Lëscht ze liesen. De Sichbefehl äntwert fir en Bestëmmungsziel, a mat engem Quellargument äntwert en fir de geneeën Pair, deen eng weidergeluecht oder gebonnen Verbindung géif benotzen:
ip route get 198.51.100.10
ip route get 198.51.100.10 from 10.80.0.25
ip -6 route get 2001:db8:10::40
All Adress uewen ass en Dokumentatiounsbeispill. De Punkt ass d'Form vun der Äntwert: Schnëttstell, gewielten Quelladress, Gateway an d'Tabell, aus där d'Entrée kënnt. Wann dës Ausgab net mat der Schnëttstell iwwerenee kënnt, déi Dir erwaart hutt, hutt Dir de Problem mat engem eenzegen Befehl lokaliséiert, a keng Quantitéit vum Lies vun der voller Tabell hätt Iech gesot, wéi en Kandidat gewonnen huet.
D'Sich geet duerch Regelen, dann duerch Tabellen
Op Linux ass d'Entscheedung an zwou Etappen. Politikregelen ginn an der Prioritéitsuerdnung evaluéiert, an déi éischt Regel, déi passt, nennt eng Tabell fir ze consultéieren; déi Tabell mécht dann de längste Präfixmatch. Eng Regel ka op Quell, Bestëmmungsziel, Firewallmark, Schnëttstell oder eng Kombinatioun passen, dofir kann en Ausdrock vun der Haapttabell perfekt genee an komplett irrelevants fir de Pak sinn, deen Dir ënnersicht.
ip rule show
ip route show table all | head -40
ip route show table 100
Wann eng Regel Traffic vun Ärem VPN-Pool an d'Tabell 100 schéckt, dann ass d'Tabell 100 déi wichteg, an d'Haapttabell ass eng Lure. Dëst ass och de Mechanismus hannert quellenbaséiertem Routing op engem Router: datselwecht Bestëmmungsziel kann zwou verschidden Äntwerten hunn, jee nodeem wou de Pak hierkënnt, a nëmmen d'Sich mat engem Quellargument weist, wéi eng gëllt.
IPv6 huet seng eegen Regelen an Tabellen. En Design, dee béid Familljen ëmféiert, brauch béid Sichen, an eng funktionéierend IPv4-Äntwert seet näischt iwwer de v6-Wee, deen en Dual-Stack-Client géif léiwer hunn.
Wat de VPN-Client installéiert
Clients ersetzen normalerweis net d'Standardroute, well dat de baussenzege Wee vum Tunnel selwer géif briechen. Si installéieren eppes méi Spezifesches, dat iwwer d'Präfixlängt gewënnt: eng Koppel Hallef-Standardrouten, déi 0.0.0.0/1 an 128.0.0.0/1 decken, ass de klasseschen Trick, well béid méi laang Präfixe wéi 0.0.0.0/0 sinn a si zesummen de ganze Raum decken. Anerer installéieren spezifesch privat Präfixe plus eng Politikregel, an e puer fügen eng Mark dobäi, sou datt nëmmen ausgewielten Traffic gefaang gëtt.
Dofir ass "de VPN huet meng Standardroute net geännert" kee Beweis fir en Ausfall. Kuckt, wat en tatsächlech dobäigefüügt huet, an ob d'Bestëmmungsziel an dëse Präfixe läit:
ip route show | grep -E 'tun|wg|ppp|ipsec'
ip route get 10.20.30.40 from 10.80.0.25
Zwou Hallefroute sinn an engem Ausdrock liicht ze iwwersinn, well se net wéi eng Standardroute ausgesinn. Eng Split-Tunnel-Konfiguratioun, déi vergiess huet, e Präfix opzehuelen, produzéiert genee de Symptom, deen Dir jagt: d'Applikatioun, déi den Tunnel sollt benotzen, léist a verbënnt sech amplaz lokal. Vergläicht d'installéiert Präfixe mat den Ziler, déi de Benotzer tatsächlech brauch, net mat den Adressen, déi Dir zoufälleg getest hutt. Eng Split-Tunnel-Lëscht, déi de Fichierserver deckt awer net säin Resolver, produzéiert eng Verbindung, déi op eng ëffentlech Adress opléist an dann bei der Authentifikatioun feelt, wat wéi e Passwuertproblem ausgesäit an e Routenproblem ass.
De baussenzege Wee muss och iwwerliewen
Den Tunnel ass selwer Traffic. D'Paketen, déi d'verkapselt Notzlaascht droen, ginn iwwer d'physesch Schnëttstell op d'Adress vum Peer, an dee Wee däerf net zréck an den Tunnel geroutet ginn. Wann et geschitt, kritt Dir den typeschen Ausfall, wou den Tunnel sech opbaut an dann ophält, Traffic duerchzeloossen, well den Transport fir den Tunnel elo am Tunnel ass.
Iwwerpréift d'Adress vum Peer sou wéi Dir d'intern Bestëmmungsziel iwwerpréift hutt, a bestätegt, datt se op d'physesch Schnëttstell opléist an net op den Tunnel:
ip route get 203.0.113.10
traceroute -n -m 5 203.0.113.10
Eng rekursiv Route, eng Politikregel, déi de Peer fänkt, oder eng Standardroute, déi duerch e Full-Tunnel-Client ersat gouf, sinn déi dräi üblech Ursaachen. All dräi si siichtbar an der baussenzeger Sich, an keng dovun ass an engem Ausdrock vun der Haapttabell siichtbar, deen no der Tatsaach geholl gouf.
Wat d'Routingausgab Iech net ka soen
Eng korrekt Sich bedeit, datt de Kernel de Pak op eng sënnvoll Plaz schécke géif. Et bedeit net, datt d'Firewall en erlaabt, d'IPsec-Politik en deckt, d'NAT-Regel en iwwersetzt, oder déi wäit Säit eng Retourroute huet. All dat ass eng méi spéit Etapp, an d' strongSwan-Notizen zum Weiderleeden beschreiwen d'Kette, déi e Pak op béide Enner muss duerchgoen.
Et hëlt och keng Bindung op Applikatiounsniveau a Betruecht. E Prozess ka sech un eng Schnëttstell binden, eng Mark setzen oder säin eegene Resolver benotzen a sech mat engem Numm verbannen, deen anescht opléist wéi dat, wat Dir getest hutt. Wann d'Sich richteg ass an d'Verbindung nach ëmmer feelt, ass déi nächst Fro, wéi e Prozess se mécht a ob dee Prozess déiselwecht Tabell gesäit wéi Dir.
Halt d'Diagnos also geuerdnet: nennt d'Bestëmmungsziel an d'Quell, féiert d'Sich aus, liest nëmmen d'Tabell an d'Regel, déi d'Sich genannt huet, a testt dann déi nächst Etapp. Dee Sequenz hält eng Routingënnersich a Minutten an hannerléisst eng Opzeechnung, déi een aneren nogoe kann, wat eng agefüügt Tabell ni mécht.