Àṣẹ kan dé 10.8.0.5 nínú ààyè orúkọ VPN láìsí ẹ̀dùn kankan, àṣẹ kan náà sì kùnà ní àkókò tí ó bá lo orúkọ agbàlejò. Ààyè orúkọ ní àwọn ìtàkùn, àwọn ọ̀nà àti àwọn socket tirẹ̀; kò ní fáìlì olùyọjú tirẹ̀. Bí nǹkan kan kò bá gbé ọ̀kan síbẹ̀, ìlànà inú ń ka /etc/resolv.conf agbàlejò ó sì ń béèrè lọ́wọ́ olùsìn tí ó lè máà dé láti inú àkójọpọ̀ níǹtẹ́nẹ́tì yẹn.

Èyí jẹ́ ìṣòro yíyan fáìlì kì í ṣe ìṣòro ìtọ́sọ́nà, ìdí ni pé ibi àfojúsùn oní-nọ́mbà ṣì ń ṣiṣẹ́.

Ṣàyẹ̀wò ìríran olùyọjú tí ìlànà náà ń rí ní ti gidi

Má ṣe rò pé shell tí o lò dọ́gba pẹ̀lú ìlànà tí o ń ṣàtúnṣe. Ohun èlò àwòrán kan, ẹ̀ka systemd kan àti àpótí kan lè kọ̀ọ̀kan wọ àyíká gbígbékalẹ̀ tàbí níǹtẹ́nẹ́tì mìíràn. Ṣe ìwádìí náà nípasẹ̀ ọ̀nà ìgbékalẹ̀ kan náà, kí o sì tẹ̀wé fáìlì olùyọjú jáde láti inú.

Fún ààyè orúkọ tí a dá pẹ̀lú ip netns add, àyẹ̀wò kíkà-nìkan-ṣe kúrú:

ip netns exec vpn cat /etc/resolv.conf

Akiyesi bí àbájáde náà ṣe dárúkọ àdírẹ́sì tí ó dé, stub loopback, tàbí ìsopọ̀ àmì tí ó tọ́ka sí ibi tí agbára ìdé yàtọ̀.

Kí ni olùrànlọ́wọ́ exec ń gbé kalẹ̀ ní ti gidi

Ohun èlò ip-netns ń kọ ìṣètò kọ̀ọ̀kan ààyè orúkọ sílẹ̀ lábẹ́ /etc/netns/NAME/. Nígbà tí ó bá ṣe ìgbékalẹ̀ ìlànà kan, olùrànlọ́wọ́ náà ń dá ààyè orúkọ gbígbékalẹ̀ kan, ó sì ń gbé àwọn fáìlì yẹn kalẹ̀ lé àwọn ọ̀nà wọn déédéé, kí ìlànà náà lè rí ẹ̀dà tí ó yàtọ̀ sí ààyè orúkọ. Ìyẹn jẹ́ ìrọ̀rùn olùgbékalẹ̀ pàtó yìí. Wíwọ ààyè orúkọ níǹtẹ́nẹ́tì nípasẹ̀ ọ̀nà mìíràn, bíi unshare tàbí runtime àpótí, kò tún ṣe èyí lọ́nà aládàáṣe.

Páànù níbí ni olùyọjú loopback: 127.0.0.53 túmọ̀ sí loopback ti ààyè orúkọ fúnra rẹ̀, kì í ṣe stub agbàlejò. Stub tí ó ń gbọ́ nínú ààyè orúkọ agbàlejò nìkan kò di iṣẹ́ nínú tuntun.

Yan olùyọjú tí ààyè orúkọ lè dé

Olùsìn yóówù tí fáìlì náà bá dárúkọ, ó ṣì nílò ọ̀nà láti inú ààyè orúkọ yẹn. Olùyọjú gbogbogbò le dáhùn àwọn orúkọ gbogbogbò kí ó sì ṣì kùnà fún agbègbè inú, nítorí iṣẹ́ àdáni kò dé bí kò ṣe nípasẹ̀ ọ̀nà abẹ́lẹ̀. Ṣàyẹ̀wò ọ̀nà náà ní àkókò kan náà pẹ̀lú àdírẹ́sì, kì í ṣe lẹ́yìn tí ìwádìí ti kùnà tẹ́lẹ̀.

Àwọn ohun èlò tí ó ní olùyọjú tirẹ̀, bíi èyí tí ń lo DNS over HTTPS, lè fojú kọ fáìlì náà pátápátá. Bí ohun èlò náà bá ní ètò DNS tirẹ̀, yíyí resolv.conf kò ní nípa lórí rẹ̀, ààyè orúkọ kò sì ní ìṣòro rí.

Kọ fáìlì náà sí ibi tí ó tọ́

Dá fáìlì ààyè orúkọ lábẹ́ /etc/netns/NAME/resolv.conf kí olùgbékalẹ̀ sì gbé e jáde. Jẹ́ kí ó kéré: olùsìn kan tàbí méjì tí ó dé àti àwọn agbègbè ìwádìí tí iṣẹ́ náà nílò. Má ṣe ṣàtúnṣe fáìlì olùyọjú tí a ṣẹ̀dá fún agbàlejò láti tún ìríran tí a pinnu fún ẹgbẹ́ ìlànà kan ṣe, nítorí èyí ń yí gbogbo ohun èlò lórí ẹ̀rọ náà padà. Bí agbàlejò bá ń lo olùṣàkóso olùyọjú, ṣètò ọ̀nà ààyè orúkọ nípasẹ̀ olùṣàkóso yẹn dípò jà pẹ̀lú rẹ̀.

Kọ àkópọ̀ fáìlì náà sínú runbook. Bí bẹ́ẹ̀ kọ́, ẹni tí ó kàn yóò dán olùyọjú agbàlejò wò, yóò rí ìdáhùn tí ń ṣiṣẹ́ yóò sì parí pé ààyè orúkọ dára.

Tún ṣe àyẹ̀wò gbogbo ọ̀nà náà

Ṣe àyẹ̀wò nínú ààyè orúkọ pẹ̀lú àdírẹ́sì oní-nọ́mbà, orúkọ inú àti orúkọ gbogbogbò. Ìtẹ̀síwájú yẹn ń ya agbára ìdé kúrò nínú ìyọjú, ó sì ń ya àwọn agbègbè inú kúrò nínú àwọn gbogbogbò. Lẹ́yìn náà tún dá ààyè orúkọ, kí o sì tún ṣe é, nítorí fáìlì tí ó wà nínú àpẹẹrẹ tí ń ṣiṣẹ́ nìkan yóò pòórá pẹ̀lú rẹ̀.

Jẹ́rìí pé ìlànà, kì í ṣe shell, ni ó ń gba fáìlì náà. Ìwádìí tí ó ń ṣiṣẹ́ láti shell ìbáṣepọ̀ tí ó sì kùnà láti iṣẹ́ jẹ́ àwárí nípa àyíká gbígbékalẹ̀, ó sì yẹ kí a kọ ọ́ sílẹ̀ kí ìṣẹ̀lẹ̀ tó ń bọ̀ tó dé, dípò kí a tún ṣe àwárí rẹ̀ láti ìbẹ̀rẹ̀.

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