Chcete, aby premávka SOCKS proxy odchádzala cez VPN, kým zvyšok hostiteľa si zachová svoju obvyklú cestu. Robia to dva návrhy a líšia sa v tom, čo sa pokazí, keď niečo ide zle. Jeden vtlačí do tunela predvolenú trasu a potom ju obchádza; druhý nechá hlavnú tabuľku na pokoji a pošle jednu zdrojovú adresu do druhej tabuľky. Druhý je čistejší a má vlastné pasce.

Dva návrhy, dva rôzne polomery škôd

Návrh plného tunela je to, čo väčšina VPN klientov robí štandardne: nahradí predvolenú trasu, aby všetko išlo tunelom, a potom vylúči to, čo nemá. Ľahko sa o ňom uvažuje a ťažko sa udržiava úzky, pretože každá pridaná lokálna služba dedí tunel, kým ju nevylúčite. Režim zlyhania je široký, pretože jedna nesprávna trasa so sebou vezme aj vlastnú konektivitu hostiteľa.

Návrh s výberom podľa zdroja ide opačným smerom. Hlavná tabuľka zostáva ako bola, a jedno pravidlo zásad posiela pakety z konkrétnej lokálnej adresy do tabuľky s predvolenou trasou tunelom. Nič iné sa nemení, čo znamená, že polomer škôd je jedna adresa.

Táto úzkosť je aj obmedzením: návrh funguje len vtedy, ak odchádzajúce pakety proxy naozaj nesú túto adresu.

Čo robí nastavenie external v Dantovi

Nastavenie external vyberá adresy, ktoré proxy používa pre odchádzajúce spojenia; nedotýka sa smerovacej politiky jadra. Práve toto oddelenie umožňuje druhý návrh a zároveň je to miesto, kde ľudia čítajú dokumentáciu nesprávne. Nasmerovanie external na adresu tunela spôsobí, že proxy vytvára svoje spojenia z tejto adresy, a smerovacia tabuľka potom rozhodne, kam tieto pakety idú.

Prijímač je samostatná záležitosť. Držte internal obmedzený na klientov, ktorí majú proxy používať, vyžadujte overovanie a port zatvorte firewallom, pretože otvorený prijímač nie je vlastnosťou výstupu cez VPN.

Overte, že nakonfigurovaná adresa skutočne patrí tunelu v sieťovom mennom priestore proxy.

Zostavenie tabuľky s výberom podľa zdroja

Pre adresu TUN 10.90.0.2/24 s dostupným partnerom na 10.90.0.1 a číslom tabuľky, ktoré nič iné nepoužíva, vyzerá usporiadanie takto:

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

Nedostupná trasa je časť, ktorú ľudia vynechávajú. Bez nej tabuľka, ktorej trasa tunelom zmizne, prepadne na bežnú predvolenú trasu a proxy ticho odíde cez WAN. S ňou vyhľadanie zlyhá, čo je viditeľné zlyhanie namiesto tichého úniku. Priorita pravidla tiež musí stáť pred všetkým ostatným, čo tejto zdroji vyhovuje.

Tieto hodnoty opisujú jednu topológiu. Partneri bod-bod, adresovanie net30 a klienti, ktorí prideľujú iný prefix, všetci potrebujú vlastné trasy, takže kopírujte tvar, nie adresy.

Kde pravidlo zdroja uniká

Pravidlo, ktoré zodpovedá zdrojovej adrese, ovplyvňuje každý proces, ktorý ju používa, nielen proxy. Ak iný démon naviaže rovnakú adresu, jeho premávka tiež prejde tunelom a zlyhanie bude vyzerať ako problém nesúvisiacej služby. Dajte proxy adresu, ktorú nič iné nepoužíva, alebo prijmite, že rozsahom je adresa, nie proces.

DNS je druhý únik. Socket rezolvera nemusí používať zdroj odchádzajúcich dátových spojení proxy, takže vyhľadávanie mien môže stále odchádzať cez WAN. Testujte preklad oddelene od nadviazania spojenia a rozhodnite, či je taký výsledok prijateľný.

IPv6 potrebuje vlastné pravidlá a trasy, pretože usporiadanie IPv4 o ňom nič nedokazuje.

Vyberajte podľa zlyhania, ktoré unesiete

Zvoľte plný tunel, keď má byť hostiteľ chránený ako celok a môžete udržiavať zoznam výnimiek. Zvoľte smerovanie podľa zdroja, keď si hostiteľ musí ponechať vlastnú cestu a presmerovaná má byť len jedna služba. Oboje je legitímne; chyba je vybrať jedno a potom ho testovať, akoby to bolo to druhé.

Čokoľvek si vyberiete, overujte z oboch strán: požiadavku cez proxy a priamu požiadavku z hostiteľa, s pozorovanou výstupnou adresou zaznamenanou pre každú.

Ak tunel spadne, rozhodnite vopred, či má proxy zlyhať alebo sa vrátiť, a nechajte smerovaciu tabuľku vyjadriť toto rozhodnutie.

Súvisiace články