Kuelekeza akaunti moja ya Linux kupitia OpenVPN kwa kanuni ya UID
Kanuni ya uidrange huweka soketi za IPv4 za akaunti moja kwenye handaki lililopo bila namespace. Amua DNS, IPv6 na njia mbadala kwa mijitihadi, kisha thibitisha.
Uelekezaji unaotegemea akaunti unafaa wakati kila soketi ya IPv4 inayomilikiwa na mtumiaji mmoja wa Linux inapaswa kutoka kupitia handaki lililopo, na haufai wakati unahitaji utengano wa kiwango cha programu. Huchagua kwa UID, kwa hiyo kila kitu kinachoendeshwa chini ya akaunti hiyo kiko ndani ya wigo, ikiwa ni pamoja na kazi ya kundi uliyoisahau. Tatua swali hilo kabla ya kugusa ip rule moja.
Mfano hapa chini unadhani akaunti maalum ya kivinjari kwenye UID 1500, kifaa cha handaki tun-office chenye anwani ya ndani 10.80.0.11, na VPN inayoruhusu maeneo husika. Daemon yenyewe inaendeshwa nje ya UID hiyo.
Masharti matatu yanayochagua utaratibu
Chagua kanuni ya UID wakati utambulisho unaofanya kazi ni akaunti, wakati kuhamisha trafiki yake yote kunakubalika, na wakati namespace itakuwa nzito kuliko kazi inavyostahili. Chagua namespace ya mtandao wakati mzigo wa kazi unahitaji violesura, kitatuzi na jedwali la uelekezaji vyake. Chagua proksi au kifungo kwa kila mchakato wakati programu moja hasa inapaswa kuhamishwa huku sehemu iliyobaki ya kipindi ikibaki kwenye njia ya ndani. Kuandika haya matatu huzuia kanuni inayofunika kwa utulivu zaidi ya ilivyokusudiwa.
Kosa la kuepuka ni kudhani kianzishaji ndicho kinachobainisha mmiliki. Kivinjari kilichopokea URL kutoka kipindi cha mtumiaji mwingine hakikuunda soketi chini ya UID 1500, na hakuna kanuni itakayohamisha trafiki inayoizalisha.
Jedwali, kanuni na mlinzi
Baada ya kukagua kanuni zilizopo na kuchagua namba za jedwali na kipaumbele zisizotumika, mpangilio ni mfupi: njia chaguo-msingi katika jedwali maalum linalobeba anwani ya chanzo ya handaki, kanuni inayotuma utafutaji wa akaunti kwenye jedwali hilo, na kanuni ya mwisho inayozuia njia mbadala. Ikiandikwa, hiyo ni badiliko la njia lisilobadilika, ip -4 route replace default dev tun-office src 10.80.0.11 table 51820, likifuatiwa na ip -4 rule add priority 12100 uidrange 1500-1500 lookup 51820.
Mlinzi ni ip -4 rule add priority 12101 uidrange 1500-1500 unreachable, na ni muhimu zaidi kuliko urefu wake unavyodokeza. Bila hiyo, njia inayokosekana kwenye jedwali 51820 huanguka kwenye kiungo cha juu cha kawaida na akaunti huvujisha kwa utulivu trafiki ambayo sera ilipaswa kunasa. Pamoja nayo, kosa hilo hilo huwa muda wa kusubiri, yaani kuzuia badala ya njia mbadala.
Weka kanuni ya kawaida ya anwani ya ndani mbele ya hizi, na amua kwa ufahamu kama vighairi vya LAN au usimamizi vinakuja kabla ya jedwali lililochaguliwa. Njia chaguo-msingi inayopatikana hapo haiulizi main baadaye kwa njia mahususi zaidi ya LAN, jambo linalowashangaza wanaotarajia ulinganifu wa kiambishi cha mwisho kutumika kati ya jedwali. Andika orodha ya vighairi inayokusudiwa kwenye kidokezo cha mabadiliko wakati hoja bado ni mpya.
Kinachoachwa na uelekezaji wa UID: DNS
Daemon ya kitatuzi hufungua soketi zake za juu chini ya UID yake, kwa hiyo kuchagua 1500 hakuhamishi hoja hizo kwenye jedwali 51820. Muunganisho wa DNS ni uamuzi tofauti: elekeza akaunti kwenye kitatuzi kinachofikiwa kupitia handaki, au kubali kwamba utatuzi wa majina hufuata njia ya mwenyeji wakati trafiki haifuati.
Hoja ya loopback kwa stub ya ndani si ushahidi kwamba hoja ya juu ilitumia njia ya kivinjari, na upakiaji wa ukurasa uliofanikiwa kutoka akiba pia si ushahidi.
IPv6 inahitaji sentensi yake katika muundo
Kanuni zilizo juu zinashughulikia IPv4 pekee. Ikiwa hitaji ni handaki la IPv4 bila IPv6 ya moja kwa moja kutoka akaunti hii, ongeza kanuni ya mwisho iliyopitiwa kama ip -6 rule add priority 12101 uidrange 1500-1500 unreachable, kisha angalia kanuni za awali za IPv6 na vighairi vya loopback unavyotaka kubaki navyo.
Kuzuia IPv6 ya moja kwa moja si uhandakishaji wa tabaka mbili; ni mpaka. Kuiita uhandakishaji kutamchanganya mtu anayefuata kusoma sera, na mkanganyiko huo utaonekana kama tikiti ya msaada kuhusu tovuti ya IPv6 iliyovunjika.
Thibitisha kwa akaunti halisi, kisha miliki mzunguko wa maisha
Linganisha utafutaji: ip -4 route get 198.51.100.25 uid 1500 dhidi ya lengo hilo hilo kwa UID ya kawaida. Kisha fanya ombi lililoruhusiwa chini ya akaunti maalum na uangalie anwani ya chanzo inayoonwa na upande wa mbali. Anwani ya chanzo inayopendelewa si source NAT, na haitashinda programu inayofunga kitu kingine. Ikiwa utafutaji wote wawili unarudisha njia moja, kanuni haifanyi kile unachofikiri.
Weka jedwali, kanuni na umri wa njia ya handaki chini ya mmiliki mmoja, jaribu kuunganisha tena na kupoteza handaki, na unapoondoa sera ondoa maingizo yake sahihi pekee. Namespace bado inapatikana ikiwa violesura tofauti na hali tofauti ndivyo unavyohitaji kwa kweli.