Aplikacion i lidhur me një ndërfaqe? Rruga e tij VPN nuk është ajo e parazgjedhur
Lidhja e një socket me një pajisje, adresë burimore ose hapësirë emrash ndryshon cilën rrugë zbatohet. Testoni lidhjen e vetë aplikacionit, jo kontrollin e IP-së në shfletues.
Një aplikacion në makinë del përmes VPN dhe një tjetër jo, dhe të dy përdoruesit betohen se nuk kanë ndryshuar asgjë. Dallimi është shpesh një vendim lidhjeje që merr vetë aplikacioni: një socket i lidhur me një pajisje, një adresë burimore e zgjedhur para lidhjes ose një hapësirë emrash me tabelën e vet të rrugëzimit. Secila ndryshon cilën rrugë zbatohet, dhe asnjëra nuk shfaqet në një kontroll të përgjithshëm IP në shfletues.
Tre lidhje të ndryshme, tre efekte të ndryshme
Lidhja me një pajisje dhe lidhja me një adresë burimore janë veprime të ngjashme me pasoja të ndryshme. Lidhja me pajisje mund ta detyrojë trafikun të dalë përmes një ndërfaqeje dhe të anashkalojë kërkimin normal të rrugës për atë socket. Lidhja me adresë burimore kalon gjithsesi përmes zgjedhjes së rrugës, por burimi i zgjedhur mund të përputhet me një rregull politike dhe ta dërgojë paketën diku tjetër. Dallimi tingëllon akademik derisa një rregull të rrugëzojë sipas burimit. Atëherë vendos gjithçka.
Hapësira e emrave të rrjetit është rasti i tretë. Ka ndërfaqet dhe tabelën e vet të rrugëzimit, prandaj një aplikacion brenda saj nuk ndikohet fare nga vlera e parazgjedhur e hostit. Trajtimi i të treve si e njëjta gjë prodhon shpjegime të sigurta që nuk i qëndrojnë provës së parë.
Përcaktoni çfarë vendos vërtet aplikacioni
Lexoni konfigurimin e rrjetit të aplikacionit ose sjelljen e tij të dokumentuar përpara se të prekni rrugët. Nëse ofron zgjedhje ndërfaqeje, fushë adrese burimore ose opsion hapësire emrash, ajo cilësim është gjëja e parë që duhet inspektuar. Nëse jo, lidhja mund të jetë e brendshme dhe e dukshme vetëm përmes gjurmimit ose diagnostifikimit të vet.
Në Linux, opsionet e socket-it si SO_BINDTODEVICE kanë shtrirje dhe kërkesa lejeje të dokumentuara, dhe një proces pa privilegje mund të mos arrijë t'i vendosë fare. Ky kufizim është një shenjë e dobishme: nëse opsioni nuk mund të zbatohet, aplikacioni ndoshta nuk është burimi i dallimit.
Rrugëzimi sipas politikës lexon burimin
Kur është konfiguruar rrugëzimi sipas politikës, një rregull mund të zgjedhë një tabelë bazuar në burimin e paketës. Prandaj një socket që lidh adresën burimore mund të ndjekë një rregull që rruga e parazgjedhur nuk e prek kurrë, edhe pse asnjë ndërfaqe nuk është emërtuar shprehimisht.
Riprodhoni kërkimin me të njëjtën familje adresash, burim dhe hapësirë emrash që përdor aplikacioni. Një kërkim i përgjithshëm rruge nga një shell në hapësirën e emrave të hostit përgjigjet një pyetjeje tjetër, dhe kjo mospërputhje është arsyeja më e zakonshme që një rrugë funksionale duket e prishur.
Tunel i ndarë dhe procese ndihmëse
Tuneli i ndarë për çdo aplikacion shton një shtresë tjetër. Klienti mund të përputhë paketën ose procesin e aplikacionit, dhe një ndihmës që hap socket-in e vet është subjekt i veçantë. Një lëshues dhe shërbimi i tij në sfond mund të prodhojnë lidhje të ndryshme nën të njëjtin emër të dukshëm.
Kontrolloni nëse rregulli i tunelit të ndarë mbulon procesin që lidhet vërtet. Nëse aplikacioni lidhet me një ndërfaqe të caktuar dhe klienti VPN përputhet sipas paketës, dy vendimet mund të ndryshojnë pa qenë asnjëri i gabuar.
Testoni rrugën e vetë aplikacionit
Ekzekutoni një kërkesë të re nga aplikacioni pas çdo ndryshimi. Një shfletues që shfaq daljen që dëshironit nuk është provë ekuivalente për një program tjetër të lidhur me një ndërfaqe tjetër, dhe lidhjet e ruajtura në cache mund të vazhdojnë të përdorin rrugën e vjetër shumë kohë pasi një cilësim ndryshon. Mbyllni sesionin e vjetër përpara se të gjyqësoni rregullin e ri. Përndryshe testi mat të shkuarën.
Referenca e socket-it për Linux dokumenton SO_BINDTODEVICE dhe kërkesat e tij. Lexoni fillimisht konfigurimin e vetë aplikacionit, riprodhoni kërkimin në të njëjtin kontekst dhe vetëm atëherë vendosni nëse duhet ndryshuar rruga ose lidhja.