DNS VPN ń ṣiṣẹ́, ṣùgbọ́n àwọn orúkọ .local ṣì ń kùnà: ta ni ó ń yanjú wọn?
Orúkọ .local lè forí gbé olùyájú VPN rẹ pátápátá. Fi àwọn ọ̀nà mẹ́ta olùyájú wé, lẹ́yìn náà polongo ẹ̀kún pẹ̀lú ohun tí ó yàtọ̀ sí títún nsswitch ṣe.
Ẹ̀rọ méjì lórí VPN kan náà, orúkọ agbalejo kan náà, àti ọ̀kan nínú wọn nìkan ló ń yanjú rẹ̀: ìyàtọ̀ kì í ṣe ọ̀nà abẹ́lẹ̀ nígbà púpọ̀, bí kò ṣe olùyájú wo ni ó dáhùn. Lórí desktop Linux, orúkọ yẹn lè gba iná ìyípadà iṣẹ́ orúkọ, gbá stub systemd-resolved, tàbí gbá olùyájú tí ohun èlò náà mú wá, àti pé ọ̀kọ̀ọ̀kan wọn ń lo ìlànà tirẹ̀ lórí sáfíkììsì kan náà. Níbi sáfíkììsì ni àwọn ìlànà ti yàtọ̀, nítorí .local kì í ṣe àmì aláìdábọ̀. Wádìí ipa tí ètò tí ó ń kùnà ń gbà gan-an kí o tó yí ètò tí ohunkóhun ń ṣiṣẹ́ nínú rẹ̀ padà.
Olùyájú méjì, ìdáhùn méjì tí ó yàtọ̀
Ìwádìí glibc àtijọ́ ń gbá líne hosts: nínú nsswitch.conf kí ó sì béèrè lọ́wọ́ module kọ̀ọ̀kan ní ọwọ́, títí ọ̀kan yóò fi dáhùn. Ẹni tí ó ń bá systemd-resolved sọ̀rọ̀ nípasẹ̀ olùgbọ́rọ̀ stub ń béèrè lọ́wọ́ ìlànà kan ṣoṣo ní ààrò, àti pé ìlànà yẹn ń lo ìlànà fún ìsopọ̀ kọ̀ọ̀kan pẹ̀lú àwọn ipò pàtàkì tirẹ̀. Ohun èlò tí ó mú olùyájú tirẹ̀ wá, tàbí tí ó so ilé-ìkàwé kan tí ó ṣe bẹ́ẹ̀, lè forí gbé àwọn méjèèjì. Nítorí náà orúkọ agbalejo kan lè ní olówó mẹ́ta lórí ẹ̀rọ kan, àti pé ọ̀kan nínú wọn nìkan ló mọ ohun tí VPN ní lọ́kàn.
Dá olówó mọ̀ kí o tó yí ohunkóhun padà, nítorí àtúnṣe yàtọ̀ fún ọ̀kọ̀ọ̀kan nínú àwọn mẹ́ta. Browser àti irinṣẹ́ líne àṣẹ lórí desktop kan lè má fohùn ṣọ̀kan lọ́nà tí ó tọ́, àti pé àìfohùnṣọ̀kan yẹn ni àmì, kì í ṣe àṣìṣe. Tí browser bá yanjú orúkọ náà tí irinṣẹ́ kò bá yanjú, ìwọ ń ṣàtúnyẹ̀wò ipa olùyájú kì í ṣe ipa VPN. Jẹ́rìí ipa náà lọ́tọ̀ọ̀tọ̀, kí àṣìṣe ìtọ́sọ́nà má baà di àṣìṣe iṣẹ́ orúkọ. Nígbà tí àwọn méjèèjì bá fohùn ṣọ̀kan, àṣìṣe náà wà lókè agbalejo àti pé ìtòlẹ́sẹẹsẹ olùyájú níbí kò tọ́ sí àtúnṣe mìíràn.
Àṣẹ wo ni ó béèrè lọ́wọ́ olùyájú rẹ gan-an
Àṣẹ méjì tí kì í ṣe kíkà nìkan ń dáhùn àwọn ìbéèrè tí ó ní ìsopọ̀, àti pé fífi wọ́n wé ń fi ibi tí ìṣòro wà hàn kíákíá ju kíkà ìtòlẹ́sẹẹsẹ. Lo orúkọ inú gidi kan kí o sì pa àbájáde mọ́ ní àṣírí, nítorí àwọn àkọsílẹ̀ inú ń wà ní inú. Ṣe àwọn méjèèjì nínú ìpàdé kan náà tí ètò tí ó ń kùnà ń ṣiṣẹ́ nínú rẹ̀:
getent ahosts files.corp.local
resolvectl query files.corp.local
resolvectl statusÈyí àkọ́kọ́ ń béèrè nípasẹ̀ àwọn module tí a ti ṣètò, èyí ni ohun tí ètò àwòkọ́ṣe ń ní ìrírí rẹ̀. Èyí èkejì ń béèrè tààrà lọ́wọ́ systemd-resolved ó sì ń ròyìn ìsopọ̀, ìlànà àti sáàdì tí ó dáhùn. Bíbéèrè lọ́wọ́ sáàdì ilé-iṣẹ́ nípasẹ̀ àdírẹ́sì ń fi kìkì pé sáàdì ní àkọsílẹ̀ náà hàn, nítorí kò sọ ohunkóhun nípa bóyá ohun èlò náà ti béèrè rẹ̀ rí. Ka ìsopọ̀ tí ó ń gbé VPN àti àwọn ẹ̀kún tí ó ń sọ pé ó ní, lẹ́yìn náà fi àkójọ yẹn wé sáfíkììsì nínú orúkọ tí ó ń kùnà.
Kí ni ìdí tí .local fi forí gbé àgbègbè unicast rẹ
ìtọ́kasí systemd-resolved sọ pé àwọn orúkọ onílàbẹ̀lì púpọ̀ tí ó parí pẹ̀lú .local máa ń lọ sí DNS multicast nígbà tí mDNS bá ṣí, dípò DNS unicast lasan. RFC 6762 yà ààyè orúkọ yẹn sọ́tọ̀ fún multicast ìsopọ̀-àdúgbò, nítorí náà àgbègbè ilé-iṣẹ́ lè ní àkọsílẹ̀ tí ó tọ́ tí a kò béèrè rẹ̀ rí fún sáfíkììsì yẹn. Ọ̀nà abẹ́lẹ̀ lè tọ́sọ́nà olùyájú dáadáa kí ó sì ṣì padà ní eré. Ping tí ó yọrí sí rere láti kásẹ̀ kò sọ ohunkóhun nípa ìwádìí tí ó ṣẹ̀ṣẹ̀ ṣẹlẹ̀.
Ìyàsọ́tọ̀ tí a kọ sílẹ̀ wà, àti pé ó ń yanjú ọ̀pọ̀ nínú àwọn ipò wọ̀nyí: nígbà tí ìsopọ̀ kan bá polongo sáfíkììsì yẹn gẹ́gẹ́ bí ẹ̀kún wíwá tàbí ẹ̀kún ìtọ́sọ́nà, daemon náà ń pa á mọ́ lórí ipa unicast ó sì ń forí gbé ipò multicast pàtàkì. Ìlànà fún ìsopọ̀ kọ̀ọ̀kan ni yẹn kì í ṣe ààyò gbogbogbò. Ẹ̀rọ méjì tí wọ́n ní sáàdì VPN kan náà lè hu ìwà yàtọ̀ nígbà tí profáìlì nẹ́tíwọ́kì kan bá polongo ẹ̀kún náà tí èkejì kò bá ṣe bẹ́ẹ̀, nítorí náà ka profáìlì tí ó ń ṣiṣẹ́ kì í ṣe èyí tí o rántí pé o ṣàtúnṣe.
Ìyàsọ́tọ̀ tóóró ń ṣẹ́gun àtúntò gbogbogbò
Fún àgbègbè tí ó ti wà tí o kò lè yí orúkọ rẹ̀ padà, jẹ́ kí àwọn olówó olùyájú àti VPN polongo ẹ̀kún náà lórí ìsopọ̀ tí ó ń gbé e. Àkọsílẹ̀ ẹ̀kún ìtọ́sọ́nà fún sáfíkììsì kan yẹn pẹ̀lú àdírẹ́sì sáàdì tí a ní lọ́kàn jẹ́ ìyípadà kékeré pẹ̀lú olówó tí a dárúkọ, àti pé ó ń gbé pẹ̀lú ìsopọ̀ dípò nínú fáìlì tí a fi ọwọ́ ṣàtúnṣe.
Ó tún yege ìpínyà, nítorí a tún ń lo ìlànà ìsopọ̀ nígbà tí ìsopọ̀ bá padà. Ṣíṣàtúnṣe nsswitch.conf tí a pín jẹ́ àyànfẹ́ tí ó ń fà mọ́ra àti èyí tí ó gbówó lórí jù, nítorí ó ń yí ìwà ìwádìí padà fún gbogbo orúkọ lórí ẹ̀rọ náà, pẹ̀lú ìwárí àdúgbò. Pípa daemon multicast kò tún jẹ́ dọ́gba: ó ń yọ ìwà àdúgbò kúrò láìkọ́ olùyájú kankan nípa àgbègbè ilé-iṣẹ́. Tí iṣẹ́ náà bá jẹ́ tuntun kì í ṣe jogún, gbé e sábẹ́ ẹ̀kún-ìsàlẹ̀ tí àjọ rẹ ń ṣàkóso kí o sì forí gbé ìdíje pátápátá. Yan ìyàsọ́tọ̀ tóóró nígbà tí orúkọ náà bá wà ní firmware tàbí tí a tẹ̀ ẹ́ sórí àmì, kí o sì yan ẹ̀kún-ìsàlẹ̀ tuntun nígbà tí ìwọ ṣì ń ṣàkóso ẹni náà.
Kí ni a gbọ́dọ̀ fi hàn lẹ́yìn ìyípadà
Fi àtúnṣe náà hàn pẹ̀lú ìwádìí ti ohun èlò fúnra rẹ̀ kì í ṣe pẹ̀lú irinṣẹ́ tí o fi sílẹ̀ fún ìdánwò, kí o sì sọ kásẹ̀kásẹ̀ èyíkéyìí tí ó lè dáhùn ní ipò rẹ̀. Lẹ́yìn náà jẹ́rìí ipa olùyájú àti ìsopọ̀ tí ó fi ìdáhùn náà hàn. Níkẹyìn ṣàyẹ̀wò pé ìwárí àdúgbò ṣì ń hu ìwà bí ó ti ṣe kí ìyípadà tó ṣẹlẹ̀, nítorí ẹ̀rọ ìtẹ̀wé tí ó dẹ́kun híhàn ni apá tí àwọn ènìyàn ń kíyèsi níkẹyìn. Àwọn àṣẹ mẹ́ta wọ̀nyí ń ṣàyẹ̀wò orúkọ, ipa àti ìdánimọ̀ TLS ní ìtòlẹ́sẹẹsẹ yẹn:
getent ahosts files.corp.local
resolvectl query files.corp.local
curl -sv --max-time 5 https://files.corp.local/ 2>&1 | head -n 20Àdírẹ́sì tí ó tọ́ pẹ̀lú ẹ̀rí tí kò tọ́ ṣì ń mú kí ẹni tí ó le kùnà, nítorí náà ṣàyẹ̀wò orúkọ tí ohun èlò ń retí nígbà tí ìyánjú bá ṣiṣẹ́. Jẹ́rìí pé iṣẹ́ náà ń gba àwọn ìsopọ̀ láti àdírẹ́sì VPN kì í ṣe láti àgbègbè ọ́fíìsì nìkan. Kọ ìwọ̀n ẹ̀kún, sáàdì àti olówó sínú àkọsílẹ̀ ìsopọ̀ náà. Bí bẹ́ẹ̀ kọ́, ẹni tí ó kàn yóò pàdé àṣìṣe yìí yóò tẹ̀lé àtúnṣe gbogbogbò kan náà tí ìwọ ṣẹ̀ṣẹ̀ yẹ̀ sílẹ̀.