Një aplikacion lidhet me adresën e VPN-së, dhe lidhja prapëseprapë del përmes rrugës së paracaktuar të zakonshme. Asgjë nuk dështoi në bind; ai bëri saktësisht atë që bën një bind. Lidhja e një socket me një adresë lokale zgjedh adresën e burimit që kerneli vendos në header. Ajo nuk instalon një rrugë dhe nuk krijon një rregull politike që i dërgon paketat me atë burim në një tunel të caktuar.

Pjesa tjetër e këtij manuali është rendi i kontrollit që përdor, së bashku me komandën që jep çdo vëzhgim.

Çfarë vendos në të vërtetë një bind

Një bind i cakton socket-it një adresë lokale. Më pas kerneli ekzekuton të njëjtin kërkim rruge që do të ekzekutonte ndryshe, përveç nëse një rregull politike ndryshon cilën tabelë lexon ai kërkim.

Kjo është arsyeja pse një paketë mund të dalë me një adresë burimi VPN në një ndërfaqe fizike. Në anën tjetër ajo vjen nga një interval privat që rrjeti nuk e priste kurrë në atë rrugë, trafiku i kthimit nuk ka rrugë për t’u kthyer, dhe lidhja ngec ose rivendoset.

Referenca e socket-eve IP të Linux dokumenton semantikën e bind-it. Gjysma e rrugëzimit jeton në ip-rule dhe ip-route, dhe ato janë manuale të veçanta për një arsye.

Konfirmoni se adresa i përket këtij hapësire emrash

Një adresë me të cilën mund të lidheni duhet të ekzistojë në një ndërfaqe brenda hapësirës së emrave të rrjetit ku ekzekutohet aplikacioni. Një adresë pale, një adresë portë ose një adresë që ekziston vetëm në një hapësirë tjetër emrash nuk mund të lidhet, dhe thirrja dështon me EADDRNOTAVAIL.

ip -br addr show
ip netns identify <pid>
ss -tanp | grep <port>

Ekzekutoni ato tre në të njëjtin kontekst si aplikacioni: të njëjtën hapësirë emrash dhe, nëse arrini ta merrni, të njëjtin përdorues. Një diagram i vjetër net30 nuk është provë se cilën adresë topologjia juaj aktuale i dha klientit. Lexoni ndërfaqen që është vërtet aktive.

Lexoni kërkimin për atë burim dhe destinacion

Një komandë e vetme përgjigjet pyetjes që bind-i nuk e përgjigji:

ip route get 203.0.113.10 from 10.8.0.2
ip rule show

Rreshti i parë printon rrugën që do të merrte një paketë nga ai burim drejt atij destinacioni, duke përfshirë ndërfaqen dalëse dhe burimin e preferuar. Nëse emërton ndërfaqen fizike, bind-i dhe rruga nuk përputhen, dhe paketa do të dalë me një burim nga i cili rruga nuk mund të kthehet.

Më pas ip rule show ju tregon nëse ndonjë rregull do të kishte zgjedhur një tabelë tjetër. Prioritetet kanë rëndësi këtu, sepse fiton rregulli i parë që përputhet, dhe një rregull që kap gjithçka mbi tuajin e bën rregullin tuaj të padukshëm.

Instaloni një rregull politike vetëm nëse ky është dizajni

Rrugëzimi i bazuar në burim është një dizajn i qëllimshëm, jo një riparim për një aplikacion. Nëse pronari i politikës dëshiron që trafiku nga nënrrjeti i tunelit të përdorë tunelin, rregulli i përket konfigurimit të tij dhe jo një komande të vetme në laptopin tuaj.

Një formë e zbatueshme është një tabelë e dedikuar me një rrugë të paracaktuar përmes tunelit, plus një rregull që dërgon intervalin e burimit të VPN-së në atë tabelë. Shtoni përjashtimet që kërkon dizajni, sepse një tabelë që përmban vetëm një paracaktim tuneli do të kapë destinacione që duhet të mbeten lokale ose të arrihen përmes rrugës fizike.

ip route add default dev tun0 table 100
ip rule add from 10.8.0.2 table 100 priority 100
ip route get 203.0.113.10 from 10.8.0.2

Kthejeni mbrapsht me ip rule del dhe ip route flush table 100. Çdo gjë e shtuar në këtë mënyrë zhduket në rinisje, përveç nëse një menaxher e shkruan atë, gjë që është njëkohësisht veti sigurie dhe arsye për të mos mbajtur kopjen e vetme në historikun e shell-it tuaj.

Verifikoni me tre vëzhgime

Shënoni burimin që kërkoi aplikacioni, rrugën që zgjodhi kërkimi dhe burimin që serveri pa në të vërtetë.

Këto tre mund të mospërputhen, dhe çdo mospërputhje tregon diku tjetër. Një kapje në ndërfaqen e tunelit provon se paketa doli me burimin e duhur. Një kapje në ndërfaqen fizike provon se doli në rrugën e gabuar. Vetëm pamja nga ana e serverit provon rrugën nga fillimi në fund.

Nëse aplikacioni ofron një opsion lidhjeje me pajisjen ose një mënyrë rrugëzimi për aplikacion, trajtojeni si një mekanizëm tjetër me kufizime të tjera. Cilësimet me pamje të ngjashme nuk përfundojnë të gjitha në të njëjtin vendim të kernelit.

Artikuj të ngjashëm