Dante SOCKS iwwer e VPN: Volltunnel géint Quellenrouting
Zwee Weeër, fir nëmmen de SOCKS-Proxy duerch en Tunnel ze schécken: déi Standardroute ersetzen, oder eng Quelladress op eng eege Tabell upassen. Si versoen ënnerschiddlech.
Dir wëllt, datt den Traffic vum SOCKS-Proxy duerch de VPN geet, während de Rescht vum Host säin normale Wee behält. Zwee Konzepter maachen dat, an se ënnerscheede sech doran, wat briecht, wann eppes schiefgeet. Dee enge dréckt eng Standardroute an den Tunnel an ëmgeet se duerno; deen aneren ännert d'Haapttabell net a schéckt eng eenzeg Quelladress an eng zweet Tabell. Den zweete ass méi propper, an hien huet seng eege Fallen.
Zwee Konzepter, zwee verschidde Schuedradius
D'Konzept vum vollt Tunnel ass dat, wat déi meescht VPN-Clienten als Standard maachen: d'Standardroute ersetzen, sou datt alles dem Tunnel follegt, an duerno ausschléissen, wat net soll. Et ass einfach ze verstoen an schwéier enk ze halen, well all lokalen Service, deen Dir bäisetzt, den Tunnel ierft, bis Dir en ausschléisst. De Feelerbild ass breet, well eng falsch Route hëlt d'Konnektivitéit vum Host selwer mat.
D'Konzept mat der gewielter Quell geet deen anere Wee. D'Haapttabell bleift wéi se war, an eng eenzeg Politikregel schéckt Pakete vun enger bestëmmter lokaler Adress an eng Tabell mat engem Tunnel-Standard. Soss ännert sech näischt, dat heescht, de Schuedradius ass eng eenzeg Adress.
Dës Enkheet ass och d'Aschränkung: d'Konzept funktionnéiert just, wann d'Pakete vum Proxy eraus wierklech déi Adress droen.
Wat d'Astellung external am Dante mécht
D'Astellung external wielt d'Adressen, déi de Proxy fir erausgoend Verbindungen notzt; se beréiert d'Routingpolitik vum Kernel net. Genee dës Trennung mécht dat zweet Konzept méiglech, an et ass och do, wou d'Leit d'Dokumentatioun falsch liesen. external op eng Tunneladress ze riichte bréngt de Proxy dozou, seng Verbindungen aus där Adress ze bezéien, an duerno entscheet d'Routentabell, wouhin dës Pakete ginn.
De Listener ass eng separat Saach. Halt internal op déi Clienten beschränkt, déi de Proxy solle benotzen, verlaangt Authentifikatioun a setz eng Firewall op de Port, well en oppene Listener ass keng Funktioun vum VPN-Egress.
Vergewëssert Iech, datt déi konfiguréiert Adress wierklech zum Tunnel am Network Namespace vum Proxy gehéiert.
D'Tabell mat der gewielter Quell opbauen
Fir eng TUN-Adress vun 10.90.0.2/24 mat engem erreechbare Peer op 10.90.0.1, an eng Tabellennummer, déi soss keen notzt, gesäit d'Arrangement esou aus:
ip -4 route add table 100 10.90.0.0/24 dev tun0 src 10.90.0.2
ip -4 route add table 100 default via 10.90.0.1 dev tun0 metric 10
ip -4 route add table 100 unreachable default metric 32760
ip -4 rule add priority 1000 from 10.90.0.2/32 lookup 100
Déi unreachable Route ass deen Deel, deen d'Leit iwwersprangen. Ouni se fält eng Tabell, där hir Tunnelroute verschwënnt, op de gewéinlechen Standard zeréck, an de Proxy geet stëllem eraus iwwer de WAN. Mat hir schléit d'Léise fehl, wat e sichtbare Feeler ass amplaz engem rouege Leak. D'Prioritéit vun der Regel muss och virun allem aneren stoen, wat op déi Quell passt.
Dës Wäerter beschreiwen eng Topologie. Point-to-point Peers, d'Adresséierung net30 a Clienten, déi en anere Prefix verdeelen, brauchen all hir eege Routen, also kopéiert d'Form an net d'Adressen.
Wou d'Quellregel leckt
Eng Regel, déi op eng Quelladress passt, beaflosst all Prozess, deen se notzt, net just de Proxy. Wann en aneren Daemon déi selwecht Adress bind, hëlt säin Traffic och den Tunnel, an de Feeler wäert wéi en onzusammenhängend Serviceproblem ausgesinn. Gitt dem Proxy eng Adress, déi soss keen notzt, oder akzeptéiert, datt de Kader d'Adress ass an net de Prozess.
DNS ass deen anere Leak. E Resolver-Socket notzt net onbedéngt d'extern Dateverbindungsquell vum Proxy, also kënnen Nummensichungen nach ëmmer iwwer de WAN erausgoen. Test d'Resolutioun getrennt vum Verbindungsopbau, an entscheet, ob dat Resultat akzeptabel ass.
IPv6 brauch seng eege Regelen a Routen, well en IPv4-Arrangement näischt doriwwer beweist.
Wielt no deem Feeler, deen Dir kënnt verdroen
Wielt de vollt Tunnel, wann den Host als Ganzt soll geschützt ginn an Dir d'Lëscht vun den Ausnamen enthält. Wielt Routing op Quellbasis, wann den Host säin eege Wee muss behalen an just ee Service soll ëmgeleet ginn. Béid sinn legitim; de Feeler ass, een ze wielen an en duerno ze testen, wéi wann et deen aneren wier.
Wat Dir och wielt, verifizéiert vun zwou Säiten: eng Ufro duerch de Proxy an eng direkt Ufro vum Host, mat der observéierter Erausgaangsadress fir jiddwereen.
Wann den Tunnel fällt, entscheet viraus, ob de Proxy soll feelen oder zréckfalen, a looss d'Routentabell déi Entscheidung ausdrécken.