O já VPN, ping 1.1.1.1 ṣì ń dáhùn, gbogbo ìwárí orúkọ sì ń rọ̀ kí ojú-ìwé tó jáwọ́ ní ìparí. Lẹ́yìn náà cat /etc/resolv.conf fi ẹ̀rọ orúkọ hàn tí ó ti wà nínú ìṣọ́nà nìkan rí, ní àkọ́kọ́ nínú àkọsílẹ̀ ní ọ̀pọ̀ ìgbà. Pípa ìlà yẹn rẹ́ dàbí ẹni pé ó tún ṣe fún nǹkan bí ìṣẹ́jú mẹ́wàá, títí ìsinmi, ìrìn Wi-Fi tàbí àtúnbẹ̀rẹ̀ kan yóò fi dá a padà. Fáìlì tí o ṣàtúnṣe kì í ṣe ètò náà; ó jẹ́ àfihàn ipò ìsopọ̀ tí ẹ̀yà mìíràn ni.

Kí ni ìdí tí àkọsílẹ̀ àtijọ́ kan fi ń ná ìṣẹ́jú-ìṣẹ́jú fún ìwárí kọ̀ọ̀kan

Olùyẹnuda glibc ń rìn àkọsílẹ̀ àwọn ẹ̀rọ orúkọ lẹ́sẹẹsẹ ó sì ń dúró de àkókò ìdúró kan kí ó tó gbìyànjú èyí tí ó tẹ̀lé, resolv.conf(5) sì ń pààlà àkọsílẹ̀ náà sí àkọsílẹ̀ mẹ́ta. Fi olùyẹnuda ẹ̀gbẹ́ ìṣọ́nà bí 10.8.0.1 sí orí àkọsílẹ̀ lẹ́yìn tí ìṣọ́nà bá lọ, gbogbo ìwárí yóò sì san àkókò ìdúró kí ó tó ré ju sí ẹ̀rọ tí ń dáhùn. Ìdí niyẹn tí àmì náà fi dàbí ìsopọ̀ tí ó kú dípò àṣìṣe DNS: àwọn aṣàwákiri ń dídì, àkókò ń tán, nígbà mìíràn wọ́n sì ń fi àdírẹ́sì tí a ti kó sínú kásẹ̀ tí yóò di àtijọ́ lẹ́yìn náà.

Èyí tún ṣàlàyé ìdí tí ẹ̀sùn fi ń dé bí «intánẹẹti ti bàjẹ́». Ping sí àdírẹ́sì IP fi hàn pé ìsopọ̀ dá, èyí tí ó mú kí àṣìṣe náà dàbí ti ohun-èlò. Àkọsílẹ̀ olùyẹnuda ni ohun àkọ́kọ́ tí a ó kà àti ohun ìkẹyìn tí a ó ṣàtúnṣe.

Àròsọ: resolv.conf jẹ́ fáìlì ètò

Bèèrè ohun tí ọ̀nà náà jẹ́ ní ti gidi kí o tó yí i padà:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf

Lórí ẹ̀rọ systemd-resolved ó jẹ́ ìsopọ̀ àmì sí fáìlì stub tí ó tọ́ka sí 127.0.0.53, àwọn ẹ̀rọ gidi sì ń gbé nínú ipò fún ìsopọ̀ kọ̀ọ̀kan tí resolvectl ń tẹ̀ jáde. Lórí ẹ̀rọ NetworkManager ó lè jẹ́ fáìlì tí NetworkManager ń kọ láti inú ìsopọ̀ tí ń ṣiṣẹ́. Nínú àwọn aláṣẹ kan, ó jẹ́ fáìlì lasán tí a ń kọ padà ní ibi nígbà ìsopọ̀ àti, bí kò bá rọ̀ ọ́, tí a kò gbà padà rí nígbà ìjá. Àwọn wọ̀nyí jẹ́ olówó mẹ́ta ọ̀tọ̀ọ̀tọ̀, ṣíṣàtúnṣe àkọ́kọ́ méjì pẹ̀lú ọwọ́ yóò jábọ́ láìṣe nǹkan tàbí yóò dúró títí dé ìṣẹ̀lẹ̀ nẹ́tíwọ́kì tó ń bọ̀.

resolvectl status ni ìwòye tí ń sọ òtítọ́: àwọn ẹ̀rọ DNS fún ìsopọ̀ kọ̀ọ̀kan, àwọn ìgbèríko ìtọ́nisọ́nà àti bóyá ìsopọ̀ ìṣọ́nà ṣì wà. resolvectl query example.com lọ jìnnà sí i, ó sì fi hàn èyí tí ó dáhùn. Lo méjèèjì kí o tó fi ọwọ́ kan fáìlì, kí o sì rántí pé aṣàwákiri tí ó ní DNS ààbò tirẹ̀ ń pa gbogbo èyí tì.

Wá ẹni tí ó ni í kí o tó ṣàtúnṣe nǹkan

Ní àkókò púpọ̀ ẹ̀yà mẹ́ta ń díje fún ètò kan náà: systemd-resolved, NetworkManager àti ohun tí aláṣẹ VPN ti fi sórí ẹ̀rọ. Kọ́kọ́ dá èyí tí ó wà mọ̀:

systemctl is-active systemd-resolved
nmcli connection show --active
ps aux | grep -E "openvpn|wg-quick|vpn"

Bí resolved bá ń ṣiṣẹ́ tí ìsopọ̀ àmì sì tọ́ka sí stub rẹ̀, fáìlì àgbáyé ni ìjáde tí a ṣẹ̀dá, àtúnṣe rẹ sì jẹ́ ti ìrísí nìkan. Bí NetworkManager bá ni ìsopọ̀ náà, àwọn ẹ̀rọ jẹ́ ti àpèjúwe ìsopọ̀, nítorí náà àtúnṣe ni yíyí ohun-ìní nmcli padà kì í ṣe ṣíṣàtúnṣe fáìlì. Bí daemon aláṣẹ bá ń ṣiṣẹ́, ọ̀nà ìmúpadà tirẹ̀ nìkan ni yóò yọ láàyè sí ìsopọ̀ tó ń bọ̀.

Nu ipò ìsopọ̀ tí aláṣẹ fi sílẹ̀

Aláṣẹ tí a pa kò lè ṣe ìkọ́ ìmúnù rẹ̀. A kò lè mú SIGKILL rárá, ṣùgbọ́n a lè mú SIGINT àti SIGTERM, nítorí náà ìṣọ́nà tí «kàn dúró» lẹ́yìn pípa tipátipá sábà máa ń fi ìforúkọsílẹ̀ ìfojú-ọ̀nà àti àkọsílẹ̀ olùyẹnuda sí ipò wọn. Wá PID pàtó kan kí o sì fi àmì náà ránṣẹ́ sí i nìkan:

ps aux | grep -E "openvpn|wg-quick"
sudo kill <pid>
resolvectl revert tun0

Má ṣe na ọwọ́ sí pkill -f vpn tàbí killall vpn kí o tó ka gbogbo àkọsílẹ̀ ìbámu. -f ń bá gbogbo ìlà àṣẹ mu, nítorí náà ó lè parí script ìwé, ìpàdé olóòtú tàbí ìlànà tí kò ní í ṣe pẹ̀lú tí ọ̀nà rẹ̀ ní okùn náà. Pípa ìlànà tí kò tọ́ ní àárín iṣẹ́ ni ọ̀nà tí ìṣòro olùyẹnuda fi di fáìlì tí ó sọnù.

resolvectl revert ń tún ètò DNS àkókò ìṣiṣẹ́ ti ìsopọ̀ yẹn ṣe, èyí tí ó há mọ́ ju àtúnbẹ̀rẹ̀ olùyẹnuda lọ, ó sì há mọ́ gan-an ju ṣíṣàtúnṣe fáìlì àgbáyé lọ. Bí ìsopọ̀ ìṣọ́nà bá ti pòórá pátápátá, systemctl restart NetworkManager ń tún ipò ìsopọ̀ kọ́, ìgbésẹ̀ yẹn sì ni àwọn okùn orísun ń tún padà sí. Ṣọ́ra fún olùdarí iṣẹ́ tí ó ní Restart=always, nítorí ó lè dá aláṣẹ tí a pa àti àwọn ètò DNS rẹ̀ padà tààrà.

Ìtọ́sọ́nà mìíràn: DNS tí a ti gbé jáde tí kò dé rí

Àwòrán dígí ti àkọsílẹ̀ àtijọ́ ni ìṣọ́nà tí kò ní olùyẹnuda kankan tí ó wúlò. Àṣàyàn DNS nínú àpèjúwe jẹ́ ìbéèrè; ẹ̀yà tí ń darí ìsopọ̀ gbọ́dọ̀ gbé e fún olùyẹnuda. Bí àkọsílẹ̀ bá fi hàn pé a gba ẹ̀rọ náà ṣùgbọ́n ìsopọ̀ ìṣọ́nà kò gbé ètò DNS kankan, ohun tí ó ṣẹ̀ ni ìsopọ̀ àwọn ẹ̀yà, kì í ṣe ẹ̀rọ.

Dán ìgbéfúnni wò nípa ṣíṣe é pẹ̀lú ọwọ́, èyí tí ó ya «ẹ̀rọ náà kò tọ́» kúrò nínú «ẹnìkankan kò lò ó»:

resolvectl dns tun0 10.10.10.10
resolvectl domain tun0 ~.

Ìgbèríko ìtọ́nisọ́nà tí ń mú gbogbo nǹkan ń fi gbogbo orúkọ ránṣẹ́ sí ìsopọ̀ yẹn, èyí ni ohun tí aláṣẹ ìṣọ́nà kíkún fẹ́ àti ohun tí DNS pínpín kò gbọ́dọ̀ lò. Àwọn ètò wọ̀nyí ń pòórá ní ìsopọ̀ tó ń bọ̀. Láti mú wọn dúró gbágede nínú NetworkManager, pa DNS àìfọwọ́yí kúrò, fi ẹ̀rọ náà sórí ìsopọ̀ kí o sì fi ìgbèríko kún un:

nmcli connection modify office ipv4.ignore-auto-dns yes
nmcli connection modify office ipv4.dns 10.10.10.10
nmcli connection modify office ipv4.dns-search "~."

Fún ìṣọ́nà ilé-iṣẹ́ tí ó gbọ́dọ̀ dáhùn orúkọ inú nìkan, ṣe àkọsílẹ̀ àwọn agbègbè yẹn pẹ̀lú tilde ní ìbẹ̀rẹ̀ dípò mímú gbogbo nǹkan, kí àwọn orúkọ gbogbogbò lè máa lo olùyẹnuda àdúgbò.

Àwọn ọ̀nà àyèwò tí ó di ìdàrúdàpọ̀ tó ń bọ̀

Dídà resolv.conf kópù kí o tó sopọ̀ àti mímú u padà lẹ́yìn jẹ́ ìlà tí ó tọ́ nínú runbook, ó sì jẹ́ ọ̀nà àyèwò kì í ṣe àtúnṣe. Ó jábọ́ ní àkókò tí ó ṣe pàtàkì gan-an, nítorí ìkùlú tàbí àtúnbẹ̀rẹ̀ tipátipá ń fò mímúpadà kọjá. Kọ ọ́ sílẹ̀ gẹ́gẹ́ bí ọ̀nà àyèwò kí ẹni tó ń bọ̀ má bàa kọ́ lé e lórí.

Pípa systemd-resolved àti kíkọ àwọn ẹ̀rọ gbogbogbò mọ́ ni ìgbésẹ̀ gbajúmọ̀ mìíràn. Ó mú ìsopọ̀ àti ìjá di ohun tí a lè sọ tẹ́lẹ̀, ó sì yọ DNS fún ìsopọ̀ kọ̀ọ̀kan kúrò fún gbogbo nẹ́tíwọ́kì mìíràn, èyí tí ó bà DNS pínpín jẹ́ fún àwọn orúkọ inú, ó sì pa ète ìṣọ́nà tí a pinnu láti fi àwọn ìbéèrè pamọ́ nínú rẹ̀. Fífi resolvconf sórí ẹ̀rọ àti fífi àwọn ẹ̀rọ gbogbogbò mọ́ náà bí i pẹ̀lú ìpele àfikún. Wo ọ̀kan nínú wọn gẹ́gẹ́ bí àyẹ̀wò: bí ó bá mú ìwò lórí wẹ́ẹ̀bù padà, o ti kọ́ pé ìsopọ̀ olùyẹnuda ni ẹlẹ́bi, kì í ṣe pé àwọn ẹ̀rọ gbogbogbò tọ́.

Àtúnṣe tí ó dúró gbágede ni olówó kan fún ìpele kọ̀ọ̀kan: pinnu ẹ̀yà tí ó ni DNS ti ìsopọ̀ ìṣọ́nà àti èyí tí ó ni àìfọwọ́yí àgbáyé, kọ ọ́ sílẹ̀ kí o sì yọ àwọn mìíràn kúrò ní ọ̀nà. Lẹ́yìn náà ṣàyẹ̀wò lẹ́yìn ìjá pẹ̀lú orúkọ tí VPN nìkan ń yanjú. Bí orúkọ àdáni kan bá ṣì ń dáhùn, a kò yọ ìforúkọsílẹ̀ kúrò; bí kò bá sí nǹkan tí ń yanjú, fáìlì náà tọ́ka sí ẹ̀rọ tí kò sí mọ́. Àwọn méjèèjì ń hàn nínú resolvectl kí o tó ṣí aṣàwákiri.

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