Kí ni ìdí tí àwọn orúkọ DNS aládàáni fi ń kùnà lórí àwọn oníbàárà VPN, àti ibi tí a ti lè yẹ̀wò
Àwọn orúkọ aládàáni ń yọjú nìkan nígbà tí oníbàárà bá gbẹ́kẹ̀ lé olùyọjú rẹ, tí ìparí orúkọ ti ní ààlà, tí ìdáhùn sì lè padà wá nípasẹ̀ tunnel.
O ṣí laptop nínú yàrá òtẹ́ẹ̀lì, o gbé oníbàárà jáde, o tẹ orúkọ server fáìlì inú ilé, kò sì sí ohun tí o gbà padà. Tunnel sọ pé ó ti so mọ́, ping sí àdírẹ́ẹ̀sì nínú subnet kan náà ṣì ń dáhùn, nítorí náà ọ̀nà gbígbé fúnra rẹ̀ wà ní àìsàn. Orúkọ nìkan ni ó kùnà, àárín yẹn sì dín ìṣòro náà kù sí ibi méjì: olùyọjú wo ni oníbàárà béèrè lọ́wọ́ àti bóyá ìdáhùn tí ó gbà lè padà wá nípasẹ̀ tunnel. Tún ọ̀kan ṣe kí o sì fi èkejì sílẹ̀, àṣìṣe náà yóò kàn yí ibi padà.
Kí o tó ṣàtúnṣe profile kankan, jẹ́rìí sí ohun tí oníbàárà ń ṣe pẹ̀lú orúkọ náà. Ní Linux, resolvectl query files.corp.example fi hàn irú ìsopọ̀ àti irú olùyọjú tí ó ṣe ìdáhùn náà. Ní Windows, Resolve-DnsName files.corp.example fi server tí ó dáhùn àti àdírẹ́ẹ̀sì tí ó dá padà hàn.
Ka ìdáhùn náà kí o tó yí ohunkóhun padà
Bí orúkọ náà bá padà wá bí NXDOMAIN láàárín àwọn millisecond mélòó kan, ìbéèrè náà kò dé agbègbè rẹ rárá, olùyọjú gbogbo ènìyàn tàbí ti òtẹ́ẹ̀lì ni ó dáhùn. Bí ó bá padà wá lẹ́yìn ìdákẹ́jẹ́ pípẹ́, ohun kan ń sọ port UDP 53 nù lójú ọ̀nà, oníbàárà sì padà sí ààyò mìíràn níkẹyìn. Bí ó bá dáhùn pẹ̀lú àdírẹ́ẹ̀sì tíkòtọ́ ṣùgbọ́n ìsopọ̀ náà ṣì ń dí, ìwádìí náà wà ní àìsàn, ìṣòro rẹ sì wà nínú ìtọ́nà tàbí nínú iṣẹ́ náà fúnra rẹ̀.
Pípín sí mẹ́ta yẹn ń gba wákàtí kan tí a fi ń ṣe àròyé. Ó tún sọ fún ọ bóyá o ní láti fọwọ́ kan VPN rárá: orúkọ tí ó yọjú sí àdírẹ́ẹ̀sì aládàáni tíkòtọ́ ti fi ọ̀nà olùyọjú hàn tẹ́lẹ̀, nítorí náà iṣẹ́ tí ó kù wà lórí ọ̀nà dátà.
Pín olùyọjú náà ká láti inú tunnel
Àwọn oníbàárà pín sí ẹgbẹ́ méjì. Ẹgbẹ́ kan ni server lè fún ní olùyọjú nígbà tí a ń ṣètò ìsopọ̀; ẹgbẹ́ kejì ń tọ́jú ètò náà nínú fáìlì àdúgbò tí gateway kankan kò lè yí padà láti ọ̀nà jínjìn.
OpenVPN wà nínú ẹgbẹ́ kìíní. Ní server, push "dhcp-option DNS 10.8.0.53" àti push "dhcp-option DOMAIN corp.example" ń sọ̀ kalẹ̀ gba ọ̀nà ìṣàkóso, ṣùgbọ́n kìkì bí ètò oníbàárà ṣì ti mú pull ṣiṣẹ́. Oníbàárà tí a fi ọwọ́ ṣàtúnṣe tí ó sì gbé pull-filter ignore "dhcp-option" kò ní rí wọn láé, ìlà kan yẹn sì ń ṣàlàyé ọ̀pọ̀lọpọ̀ ọ̀ràn «server ń tì í ṣùgbọ́n laptop mi kò gbà».
WireGuard wà nínú ẹgbẹ́ kejì, nítorí protocol kò ní ìjíròrò àṣàyàn rárá. Olùyọjú àti ìkósọ̀ọ́kà ilẹ̀ ń wọ inú block [Interface] ti oníbàárà fúnra rẹ̀ gẹ́gẹ́ bí DNS = 10.8.0.53, corp.example. wg-quick ń fi èyí ṣiṣẹ́ nípasẹ̀ resolvconf tàbí systemd-resolved, ní Windows sì ni oníbàárà òṣìṣẹ́ ń fi àwọn òfin NRPT sínú tí wọ́n wà nìkan nígbà tí tunnel bá dúró: Get-DnsClientNrptPolicy ń kójọ wọn, èyí sì mú kí ó jẹ́ ọ̀nà kíákíá láti rí bóyá oníbàárà ti lo fáìlì rẹ rí.
IPsec/IKEv2 wà ní àárín. Plugin attr ti strongSwan lè dá server DNS padà tí a mú láti inú àkópọ̀, oníbàárà Windows sì maa ń gbà á, ṣùgbọ́n profile tí ó di server orúkọ tirẹ̀ mú ṣẹ́gun ohunkóhun tí gateway fúnni. Ní oníbàárà Linux, ìgbésẹ̀ ọwọ́ tí ó dọ́gba ni resolvectl dns wg0 10.8.0.53 tí resolvectl domain wg0 '~corp.example' sì tẹ̀le, àwọn méjèèjì ń parẹ́ pẹ̀lú interface, èyí sì ni ohun tí o fẹ́ fún ètò tí ó so mọ́ tunnel.
Dín ìparí orúkọ kù dípò gbígbé ìbéèrè kọ̀ọ̀kan mì
Lílọ gbogbo àkójọ olùyọjú oníbàárà sí server inú ilé rẹ rọrùn, ó sì maa ń jẹ́ àṣìṣe. Nígbà náà gbogbo orúkọ gbogbo ènìyàn yóò yọjú láti inú ọ̀nà àbájáde ilé-iṣẹ́ dátà rẹ, àwọn CDN yóò dá àdírẹ́ẹ̀sì jíjìn padà, ìdágìrì olùyọjú kan yóò sì gbá ìwádìí ayélujára olùmúlò lọ pẹ̀lú.
Fi ìparí orúkọ aládàáni nìkan ránṣẹ́ sínú. Ní systemd-resolved, agbègbè tí ó bẹ̀rẹ̀ pẹ̀lú ~ jẹ́ fún ìtọ́nà nìkan, nítorí náà ~corp.example túmọ̀ sí pé àwọn ìbéèrè lábẹ́ ìparí orúkọ yẹn ń lọ sí àwọn server ti ìsopọ̀ yẹn nígbà tí gbogbo ohun mìíràn ń bá a nìí lo àwọn nẹ́tíwọ́kì gbígbé. Windows ń ṣe bẹ́ẹ̀ pẹ̀lú àwọn òfin NRPT tí a dín mọ́ ààyè orúkọ, macOS sì ń ṣe é pẹ̀lú fáìlì olùyọjú àfikún lábẹ́ /etc/resolver/.
Àwọn orúkọ multicast yẹ fún ìdáhùn tiwọn. Àwọn orúkọ .local jẹ́ link-local nípasẹ̀ àpẹẹrẹ (RFC 6762), interface tun ojú kan sí ojú kan kò sì gbé ẹgbẹ́ multicast yẹn, nítorí náà fífi olùyọjú gbogbo ènìyàn kún kò ní fi wọ́n hàn, bí a bá sì béèrè lọ́wọ́ olùyọjú unicast inú ilé nípa wọn, NXDOMAIN ni yóò dá padà. Olùfọ̀ṣẹ́padà bí avahi nínú ipò ìfọ̀ṣẹ́padà lè so apá méjì pọ̀, ṣùgbọ́n ìyẹn jẹ́ ìpinnu ní ẹ̀gbẹ́ server tí oníbàárà kankan kò lè béèrè. Bí printer tàbí NAS bá ní láti dé nípasẹ̀ orúkọ, fún un ní àkọsílẹ̀ A nínú agbègbè rẹ.
Fi hàn pé ìdáhùn náà lè padà wá
Ìdáhùn tíkòtọ́ tí ó ń tọ́ka sí àdírẹ́ẹ̀sì tí a kò lè dé ń rí bí ìṣòro olùyọjú gan-an títí tí o yóò fi yẹ̀wò ọ̀nà náà. Béèrè lọ́wọ́ kọ́mputa ìpìlẹ̀ ibi tí ìdáhùn náà yóò lọ: ip route get 10.20.5.20 ń dárúkọ interface náà àti, ní ìwúlò púpọ̀, àdírẹ́ẹ̀sì orísun tí yóò lò.
Máa ṣọ́ àdírẹ́ẹ̀sì olùyọjú fúnra rẹ̀. Oníbàárà tí ó ní DNS = 10.8.0.53 lẹ́gbẹ̀ẹ́ AllowedIPs = 10.20.0.0/16 ń fi àwọn ìbéèrè rẹ̀ ránṣẹ́ jáde gba NIC gbígbé, níbi tí wọ́n ti ń kú ní ìdákẹ́jẹ́, nítorí olùyọjú kò sí nínú ìkósọ̀ọ́kàkìkí kankan tí tunnel ń béèrè. Àìbáraẹnisọ̀rọ̀ yẹn ni àṣìṣe ìdí kan tí ó wọ́pọ̀ jù ní gbogbo agbègbè yìí, kò sì hàn àyàfi bí o bá fi ètò DNS wé àwọn ìkósọ̀ọ́kàkìkí tí a gbà láàyè ní ìlà ní ìlà.
Àwọn ìwọ̀n tí wọ́n ń gbàyé ń fa àṣìṣe òdìkejì. Ìdáhùn náà tọ́, ọ̀nà náà wà, ó sì ń tọ́ka sí server tí kò tọ́, nítorí 192.168.0.0/24 nílé dẹ́kun ju ọ̀nà tunnel lọ sí ìwọ̀n kan náà. Tún nọ́mbà ẹ̀gbẹ́ kan ṣe tàbí tì ọ̀nà tóóró, kí o sì jẹ́rìí firewall àti ọ̀nà ìpadà server iṣẹ́ náà; àwọn àkọsílẹ̀ strongSwan nípa gbigbe síwájú ń bo ẹ̀gbẹ́ sysctl ti ọ̀nà yẹn.
Àwọn ìwé-ẹ̀rí jẹ́ àyẹ̀wò ìdánimọ̀ ọ̀tọ̀ tí àwọn ènìyàn ń fi ẹ̀sùn kan DNS. Bí browser bá sọ àìbámu orúkọ dípò àṣìṣe ìyọjú, ìwádìí náà ti ṣiṣẹ́ tẹ́lẹ̀, SAN nínú ìwé-ẹ̀rí náà sì ni ohun tí a ní láti túnṣe. Dán HTTPS wò pẹ̀lú orúkọ náà, kì í ṣe pẹ̀lú IP ìhòòhò.
Dán wò lẹ́ẹ̀kan sí i láti oníbàárà, kì í ṣe láti gateway
Dán wò nínú ohun èlò tí olùmúlò ń ṣàròyé nípa rẹ̀, nítorí ìwádìí orí ìlà pàṣẹ kò fi hàn pé browser ń gba ọ̀nà kan náà. DNS ààbò Chrome àti network.trr.mode Firefox lè forí ọ̀nà olùyọjú ẹ̀rọ náà pátápátá, nígbà tí wọ́n bá ṣe bẹ́ẹ̀, orúkọ aládàáni kan yóò kùnà tàbí yóò ṣẹ̀ jáde sí olùyọjú gbogbo ènìyàn. Fífi resolvectl query wé dig @10.8.0.53 files.corp.example tí a fi ọwọ́ ṣiṣẹ́ yóò sọ fún ọ èwo nínú àwọn méjèèjì ló ṣẹlẹ̀.
Lẹ́yìn náà já ìsopọ̀ kí o sì tún so mọ́ kí o tó pé ó ti tún ṣe. Àwọn ètò tí a fi ọwọ́ gbé sórí interface ń parẹ́ pẹ̀lú interface, profile tí ó sì rí bí ẹni pé ó tọ́ nìkan nítorí àtúnṣe àdúgbò tí a gbàgbé yóò kùnà ní ìgbà ìbẹ̀rẹ̀ tó ń bọ̀.
Àkójọ àyẹ̀wò kúkúrú fún ẹ̀rọ tó ń bọ̀: orúkọ náà ń yọjú gba olùyọjú tunnel, ìparí orúkọ náà ní ààlà dípò kí ó jẹ́ àgbáyé, àdírẹ́ẹ̀sì olùyọjú wà nínú àwọn ìkósọ̀ọ́kàkìkí tí a gbà láàyè, server inú ìdáhùn náà ń dáhùn lórí port iṣẹ́ náà, ìwé-ẹ̀rí sì bo orúkọ tí olùmúlò tẹ.