Jedna aplikacija na računalu izlazi kroz VPN, a druga ne, i oba korisnika kunu se da nisu ništa promijenila. Razlika je često odluka o vezivanju koju donosi sama aplikacija: socket vezan uz uređaj, izvorna adresa odabrana prije veze ili imenski prostor s vlastitom tablicom usmjeravanja. Svaka od njih mijenja koji put vrijedi, a nijedna se ne vidi u uobičajenoj provjeri IP-a u pregledniku.

Tri različita vezivanja, tri različita učinka

Vezivanje uz uređaj i vezivanje uz izvornu adresu srodne su radnje s različitim posljedicama. Vezivanje uz uređaj može prisiliti promet da izađe kroz jedno sučelje i zaobići normalno traženje rute za taj socket. Vezivanje izvorne adrese i dalje prolazi kroz odabir rute, ali odabrani izvor može odgovarati pravilu politike i poslati paket na drugo mjesto. Razlika zvuči akademski dok pravilo ne počne usmjeravati po izvoru. Tada odlučuje sve.

Mrežni imenski prostor treći je slučaj. Ima vlastita sučelja i vlastitu tablicu usmjeravanja, pa na aplikaciju unutar njega zadana postavka hosta uopće ne utječe. Tretiranje sva tri kao iste stvari daje samouvjerena objašnjenja koja ne prežive prvi test.

Utvrdite što aplikacija zapravo postavlja

Pročitajte mrežnu konfiguraciju aplikacije ili njezino dokumentirano ponašanje prije nego dirnete rute. Ako nudi odabir sučelja, polje izvorne adrese ili opciju imenskog prostora, ta je postavka prvo što treba pregledati. Ako ne, vezivanje može biti unutarnje i vidljivo samo kroz praćenje ili vlastitu dijagnostiku.

Na Linuxu opcije socketa poput SO_BINDTODEVICE imaju dokumentiran opseg i zahtjeve za dopuštenjima, a neprivilegirani proces ih možda uopće ne može postaviti. To je ograničenje koristan trag: ako se opcija ne može primijeniti, aplikacija vjerojatno nije izvor razlike.

Usmjeravanje po politici čita izvor

Kada je usmjeravanje po politici konfigurirano, pravilo može odabrati tablicu na temelju izvora paketa. Zato socket koji veže izvornu adresu može slijediti pravilo koje zadani put nikad ne dotiče, iako nijedno sučelje nije izričito navedeno.

Ponovite traženje s istom obitelji adresa, izvorom i imenskim prostorom koje aplikacija koristi. Uobičajeno traženje rute iz ljuske u imenskom prostoru hosta odgovara na drugo pitanje, a taj je nesklad najčešći razlog zašto ispravna ruta izgleda pokvareno.

Podijeljeni tunel i pomoćni procesi

Podijeljeni tunel po aplikaciji dodaje još jedan sloj. Klijent može upariti paket ili proces aplikacije, a pomoćnik koji otvara vlastiti socket zaseban je subjekt. Pokretač i njegova pozadinska usluga mogu proizvesti različite veze pod istim vidljivim imenom.

Provjerite pokriva li pravilo podijeljenog tunela proces koji se doista povezuje. Ako se aplikacija veže uz određeno sučelje, a VPN klijent uparuje po paketu, dvije odluke mogu se razilaziti iako nijedna nije pogrešna.

Testirajte vlastiti put aplikacije

Pokrenite novi zahtjev iz aplikacije nakon svake promjene. Preglednik koji prikazuje izlaz koji ste željeli nije ekvivalentan dokaz za drugi program vezan uz drugo sučelje, a predmemorirane veze mogu dugo koristiti stari put nakon promjene postavke. Zatvorite staru sesiju prije nego procijenite novo pravilo. Inače test mjeri prošlost.

Linux referenca za sockete dokumentira SO_BINDTODEVICE i njegove zahtjeve. Prvo pročitajte vlastitu konfiguraciju aplikacije, ponovite traženje u istom kontekstu i tek onda odlučite treba li promijeniti rutu ili vezivanje.

Povezani članci