Venjulegt Linux forrit notar VPN án þess að snerta TUN
Dæmoninn á TUN tækið og göngin; forrit opna bara sökklar. Haltu uppsetningarheimild og netaðgangi sem aðskildum mörkum.
Vafri sem notar uppsett Linux VPN opnar ekki /dev/net/tun. Hann opnar sokk og kjarninn ákveður hvaða tengi pakkar sökkulsins fara út um. Ferlið sem bjó til göngin vinnur aðra vinnu en ferlið sem umferð þess er flutt. Að halda þessum tveimur hlutverkum aðskildum svarar flestum heimildaspurningum áður en þær eru bornar upp.
Fylgdu einni pakka frá sokk að göngum
Venjulegt forrit kallar á connect eða send og kjarninn finnur leið að áfangastað. Ef valda leiðin vísar á tengi ganganna er pakkanum raðað í tækið sem VPN dæmoninn les. Dæmoninn dulkóðar hana og sendir út um líkamlega tengið. Sérhver ör í þeirri lýsing er staður þar sem hægt er að svara heimildaspurningu.
Ekkert á þeirri leið krefst þess að forritið þekki tækið. Dæmoninn heldur skráarlysingunni og framkvæmir tengisaðgerðirnar, en forritið sér bara venjulegt net-API.
Teiknaðu hlutana tvo einu sinni og heimildaspurningar verða auðveldari að staðsetja. Efri hlutinn er heimur forritanna og sá neðri tilheyrir dæmoninum.
Ákveddu hver þarf tækið og hver ekki
Að búa til TUN tengi eða tengjast því krefst aðgangs að tækinu og að auki hæfni til að stilla það, þess vegna byrjar studd VPN þjónusta með netstjórnunarheimild eða notar forréttindaaðstoð. Þessi krafa tilheyrir dæmoninum. Hún segir ekkert um vafrann, gagnagrunnsbiðlarann eða skráaflutningstólið. Þjónusta sem þarf hæfnina þarf hana fyrir eigið uppsetningarþrep, ekki fyrir biðlara sína.
Þegar leiðin og stefnan eru komin á sinn stað notar venjulegt ferli leiðina sem verður til með venjulegum sokkaköllum sínum. Það þarf ekki tækishnútinn og það þarf ekki root.
Að breyta heimildum tækisins er ekki leið til að veita forriti aðgang að áfangastað. Það færir tækjamörkin bara annað.
Athugaðu nafnrýmið sem forritið keyrir í
Gámur, eða annað netnafnrými, gefur ferlum sínum aðskilið tengjasafn og leiðatöflu. Göng á hýsilnum birtast þar ekki sjálfkrafa og engin breyting á heimildum tækisins breytir því. Forritið beinir bara um það sem það nafnrými býður. Þess vegna getur gámynd ekki erft hýsilgöng af slysni.
Athugaðu með ip netns list og ip -n NAME route, eða með því að skoða nafnrýmistengil ferlisins. Svarið sést venjulega í einni skipun.
Einnig má gefa tveimur notendum á sama hýsilnum mismunandi leiðir með stefnu. Það er netákvörðun en ekki sönnun um eignarhald tækisins.
Aðskildu hæfni frá netstefnu
Sum tól þurfa meira en sokk. Að grípa pakka þarf hráan sokk og að breyta leiðum þarf stjórnunarheimild. Þetta eru aðskildar aðgerðir með aðskildum veitingum og ekki á að lesa veitingu einnar sem almenna kröfu fyrir notkun VPN.
Forrit sem útfærir eigin göng er þriðja tilvikið. Það opnar TUN í raun vegna þess að það tekur að sér hlutverk dæmonsins, þess vegna þarf það forréttindi dæmonsins.
Nefndu aðgerðina áður en þú nefnir forréttindin. Þau tvö er venjulega auðveldara að aðskilja en virðist.
Staðfestu aðskilnaðinn með tveimur reikningum
Tengdu göngin sem þjónustuna, keyrðu forritið svo sem venjulegan notanda og staðfestu að það nái einkaaðfanginu. Athugaðu ip route get fyrir áfangastaðinn úr skel þess notanda til að sjá hvaða tengi var valið. Ef leiðin er rétt og tengingin mistekst samt er vandamálið stefna en ekki forréttindi.
Hönnunin sem verður til er minnstu forréttindi með skýrum mörkum: einn þáttur á uppsetninguna og gönguaðföngin, vinnuálög halda venjulegum reikningum sínum og netstefnan ákveður hvað má fara í gegn. Að keyra allt sem root fellir þessi hlutverk án þess að útskýra nokkuð.