Dante SOCKS preko VPN-a: puni tunel nasuprot usmjeravanju po izvoru
Dva načina da kroz tunel pošaljete samo SOCKS proxy: zamjena zadanog usmjerenja ili vezivanje jedne izvorne adrese za vlastitu tablicu. Ne uspijevaju na različite načine.
Želite da saobraćaj SOCKS proxyja izlazi kroz VPN, dok ostatak hosta zadržava svoju normalnu putanju. Dva dizajna to rade, i razlikuju se po tome šta se kvari kada nešto pođe naopako. Jedan gura zadano usmjerenje u tunel i zatim ga zaobilazi; drugi ostavlja glavnu tablicu na miru i šalje jednu izvornu adresu u drugu tablicu. Drugi je čistiji, i ima svoje zamke.
Dva dizajna, dva različita radijusa štete
Dizajn punog tunela je ono što većina VPN klijenata radi po defaultu: zamijeni zadano usmjerenje tako da sve slijedi tunel, a zatim isključi ono što ne treba. Lako ga je promisliti i teško održati uskim, jer svaka lokalna usluga koju dodate nasljeđuje tunel dok je ne isključite. Način kvara je širok, jer jedno pogrešno usmjerenje odnosi sa sobom i vlastitu povezanost hosta.
Dizajn s izborom po izvoru ide drugim putem. Glavna tablica ostaje kakva je bila, a jedno pravilo politike šalje pakete s određene lokalne adrese u tablicu sa zadanim usmjerenjem kroz tunel. Ništa se drugo ne mijenja, što znači da je radijus štete jedna adresa.
Ta uskost je ujedno i ograničenje: dizajn radi samo ako odlazni paketi proxyja zaista nose tu adresu.
Šta radi Danteova postavka external
Postavka external bira adrese koje proxy koristi za odlazne veze; ona ne dira kernelovu politiku usmjeravanja. To razdvajanje omogućava drugi dizajn, i upravo tu ljudi pogrešno čitaju dokumentaciju. Usmjeravanje external na adresu tunela čini da proxy izvodi svoje veze s te adrese, a tablica usmjeravanja zatim odlučuje kuda ti paketi idu.
Slušalac je odvojena stvar. Držite internal ograničen na klijente koji bi trebali koristiti proxy, zahtijevajte autentifikaciju i zatvorite port firewallom, jer otvoren slušalac nije odlika VPN izlaza.
Potvrdite da konfigurirana adresa zaista pripada tunelu unutar mrežnog imenskog prostora proxyja.
Izgradnja tablice s izborom po izvoru
Za TUN adresu 10.90.0.2/24 s dostupnim peerom na 10.90.0.1, i broj tablice koji ništa drugo ne koristi, raspored izgleda ovako:
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 100Nedostupno usmjerenje je dio koji ljudi preskaču. Bez njega, tablica kojoj nestane tunelsko usmjerenje pada na obično zadano i proxy tiho izlazi kroz WAN. S njim pretraga ne uspijeva, što je vidljiv kvar umjesto tihog curenja. Prioritet pravila također mora stajati ispred svega drugog što odgovara tom izvoru.
Ove vrijednosti opisuju jednu topologiju. Point-to-point peerovi, net30 adresiranje i klijenti koji dijele drugačiji prefiks svi trebaju vlastita usmjerenja, zato kopirajte oblik, a ne adrese.
Gdje pravilo izvora curi
Pravilo koje odgovara izvornoj adresi utiče na svaki proces koji je koristi, ne samo na proxy. Ako drugi daemon zauzme istu adresu, i njegov saobraćaj ide kroz tunel, a kvar će izgledati kao problem nepovezane usluge. Dajte proxyju adresu koju ništa drugo ne koristi, ili prihvatite da je obuhvat adresa, a ne proces.
DNS je drugo curenje. Socket resolvera ne koristi nužno proxyjev izvorni izvor podatkovnih veza, pa pretrage imena još mogu izlaziti kroz WAN. Testirajte razrješavanje odvojeno od uspostavljanja veze i odlučite je li taj ishod prihvatljiv.
IPv6 treba vlastita pravila i usmjerenja, jer raspored za IPv4 ništa ne dokazuje o njemu.
Birajte prema kvaru koji možete podnijeti
Odaberite puni tunel kada host treba zaštititi u cjelini i možete održavati listu izuzetaka. Odaberite usmjeravanje po izvoru kada host mora zadržati vlastitu putanju i samo jednu uslugu treba preusmjeriti. Oba su legitimna; greška je odabrati jedno pa ga testirati kao da je ono drugo.
Koje god odabrali, provjerite s obje strane: zahtjev kroz proxy i izravan zahtjev s hosta, uz zabilježenu uočenu izlaznu adresu za svaki.
Ako tunel padne, unaprijed odlučite treba li proxy pasti ili se vratiti na običnu putanju, i pustite tablicu usmjeravanja da izrazi tu odluku.