Programu hufungwa kwa anwani ya VPN, na muunganisho bado unatoka kupitia njia ya kawaida chaguo-msingi. Hakuna kilichoshindikana katika ufungaji; ulifanya kwa usahihi kile ambacho ufungaji hufanya. Kufunga soketi kwa anwani ya ndani huchagua anwani ya chanzo ambayo kerneli huweka kwenye kichwa. Haiweki njia, na haiundi kanuni ya sera ambayo ingetuma pakiti zinazobeba chanzo hicho kwenye handaki maalum.

Sehemu iliyobaki ya mwongozo huu ni mpangilio wa ukaguzi ninaotumia, pamoja na amri inayotoa kila uchunguzi.

Kile ambacho ufungaji huamua kwa kweli

Ufungaji hukabidhi anwani ya ndani kwa soketi. Kisha kerneli hufanya utafutaji uleule wa njia ambao ingefanya vinginevyo, isipokuwa kanuni ya sera ibadilishe ni jedwali gani utafutaji huo unasoma.

Ndiyo sababu pakiti inaweza kutoka na anwani ya chanzo ya VPN kwenye kiolesura cha kimwili. Upande wa pili inafika kutoka safu ya kibinafsi ambayo mtandao haukuwahi kuitarajia kwenye njia hiyo, trafiki ya kurudi haina njia ya kurudi, na muunganisho huning’inia au kuwekwa upya.

Rejea ya soketi za IP za Linux inaeleza maana ya ufungaji. Nusu ya uelekezaji iko katika ip-rule na ip-route, na hizo ni miongozo tofauti kwa sababu.

Thibitisha kwamba anwani ni ya nafasi hii ya majina

Anwani unayoweza kufungwa nayo lazima iwepo kwenye kiolesura ndani ya nafasi ya majina ya mtandao ambayo programu inaendeshwa. Anwani ya mwenzake, anwani ya lango, au anwani inayopatikana tu katika nafasi nyingine ya majina haiwezi kufungwa, na mwito unashindikana kwa EADDRNOTAVAIL.

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

Endesha hizo tatu katika mazingira sawa na programu: nafasi sawa ya majina, na mtumiaji sawa ikiwa unaweza kuipata. Mchoro wa zamani wa net30 si uthibitisho wa anwani ambayo topolojia yako ya sasa ilimpa mteja. Soma kiolesura ambacho kiko hai kwa kweli.

Soma utafutaji wa chanzo hicho na lengo hilo

Amri moja hujibu swali ambalo ufungaji haukujibu:

ip route get 203.0.113.10 from 10.8.0.2
ip rule show

Mstari wa kwanza huchapisha njia ambayo pakiti kutoka chanzo hicho hadi lengo hilo ingechukua, ikiwa ni pamoja na kiolesura cha kutoka na chanzo kinachopendelewa. Ikiwa inataja kiolesura cha kimwili, ufungaji na njia hazikubaliani, na pakiti itatoka na chanzo ambacho njia haiwezi kurudi.

Kisha ip rule show hukuambia ikiwa kanuni yoyote ingechagua jedwali lingine. Vipaumbele ni muhimu hapa, kwa sababu kanuni ya kwanza inayolingana ndiyo inayoshinda, na kanuni inayokamata kila kitu juu ya yako huifanya kanuni yako isionekane.

Sakinisha kanuni ya sera tu ikiwa hiyo ndiyo muundo

Uelekezaji unaotegemea chanzo ni muundo wa kukusudia, si ukarabati wa programu moja. Ikiwa mmiliki wa sera anataka trafiki kutoka subneti ya handaki itumie handaki, kanuni ni ya usanidi wake na si amri ya mara moja kwenye kompyuta yako ya mkononi.

Umbo linalofaa ni jedwali maalum lenye njia chaguo-msingi kupitia handaki, pamoja na kanuni inayotuma safu ya chanzo cha VPN kwenye jedwali hilo. Ongeza vighairi ambavyo muundo unahitaji, kwa sababu jedwali lenye chaguo-msingi la handaki pekee litakamata maeneo yanayokusudiwa kubaki ya ndani au kufikiwa kwa njia ya kimwili.

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

Tengua kwa ip rule del na ip route flush table 100. Kila kitu kinachoongezwa hivi hutoweka kwenye kuwasha upya isipokuwa meneja akiandika, jambo ambalo ni sifa ya usalama na sababu ya kutoweka nakala pekee kwenye historia ya shell yako.

Thibitisha kwa uchunguzi tatu

Andika chanzo ambacho programu iliomba, njia ambayo utafutaji ulichagua, na chanzo ambacho seva iliona kwa kweli.

Hizi tatu zinaweza kutokubaliana, na kila kutokubaliana huelekeza mahali pengine. Ukamataji kwenye kiolesura cha handaki huthibitisha kwamba pakiti ilitoka na chanzo sahihi. Ukamataji kwenye kiolesura cha kimwili huthibitisha kwamba ilitoka kwa njia isiyo sahihi. Mtazamo wa upande wa seva ndio pekee unaothibitisha njia kutoka mwanzo hadi mwisho.

Ikiwa programu inatoa chaguo la kufunga kwa kifaa au hali ya uelekezaji kwa kila programu, ichukulie kama utaratibu tofauti wenye vikwazo tofauti. Mipangilio inayofanana kwa kuonekana si yote inaishia kwenye uamuzi mmoja wa kerneli.

Makala zinazohusiana