DNS dá ṣíṣe ìtúmọ̀ dúró lẹ́yìn tí wọ́n pa àbáṣepọ̀ OpenVPN, àti ìmọ̀lára àkọ́kọ́ ni láti tún /etc/resolv.conf kọ. Ìyípadà yẹn lè ba olùtúnsọ̀ tí ń ṣiṣẹ́ jẹ́ nígbà tí ipò àtijọ́ gidi wà níbòmíràn. Ìbéèrè tí ó yẹ kí a yanjú kọ́kọ́ ni ẹni tí ó ni àwọn ètò DNS tí ọ̀nà ìsopọ̀ fi sórí ẹ̀rọ, àti bóyá ìjáde tí ó fo ìmọ́tótó kọjá ṣe pàtàkì ní ti gidi.

Àwọn ipò mẹ́ta ni ó pinnu àtúnṣe: àmì tí ó parí ìlànà, ẹ̀yà olùtúnsọ̀ tí ó gba àwọn ètò, àti bóyá ìsopọ̀ ọ̀nà náà ṣì wà. Dáhùn wọn ní ìtòlẹ́sẹẹsẹ yẹn, àtúnṣe sì máa ń wá láìfi ọwọ́ kan fáìlì àgbáyé.

Pinnu irú ìjáde tí ó ṣẹlẹ̀

Nínú ẹ̀dà Community ti OpenVPN, SIGINT àti SIGTERM jẹ́ ìbéèrè ìjáde tí ó dára. A kò lè mú SIGKILL: a kò lè dí i mọ́ a kò sì lè ṣe ìtọ́jú rẹ̀, nítorí náà kò sí ìlànà pípadé tí yóò rí àǹfààní ṣiṣẹ́. Ctrl+C déédé nínú terminal iwájú máa ń ṣẹ̀dá SIGINT, nígbà tí alábòójútó tí ó jáwọ́ ìdúró máa ń gòkè lọ sí SIGKILL. Ìyàtọ̀ ṣe pàtàkì nítorí ìpètepèye kejì nìkan ló ń ṣèlérí pé a fo àwọn kóòkò kọjá.

Ṣíṣe é nínú screen tàbí tmux kò yí padà àmì tí Ctrl+C ń fi ránṣẹ́. Ṣàyẹ̀wò ohun tí ìlànà gbà ní ti gidi, kì í ṣe ohun tí terminal máa ń ṣe.

Nígbà tí iṣẹ́ tàbí olùṣàkóso ìsopọ̀ bá ń ṣe ọ̀nà ìsopọ̀ náà, dá ìsopọ̀ kan náà dúró nípasẹ̀ olówó rẹ̀ dípò pípa pid. Olùṣàkóso lè gbé ìlànà náà kalẹ̀ lẹ́ẹ̀kan sí i, tí yóò fi ọ̀nà ìsopọ̀ tuntun àti ipò olùtúnsọ̀ tí ó dàrú sílẹ̀ fún ọ. Ìlànà tí ó dúró lórí ara rẹ̀ kò nílò ju ìbéèrè ìparí déédé lọ kí ìmọ́tótó lè ṣiṣẹ́.

Pinnu ẹni tí ó ni olùtúnsọ̀

systemd-resolved, script irú resolvconf àti àtúntẹ̀ fáìlì lásán jẹ́ olówó mẹ́ta tí ó yàtọ̀. Èyí àkọ́kọ́ ń pa àwọn ètò fún ọ̀nà ìsopọ̀ mọ́ nínú ìrántí, ó sì ń ju wọn nù nígbà tí ojú-ìsopọ̀ bá pòórá. Èyí kejì ń pa àwọn àkọsílẹ̀ mọ́ tí ó wà títí tí ohun kan yóò fi yọ wọ́n kúrò. Èyí kẹta ń kọ fáìlì kan, ó sì ń fi ìmúpadàbọ̀ sílẹ̀ fún ẹni tí ó kọ ọ́.

Dá olówó mọ̀ kí o tó yan àṣẹ àtúnṣe. Àmì kan náà ní ìdáhùn tí ó tọ́ mẹ́ta tí ó yàtọ̀, tí ó sinmi lórí èyí tí a ń lò.

VPN tí NetworkManager ń ṣàkóso lè ti ní àwọn ìyípadà olùtúnsọ̀. Fífi olùrànwọ́ kejì kún un lórí ń dá olówó méjì tí ó ń díje fún ọ̀nà ìsopọ̀ kan náà, ipò ẹni tí ó ṣẹ́gun sì tún farahàn ní ìsopọ̀ tí ó tẹ̀lé. Bí olùṣàkóso bá wà lórí ẹ̀rọ, tún ètò náà ṣe nínú olùṣàkóso, kì í ṣe nínú script.

Ohun tí kóòkò down lè ṣe àti ohun tí kò lè ṣe

Script down máa ń ṣiṣẹ́ lẹ́ẹ̀kan lẹ́yìn tí ẹ̀rọ TUN/TAP bá ti pa. Fífi down-pre kún un yí ìtòlẹ́sẹẹsẹ yẹn padà, ó sì ń mú script ṣiṣẹ́ nígbà tí ẹ̀rọ náà ṣì wà, èyí tí àwọn olùrànwọ́ tí ó nílò ìsopọ̀ alààyè béèrè.

Kò sí ìtọ́nisọ́nà tí ó mú kí kóòkò ṣiṣẹ́ lẹ́yìn SIGKILL. Àwọn ẹ̀tọ́ pẹ̀lú kò ní í padà bọ̀ nípasẹ̀ down-pre: bí daemon bá sọ̀ kalẹ̀ sí user tàbí group tàbí bá wọ inú chroot, kóòkò máa ṣiṣẹ́ pẹ̀lú àǹfààní tí ìyẹn fi sílẹ̀. Kóòkò tí a pè lè ṣì kùnà láti ṣe àtúnṣe olùtúnsọ̀. Ìtọ́kasí OpenVPN ń bo àwọn àmì àti ìpè-padàbọ̀ ìgbésí ayé.

Ṣàyẹ̀wò àṣìṣe kóòkò fúnra rẹ̀ lẹ́gbẹ̀ẹ́ ipò ìjáde ìlànà. Ìmọ́tótó tí ó ṣáko kùnà àti ìmọ́tótó tí ó kùnà máa ń dà bí ìkan nínú olùtúnsọ̀, wọ́n sì yàtọ̀ nínú àwọn àkọsílẹ̀.

Ṣàyẹ̀wò ipò tí ó kù ní ti gidi

Lórí ẹ̀rọ tí ó ń lò systemd-resolved, resolvectl status fi hàn ọ̀nà ìsopọ̀ tí ó ṣì ń gbé àwọn olùpín DNS tàbí àwọn agbègbè ìtọ́sọ́nà ti VPN. Ọ̀nà ìsopọ̀ yẹn lè jẹ́ ti ìsopọ̀ tí ó ti lọ, tàbí ti ọ̀nà ìsopọ̀ mìíràn tí ó ṣì wà lórí.

Ojú-ìsopọ̀ tí ó pòórá máa ń gbé ìṣètò rẹ̀ fún ọ̀nà ìsopọ̀ pẹ̀lú ara rẹ̀, nítorí náà kóòkò tí a fo lè wà pẹ̀lú DNS mímọ́. Bí ìsopọ̀ náà bá ṣì wà nínú àkọsílẹ̀, tí ìsopọ̀ tí a dá dúró nìkan sì ni ó ni í, olùṣàkóso tí ó ni í yẹ kí ó yọ ọ́ kúrò. Bí script àtijọ́ bá tún kọ fáìlì olùtúnsọ̀ àgbáyé, wá ìgbésẹ̀ ìmúpadàbọ̀ tí a kọ sílẹ̀ ti script yẹn dípò.

Mú padà bọ̀ láìjínà ìsopọ̀ mìíràn

Nígbà tí àwọn ètò fún ọ̀nà ìsopọ̀ wà lábẹ́ ìṣàkóso rẹ, resolvectl revert máa ń gba orúkọ ìsopọ̀ náà, ó sì ń pa ìṣètò DNS àkókò ìṣiṣẹ́ rẹ́ fún ojú-ìsopọ̀ yẹn. Ìgbésẹ̀ àkókò ìṣiṣẹ́ ni, kì í ṣe àtúntẹ̀ profáìlì, nítorí náà ìṣètò ìsopọ̀ tí ó dúró pẹ́pẹ́ wà láìsí ìfọwọ́kàn. Bí o bá dárúkọ ìsopọ̀ tí kò tọ́, ìwọ yóò pa DNS ti ọ̀nà ìsopọ̀ tí ń ṣiṣẹ́ rẹ́, ìdí nìyẹn tí orúkọ fi ń wá láti inú ìjáde ipò.

Kí o tó ṣàtúnṣe, jẹ́rìí pé /etc/resolv.conf jẹ́ ìsopọ̀ àpẹẹrẹ tí a ń ṣàkóso, lẹ́yìn náà dá àbáṣepọ̀ náà dúró lẹ́ẹ̀kan sí i bí ó ti yẹ, kí o sì wo DNS lẹ́ẹ̀kan sí i. Bí ìdúró kejì bá mọ́, ìṣòro àkọ́kọ́ ni ìjáde tipátipá, kì í ṣe ìṣètò.

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