Kí ni idi ti resolv.conf fi ń fi DNS VPN rẹ hàn ṣùgbọ́n àwọn ìṣàwárí ń pa á tì
Lórí ẹ̀rọ tó ní resolved, fáìlì jẹ́ ojú wo, kì í ṣe ipò fúnra rẹ̀. Tẹ̀lé stub, àwọn sáfà fún ọ̀nà ìsopọ̀ kọ̀ọ̀kan àti ìlà nsswitch láti rí èyí tí ìṣàwárí ń lò gan.
Kò sí ohun tó dàbí àṣìṣe nínú àwọn àkọsílẹ̀: ìsopọ̀ ń ṣiṣẹ́, olùyẹ̀wò ń ròyìn sáfà DNS VPN, fáìlì tó wà lórí díìsì sì ṣe àkọsílẹ̀ rẹ̀. Síbẹ̀ orúkọ ẹ̀rọ inú ṣì ń yanjú nípasẹ̀ olùdarí àdúgbò. Àwọn gbólóhùn mẹ́ta yìí kò tako ara wọn, nítorí fáìlì náà, ipò ìsopọ̀ kọ̀ọ̀kan àti ọ̀nà ìṣàwárí jẹ́ ohun mìíràn tí wọ́n ṣe àpapọ̀ orúkọ kan lọ́nà àìròtẹ́lẹ̀. Ohun tó tẹ̀lé ni ọ̀nà tí ìbéèrè kan ń gbà gan lórí ẹ̀rọ tó ní systemd-resolved.
Ohun mẹ́ta tí a ń pè ní resolv.conf
Lórí ẹ̀rọ tó ní resolved, /etc/resolv.conf sábà máa ń jẹ́ ìsopọ̀ àmì sí /run/systemd/resolve/stub-resolv.conf. Àfojúsùn yẹn ni ó ní àdírẹ́sì olùgbọ́ stub àdúgbò, 127.0.0.53, pẹ̀lú àwọn agbègbè ìwádìí tí resolved ṣírò. Ojú wo ipò ni, kì í ṣe ipò fúnra rẹ̀.
Ipò ń gbé nínú ìṣètò resolved fún ìsopọ̀ kọ̀ọ̀kan, ìdí nìyẹn tí resolvectl status fi lè tako fáìlì náà tí ó sì ṣì tọ́. Ìsopọ̀ kọ̀ọ̀kan máa ń gbé àwọn sáfà tirẹ̀ àti àwọn agbègbè ìdarí tirẹ̀, stub sì ń wo irú data yẹn nígbà tí ìbéèrè bá dé. Ìwé ìtọ́sọ́nà systemd-resolved ṣàlàyé àwọn fáìlì tí a ṣẹ̀dá àti àwòṣe ìsopọ̀ kọ̀ọ̀kan; pínpín ojú wo àti ipò ni apá tó yẹ kí a rántí. Yíyí àfojúsùn ìsopọ̀ àmì padà ń yí ohun tí àwọn oníbàárà ìbílẹ̀ ń kà padà, kì í ṣe ohun tí olùyẹ̀wò mọ̀.
Ohun kẹta, /run/systemd/resolve/resolv.conf, ń tẹ́ ìsopọ̀ kọ̀ọ̀kan di àkójọ sáfà kan. Ètò tó ń tọ́ka sí fáìlì yẹn ń fi àwọn ìbéèrè ránṣẹ́ tààrà sí àwọn sáfà tí a ṣe àkọsílẹ̀ ó sì ń fò stub kọjá, nítorí náà ìlànà ìsopọ̀ kọ̀ọ̀kan kò tún kan òun mọ́. Nítorí náà ètò méjì lórí ẹ̀rọ kan lè dáhùn orúkọ kan lọ́nà ọ̀tọ̀ọ̀tọ̀, kò sì sí ẹyọ tó bàjẹ́.
Tẹ̀lé ìṣàwárí kan nípasẹ̀ NSS
glibc ń ka /etc/nsswitch.conf láti pinnu ẹni tó ń dáhùn orúkọ. Ìlà hosts tó ní resolve ń darí ìbéèrè sí nss-resolve, tó ń béèrè lọ́wọ́ resolved nípasẹ̀ D-Bus tí ó sì gba ìdáhùn ìsopọ̀ kọ̀ọ̀kan. Ìlà tó ní files dns nìkan ń fi ìbéèrè ránṣẹ́ sí àdírẹ́sì tí /etc/resolv.conf ní.
Ìlà kan náà ni ó ń ṣàlàyé ọ̀pọ̀ jùlọ àìtẹ́gbẹ́pọ̀ láàrin ẹ̀rọ ìwò àti dig. dig ń ka resolv.conf tààrà kò sì fọwọ́ kan NSS rárá, nítorí náà ó ń dán stub tàbí sáfà òkè wò dípò ọ̀nà tí ètò ń lò. getent hosts internal.example ń gba NSS kọjá, ìfiwéra ìdáhùn rẹ̀ pẹ̀lú ti dig ni ìwọ̀n àkọ́kọ́ tó wúlò.
Àwọn ètò tó gbé olùyẹ̀wò tirẹ̀, tàbí tó ń sọ DNS lórí HTTPS sí ibi ìparí kan tó dúró ṣinṣin, ń fò ọ̀nà méjèèjì kọjá. Kò sí ohun nínú resolv.conf tàbí ipò resolved tó ń dí wọn lọ́wọ́.
Ṣàyẹ̀wò ẹni tó ni fáìlì àti ibi tó ń tọ́ka sí
Ka ẹ̀wọ̀n ìsopọ̀ kí o tó yí ohunkóhun padà, nítorí ẹ̀tọ́ ni ó ń pinnu fáìlì tó ní àṣẹ. Gbogbo àṣẹ tó wà nísàlẹ̀ ń ka ipò nìkan.
stat -c '%N' /etc/resolv.conf
resolvectl status --no-pager
grep '^hosts' /etc/nsswitch.conf
ls -l /run/systemd/resolve/
Ìlà àkọ́kọ́ ń tẹ ìsopọ̀ àti àfojúsùn rẹ̀ jáde papọ̀, fáìlì lasan tí script VPN ni sì ń túmọ̀ sí pé olùyẹ̀wò kò gbà á gẹ́gẹ́ bí ìwọlé rárá. Àbájáde ipò ń ṣe àkọsílẹ̀ àwọn sáfà fún ìsopọ̀ kọ̀ọ̀kan pẹ̀lú àwọn agbègbè ìdarí tó ń pinnu ibi tí ìbéèrè kọ̀ọ̀kan ń lọ. Ìlà nsswitch ń sọ bóyá a ń ṣègbéwọ́nà stub rárá, nítorí náà àdírẹ́sì stub nínú fáìlì láìsí resolve níbẹ̀ ń túmọ̀ sí pé àwọn ìbéèrè ń dé ọ̀dọ̀ olùgbọ́ àdúgbò nígbà tí kò sí ohun tó ń ṣàkóso pínpín náà. Àkójọ tó kẹ́yìn yẹn pẹ̀lú ṣe pàtàkì, nítorí ẹ̀rọ tó kò ní stub-resolv.conf kò ń ṣiṣẹ́ ìṣètò tí a ṣàpèjúwe níbí.
Bí ẹ̀wọ̀n bá parí ní fáìlì tí àkójọ mìíràn ń bójú tó, oníbàárà VPN àti àkójọ yẹn ni olùní méjì tí a gbọ́dọ̀ bá wọn dé. Yíyí ìsopọ̀ padà ń sọ iṣẹ́ olùní kan nù ó sì ń fi ti ẹlòmíràn sí ipò rẹ̀.
Tún ṣe ní ọ̀dọ̀ olùní ìsopọ̀
Ìsopọ̀ VPN yẹ kí ó forúkọ àwọn sáfà rẹ̀ àti àwọn agbègbè rẹ̀ sílẹ̀ lórí ìsopọ̀ tirẹ̀, lẹ́yìn náà kí ó fà wọ́n padà nígbà tí a bá gé ìsopọ̀. Ìsopọ̀ resolved ti NetworkManager àti olùrànlọ́wọ́ oníbàárà fúnra rẹ̀ ń ṣiṣẹ́ bẹ́ẹ̀; script tó kàn ń tún resolv.conf kọ kò ṣe bẹ́ẹ̀.
Lórí ìsopọ̀ tó ti wà tẹ́lẹ̀, àwọn ìṣètò àkókò ṣíṣe ń fi ọ̀nà hàn. resolvectl dns tun0 10.40.0.53 ń so sáfà kan pọ̀, resolvectl domain tun0 '~corp.example' ń so agbègbè ìdarí kan pọ̀. Tilde (~) ni àmì tó ń gbé ẹrù: ó ń dín àwọn ìbéèrè fún ẹ̀yà-ìparí yẹn mọ́ ìsopọ̀ yìí ó sì ń fi gbogbo ohun mìíràn sílẹ̀ ní àlàáfíà, nígbà tí iye kan náà láìsí rẹ̀ yóò di agbègbè ìwádìí tí pínpín yóò sì gbẹ lọ. Àwọn àdírẹ́sì yẹn jẹ́ àpẹẹrẹ yàrá ìdánwò, kì í ṣe ìṣètò tó dúró. Fi resolvectl query host.corp.example jẹ́rìí sí i kí o sì ka ìsopọ̀ tó dáhùn.
Sáfà tí a forúkọ sílẹ̀ ṣì nílò ọ̀nà. Nígbà tí ìbéèrè bá dé ìsopọ̀ tó tọ́ tí àkókò sì tán, àṣìṣe wà nínú ìwọlé nípasẹ̀ ọ̀nà abẹ́lẹ̀, kì í ṣe nínú ẹ̀tọ́ olùyẹ̀wò.
Báwo ni ipò tó ń ṣiṣẹ́ ṣe rí
Àbájáde tó ní ìlera máa ń bára mu ní ojú wo mẹ́tẹ̀ẹ̀ta: àwọn sáfà ìsopọ̀ kọ̀ọ̀kan bá ohun tí VPN pín mu, àwọn agbègbè ìdarí bo àwọn ẹ̀yà-ìparí inú nìkan, ètò pàtàkì náà sì ń yanjú orúkọ inú nígbà tí orúkọ gbogbo ènìyàn ṣì ń tẹ̀lé ọ̀nà àdúgbò. Ìbéèrè kan tó ṣàṣeyọrí ń fi ohun tó kéré ju ìbámu yẹn lọ hàn.
Lẹ́yìn náà gé ìsopọ̀ kí o sì tún àwọn ìbéèrè méjèèjì ṣe. Oníbàárà tó fi àwọn agbègbè rẹ̀ sílẹ̀ ní ìforúkọ sílẹ̀ lẹ́yìn ìwó kúrò yóò pilẹ̀ ẹ̀rọ tó máa kùnà ní àwọn ìṣàwárí inú ní wákàtí mélòó kan lẹ́yìn náà, láìsí ọ̀nà abẹ́lẹ̀ tó ṣí àti láìsí ìdí tó kedere.