Bẹ̀rẹ̀ VPN nínú ààyè orúkọ tirẹ̀, ṣe ohun èlò kan níbẹ̀, ìrìnàjò ṣì ń jáde nípasẹ̀ ọ̀nà olójú-ìpè. Kò sí ohun tí ó bàjẹ́: ààyè orúkọ ń ṣàkóso àwọn ìlànà tí ó wọlé nínú rẹ̀ nìkan, àti àrànwọ́ náà wá láti ọ̀dọ̀ ìlànà tí kò wọlé rárá. Àwọn ìsopọ̀, àwọn àdírẹ́sì, àwọn ọ̀nà, àwọn ìlànà odi iná àti àwọn socket ni ohun tí ààyè orúkọ ni. Àwọn fáìlì, àwọn àkọsílẹ̀ àti àwọn iṣẹ́ tí ń ṣiṣẹ́ lọ́wọ́ kì í ṣe bẹ́ẹ̀, ibẹ̀ sì ni ọ̀pọ̀ ìyàlẹ́nu ti ń wá.

Ohun tí ààyè orúkọ ni, àti ibi tí socket ti bí

Gbé ìsopọ̀ kan sinu ààyè orúkọ, olójú-ìpè yóò pàdánù rẹ̀; kọ́ ojú-ọ̀nà nínú, olójú-ìpè kò lè rí i. Èyí ni ọ̀nà VPN tí ààyè orúkọ fi ààlà: ẹ̀rọ àti àwọn ọ̀nà tí ó tọ́ka sí i ń gbé nínú àyíká tí àwọn ìlànà tí a yàn nìkan lè débà. Olójú-ìpè ń pa ọ̀nà àkọ́kọ́ rẹ̀ mọ́, nítorí náà ohun gbogbo ní ìta wà láìfọwọ́ kàn.

Fún WireGuard, àyíká ìṣẹ̀dá ṣe pàtàkì bíi ibi tí ó wà lọ́wọ́lọ́wọ́: a so socket UDP pọ̀ nínú ààyè orúkọ tí a ti dá ìsopọ̀ náà, kódà lẹ́yìn tí ẹ̀rọ bá kó lọ síbòmíì. Ìtọ́jú ìlà tí àwọn pákítì tí a fi ààmì ṣe ń tẹ̀lé dá lórí ibi ìbí yẹn. Nígbà tí socket bá dúró nínú àyíká tí kò ní ọ̀nà sí alábàákẹ́gbẹ́, ìsopọ̀ á wá, ìfọwọ́sowọ́pọ̀ kò sì ní jáde rárá. Ṣàyẹ̀wò ibi ìbí rẹ̀, lẹ́yìn náà ibi tí ó wà báyìí.

Ohun tí ààyè orúkọ kò yà sọ́tọ̀

Kò sí ohun tí ó ya àwọn ètò fáìlì, àwọn àkọsílẹ̀ tàbí àwọn àṣírí sọ́tọ̀ níbí, àti kò sí ọ̀kan nínú àwọn ààlà yẹn tí ó farahàn nítorí pé o dá ààyè orúkọ. Ìṣètò olùyọjú jẹ́ fáìlì, nítorí náà ìlànà nínú ṣì lè ka ìṣètò tí ó tọ́ka sí olùyọjú olójú-ìpè kí ó sì fi ìbéèrè rẹ̀ jáde nípasẹ̀ ọ̀nà tí ìyẹn fi hàn. Ohun èlò tí ó fi ìbéèrè lé alárinà tàbí iṣẹ́ ẹ̀rọ tí ń ṣiṣẹ́ lọ́wọ́ ń kó ìlànà kan tí ó wà nínú àyíká mìíràn pátápátá. Méjèèjì jẹ́ ìbéèrè tí a kò ṣe ààlà fún láti dáhùn rárá.

Òjíṣẹ́ ni fáìlì fún ààyè orúkọ kọ̀ọ̀kan ní /etc/netns/<name>/resolv.conf, tàbí bind mount ti fáìlì tí a ti pèsè, tí ó tọ́ka sí olùyọjú tí a lè dé láti inú. Ṣíṣàtúnṣe /etc/resolv.conf lórí olójú-ìpè kò yí ohunkóhun tí ààyè orúkọ rí padà.

Ìgbékalẹ̀ àwọn ìlànà ni ìṣàkóso

Ìyàsọ́tọ̀ tí o rí gbá mu ìyàsọ́tọ̀ àwọn ìlànà tí o bẹ̀rẹ̀ nínú. Shell tí a bẹ̀rẹ̀ nípasẹ̀ olùrànlọ́wọ́ exec ti ààyè orúkọ, àti ohun gbogbo tí ó bí, wà nínú; ohun èlò desktop tí a bẹ̀rẹ̀ láti ìpàdé olójú-ìpè kò wà. Dá àyíká, gbé ẹ̀rọ, lẹ́yìn náà fi ẹ̀gbẹ́ méjèèjì hàn:

ip netns add vpn1
ip link set wg0 netns vpn1
ip netns exec vpn1 wg show
wg show

Ka wg show àkọ́kọ́ láti inú ààyè orúkọ àti èkejì láti olójú-ìpè, kí o sì retí pé ọ̀kan nìkan ni yóò ṣe àkọsílẹ̀ alábàákẹ́gbẹ́. Tí méjèèjì bá ṣe bẹ́ẹ̀, ẹ̀rọ kò kó rárá; tí kò bá sí ọ̀kan, ó lọ síbòmíì. Nígbà tí olùbẹ̀rẹ̀ jẹ́ olùṣàkóso iṣẹ́, fáìlì unit ni ohun tí a yẹ kí a ṣàtúnṣe, kì í ṣe ọ̀nà kúkúrú desktop. Unit tí kò ní ìṣètò ààyè orúkọ ń bẹ̀rẹ̀ daemon nínú àyíká olójú-ìpè, ó sì ń pa àpẹẹrẹ náà rẹ̀ ní ìdákẹ́jẹ́.

Dánwò láti àyíká ohun èlò

Ṣe àyẹ̀wò náà pẹ̀lú bínárì kan náà àti olùlò kan náà tí ohun èlò ń lò, nínú ààyè orúkọ. Fi DNS àti àwọn ẹbí àdírẹ́sì méjèèjì kún un, nítorí ọ̀nà IPv6 tí o kò rò rí jẹ́ ọ̀nà àbáyọ tí ó wọ́pọ̀. Ìdánwò láti shell tirẹ̀ ń fi hàn pé shell rẹ ti yà sọ́tọ̀ nìkan.

Lẹ́yìn náà ṣe àyẹ̀wò kan náà lórí olójú-ìpè kí o sì jẹ́rìí pé àwọn ìdáhùn yàtọ̀: àdírẹ́sì ojú-ọ̀nà àti ibi ìjáde tí a ní lọ́kàn nínú, ọ̀nà olójú-ìpè àti ìjáde ọ́fíìsì ní ìta, àti olùyọjú nípa orúkọ. Sọ orúkọ àwọn ààyè orúkọ ní ìbámu pẹ̀lú ìfilọ́lẹ̀ kì í ṣe ìlànà, kí script ìmọ́tótó má baà dà wọ́n pọ̀.

Ìgbékalẹ̀ síwájú, ìlànà ìkùnà àti ìmọ́tótó

Fún ẹnubodè kan, tẹ ìgbékalẹ̀ síwájú mọ́ọ̀ pẹ̀lú ìmọ̀, kí o sì pinnu ohun tí ó yẹ kí ó ṣẹlẹ̀ nígbà tí ojú-ọ̀nà bá ṣubú. Ààyè orúkọ kò dí àwọn ọ̀nà tí o fi sori ẹrọ nínú rẹ̀, nítorí náà a óò lo ọ̀nà àbáyọ sí olójú-ìpè tí o bá dá ọ̀kan. Ìpinnu ìlànà ni, a sì yẹ kí a kọ ọ́ kí ìdídàkudẹ́kùn tó dán an wò.

Kọ orúkọ àwọn ààyè orúkọ, àwọn ìsopọ̀ àti ẹni tí ìṣètò jẹ́ tirẹ̀, kí ìmọ́tótó lè yọ kìkì ohun tí ìfilọ́lẹ̀ dá. Àtúntò nẹ́tíwọ́kì olójú-ìpè nígbà ìpadàbọ̀ á sọ ìmọ́tótó di ìdídàkudẹ́kùn. Ojú-ìwé network_namespaces(7) kúrú, ó sì yẹ kí a kà á kí a tó dá ọ̀nà yẹn.

Àwọn àpilẹ̀kọ tó jọra