Nëmmen eng lokal Webdéngscht un der VPN virbäi leeden, no Port
Entscheet, ob eng Quellport-Reeg eng Host-Déngscht iwwer de WAN kann erausschécken, während de Rescht vum Host d'VPN weider benotzt, a wat dat kascht.
Eng Host-Déngscht muss dem Internet iwwer de physikaleschen Uplink äntwerten, während alles anescht um Gerät de Tunnel weider benotzt. Dräi Bedéngungen entscheeden, ob Policy-Routing déi Laaschten droen kann, a jidderee ass bëlleg ze préiwen, ier dir eng Reeg schreift. D'Déngscht muss op dësem Host ophalen an net hannert engem DNAT oder engem virugeleeten Port, d'Regelen vun der VPN selwer mussen d'Ausnam erlaben, an dir musst d'Äntwert ophalen an net d'Ufro. Fält eng vun den dräi aus, lueden d'Kommanden hei drënner propper a maachen trotzdem näischt Nëtzleches.
Préift déi dräi Bedéngungen, ier dir eng Reeg schreift
E Container, deen e Port iwwer DNAT publizéiert, oder e Server hannert enger Portviruleedung, produzéiert Paketen, déi net op dësem Host entstinn. Déi Pakete ginn virugeleet, also eng Reeg, déi op host-lokalen Input opgesat ass, gesäit se ni an den Trafick hält un der Standardroute fest. Bestätegt, wou d'Déngscht tatsächlech leeft, ier dir weidergeet, well dat ass d'Bedingung, bei där d'Leit am dackste falsch leien.
Déi zweet Bedingung ass Politik an net Mechanik. All Route, déi den Tunnel ëmgeet, ass eng Ausnam vum Zweck vum Tunnel, an op engem verwalteten Host gehéiert déi Entscheedung deem, dee d'Politik besëtzt, net der Persoun, déi en Timeout debugt.
Passt d'Äntwert un, net den Destinatiounsport vum Client
D'Äntwert vun engem Server, deen op TCP 443 lauschtert, verléisst den Host mam Quellport 443. E Browser op demselben Host, dee sech mat enger wäiter HTTPS-Säit verbënnt, schéckt en temporäre Quellport an den Destinatiounsport 443. Béides ass Port-443-Trafick an nëmmen ee vun hinnen soll d'WAN-Tabell huelen, dofir géif eng Upassung op den Destinatiounsport déi falsch Halschent gräifen.
D'Äntwertrichtung ass dat, wat dir ënnerscheede kënnt. Passt de Quellport un, beschränkt d'Reeg op lokal erstallt Paketen, an d'Reeg deckt dem Déngscht seng eegen Äntwerten, ouni dem Browser seng Ufroen ze beréieren.
Baut eng komplett Retourtabelle, ier d'Reeg drop weist
Eng eidel Tabell heescht keng Route, wat wéi en defekten Déngscht ausgesäit an net wéi eng defekt Politik. Fëllt se fir, mat enger Tabellennummer an enger Prioritéit, déi näischt anescht um Host beusprocht:
ip -4 route add table 100 192.0.2.0/24 dev eth0
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 iif lo ipproto tcp sport 443 lookup 100
Liest d'Zuelen um liewegen Host of, amplaz se ze kopéieren. ip -4 rule show seet dir, wéi eng Prioritéite geholl sinn, an eng Reeg op eng Prioritéit ze setzen, déi schonn existéiert, ännert stëll d'Reiefolleg vun zwou Reegelen, déi eenzel betruecht ordentlech ausgesinn.
Zwee Selektoren maachen hei déi richteg Aarbecht. iif lo ass de Wee, wéi de Kernel Paketen mëldet, déi den Host selwer erstallt huet, sou datt d'Reeg net falsch virugeleeten Trafick vun dobaussen erfaasst. ipproto tcp sport 443 enkt et op een Transport an een Port an, wat sou enk ass, wéi d'Ufuerderung et erlaabt. Huelt de Protokollselektor ewech, an d'Reeg gräift och UDP 443, wat en aneren Déngscht mat anerem Verhalen ass.
Hält privat Äntwerten am Tunnel
Wann dee selwechte Lauschterer och Clienten op der privater Säit äntwert, probéiert eng WAN-Standardroute, déi alles gräift, an der Tabell 100, déi Äntwerten iwwer den Uplink zréckzeschécken. Füügt déi privat Präfixe derbäi, déi der WAN-Standard net dierfe follegen, oder loosst se op déi nächst Politikregel duerchfalen:
ip -4 route add table 100 throw 10.90.0.0/24
Eng Throw-Route beendet d'Sich an dëser Tabell a gëtt de Paket un d'Reegellëscht zréck, sou datt déi follgend VPN-Politik hir Chance kritt. Si leet selwer näischt an den Tunnel, a wann keng spéider Reeg eng passend Route huet, fält de Paket trotzdem aus; verifizéiert déi nächst Politik, amplaz unzehuelen, den Throw wier eng Léisung.
D'Filtréierung vum ëmgedréinte Wee an d'Firewall-Regelen vum Host gëllen nach ëmmer fir d'Ufro, déi ukënnt. Kuckt op hir richteg Uerteeler, ier dir d'Validatioun lockert, well eng Routing-Ausnam mécht net, datt rp_filter ee Réckwee akzeptéiert, deen et fir onméiglech hält.
Test TCP, dann QUIC, dann en Neistart
Maacht eng Verbindung vun engem autoriséierte externe Client op an eng vun der privater Säit, a kontrolléiert dann d'Äntwertsich mat den tatsächlechen Adressen a Porten. Wann déi extern Äntwert d'Tabell 100 hëlt an déi privat net, mécht d'Politik dat, wat dir gefrot hutt.
HTTP/3 gëtt iwwer UDP ausgeliwwert a gëtt net vun enger TCP-Reeg erfaasst, dofir brauch e QUIC-Lauschterer säin eegene Selekter, soss benotzt en de Tunnel weider, während HTTPS funktionéiert. Späichert d'Reegelen, op déi dir eech, bei der Komponent, déi d'Interface besëtzt, a bestätegt se no enger Neiverbindung oder enger DHCP-Erneierung. Wann e konkurréierende Manager no engem Neistart eng Runtime-Route ewechhëlt, ass dat en Eegentumsproblem, dat un der Quell ze léisen ass, keen Grond, méi breet NAT-Reegelen driwwer ze leeën.