Kivinjari kinachotumia VPN ya Linux iliyoanzishwa hakifungui /dev/net/tun. Hufungua soketi, na kiini huamua ni kiolesura gani pakiti za soketi hiyo zinatoka. Mchakato uliouunda handaki hufanya kazi tofauti na mchakato ambao trafiki yake inasafirishwa. Kuweka majukumu hayo mawili tofauti hujibu maswali mengi ya ruhusa kabla ya kuulizwa.

Fuata pakiti moja kutoka soketi hadi handaki

Programu ya kawaida huita connect au send, na kiini hutafuta njia kuelekea lengwa. Ikiwa njia iliyochaguliwa inaelekea kiolesura cha handaki, pakiti huwekwa kwenye foleni kwenye kifaa ambacho daemon ya VPN inasoma. Daemon husimba na kuituma nje kupitia kiolesura cha kimwili. Kila mshale katika maelezo hayo ni mahali ambapo swali la ruhusa linaweza kujibiwa.

Hakuna kitu katika njia hiyo kinachohitaji programu kujua kifaa. Daemon inashikilia kielezi cha faili na hufanya shughuli za kiolesura, wakati programu inaona API ya kawaida ya mtandao tu.

Chora nusu mbili mara moja, na maswali ya ruhusa yatakuwa rahisi kuweka. Nusu ya juu ni ulimwengu wa programu, na nusu ya chini ni ya daemon.

Amua nani anahitaji kifaa na nani hahitaji

Kuunda au kujiunga na kiolesura cha TUN kunahitaji ufikiaji wa kifaa na zaidi ya hapo uwezo wa kukisanidi, ndiyo sababu huduma ya VPN inayotumika huanza na mamlaka ya usimamizi wa mtandao au hutumia msaidizi mwenye upendeleo. Hitaji hilo ni la daemon. Halisemi chochote kuhusu kivinjari, mteja wa hifadhidata au chombo cha kuhamisha faili. Huduma inayohitaji uwezo huo inauhitaji kwa hatua yake ya usanidi, si kwa wateja wake.

Mara njia na sera zinapowekwa, mchakato wa kawaida hutumia njia inayotokana kupitia miito yake ya kawaida ya soketi. Hauhiti nodi ya kifaa, na hauhiti root.

Kubadilisha ruhusa za kifaa si njia ya kumpa programu ufikiaji wa lengwa. Huhamisha tu mpaka wa kifaa mahali pengine.

Angalia nafasi ya majina ambayo programu inaendeshwa kweli

Kontena, au nafasi ya pili ya majina ya mtandao, huwapa michakato yake seti tofauti ya violesura na jedwali la njia. Handaki kwenye mwenyeji haionekani hapo kiotomatiki, na hakuna mabadiliko ya ruhusa za kifaa yanayobadilisha hilo. Programu itaelekeza tu kupitia kile ambacho nafasi hiyo ya majina hutoa. Ndiyo sababu taswira ya kontena haiwezi kurithi handaki ya mwenyeji kwa bahati mbaya.

Angalia kwa ip netns list na ip -n NAME route, au kwa kukagua kiungo cha nafasi ya majina ya mchakato. Jibu kawaida huonekana kwa amri moja.

Watumiaji wawili kwenye mwenyeji mmoja wanaweza pia kupewa njia tofauti kwa sera. Hiyo ni uamuzi wa mtandao, si ushahidi wa umiliki wa kifaa.

Tenganisha uwezo na sera ya mtandao

Baadhi ya zana zinahitaji zaidi ya soketi. Kunasa pakiti kunahitaji soketi mbichi, na kubadilisha njia kunahitaji mamlaka ya usimamizi. Hizo ni shughuli tofauti na ruhusa tofauti, na kutoa moja hakupaswi kusomwa kama sharti la jumla la kutumia VPN.

Programu inayotekeleza handaki yake yenyewe ni kisa cha tatu. Inafungua TUN kweli kwa sababu inachukua jukumu la daemon, ndiyo sababu inahitaji upendeleo wake.

Taja shughuli kabla ya kutaja upendeleo. Mara nyingi ni rahisi kuzitenganisha kuliko inavyoonekana.

Thibitisha mgawanyiko kwa akaunti mbili

Unganisha handaki kama huduma, kisha endesha programu kama mtumiaji wa kawaida na uthibitishe kwamba inafikia rasilimali ya faragha. Angalia ip route get kwa lengwa kutoka shell ya mtumiaji huyo ili uone kiolesura kilichochaguliwa. Ikiwa njia ni sahihi na muunganisho bado unashindikana, tatizo ni sera, si upendeleo.

Muundo unaotokana ni upendeleo mdogo zaidi na mpaka wazi: sehemu moja inamiliki usanidi na rasilimali za handaki, mizigo ya kazi huhifadhi akaunti zake za kawaida, na sera ya mtandao huamua kinachoweza kupita. Kuendesha kila kitu kama root huangusha majukumu hayo bila kueleza chochote.

Makala zinazohusiana