Sáàbù DNS tí kò tọ́ nínú VPN Windows: metric, ìtò ìsopọ̀ tàbí suffix
Àwọn ọ̀nà mẹ́ta Windows ń yan olùyédè DNS, wọ́n sì ń kùnà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀. Pinnu nípa ìwọ̀n ààyè orúkọ, ìtò àgbáyé tàbí bóyá àtúnṣe yóò wà lẹ́yìn ìsopọ̀ kejì.
Windows oníbàárà le ni ọ̀nà abẹ́lẹ̀ tí ó ń ṣiṣẹ́, ó lè gbé olùyédè ìlú-ìṣẹ́, ó sì tún lè fi àwọn orúkọ inú ránṣẹ́ sí ruta ilé. Àwọn ọ̀nà mẹ́ta ọ̀tọ̀ọ̀tọ̀ ni ó ń pinnu irú sáàbù tí yóò dáhùn, wọ́n sì ń kùnà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀. Kò pọn dandan láti tún mẹ́tẹ̀ẹ̀ta náà ṣe: àmì àìsàn náà sọ fún ọ èyí tí ó wà nínú eré. Igi ìpinnu tí ó wà nísàlẹ̀ yìí gba ìṣẹ́jú mélòó kan, ó sì ń dènà àbájáde tí ó wọ́pọ̀, níbi tí àyípadà metric, àtúnṣe ìtòlẹ́sẹẹsẹ registry àti òfin NRPT ti dé papọ̀ tí ẹnikẹ́ni kò sì mọ èyí tí ó ṣe ohunkóhun.
Àwọn ọ̀nà mẹ́ta ń pinnu, ní gbogbogbòò ọ̀kan ni ó yàtọ̀
Metric interface ń tò àwọn adapter fún ẹbí àdírẹ́sì kan pàtó. Ìtò ìsopọ̀ lábẹ́ Tcpip\Linkage jẹ́ àkọsílẹ̀ ti ìpele ẹ̀rọ ti àwọn ìdánimọ̀ interface tí àwọn ọ̀nà kóòdù àtijọ́ ṣì ń wò. Tábìlì Ìlànà Ìyédè Orúkọ (NRPT) so ààyè orúkọ mọ́ àwọn sáàbù pàtó, àkọsílẹ̀ suffix sì ń pinnu bóyá orúkọ kúkúrú yóò gbòòrò rárá. Wọ́n yàtọ̀ sí ara wọn, ìdí nìyẹn tí olùyédè tí ó tọ́ lórí adapter VPN fi ń pàdánù sí àṣàyàn àtijọ́ níbòmíràn.
| What you see | Mechanism to check | First command |
|---|---|---|
| Every name is slow, public names sometimes wrong | Global adapter order: metric, then Linkage | Get-NetIPInterface |
| Internal names resolve to a public address | The query left through the home resolver, not the tunnel | Resolve-DnsName intranet.corp.example -Type A, then the same query with -Server 10.20.0.10 |
| Only corp.example names fail, public names fine | Namespace binding: NRPT or suffix | Get-DnsClientNrptRule |
| Short name fails, fully qualified name works | Suffix list on the adapter, with the corporate suffix ahead of other entries, or pushed by the server | Get-DnsClientGlobalSetting |
| Works, then breaks after a reconnect | Runtime setting that was never persisted | Get-VpnConnection for the stored profile, then Get-NetIPInterface again after a reconnect |
Kò sí ọ̀kan nínú àwọn ọ̀nà wọ̀nyí tí ó jẹ́ ẹ̀gbẹ́ kejì ọ̀nà abẹ́lẹ̀. Bí sáàbù tí VPN ń tì kò bá lè yédè orúkọ náà, gbogbo ètò ní ẹ̀gbẹ́ oníbàárà kìkì ọ̀ṣọ́ ni, nítorí náà ìpinnu àkọ́kọ́ ni bóyá olùyédè fúnra rẹ̀ lè dáhùn nígbà tí a bá béèrè lọ́wọ́ rẹ̀ tààrà.
Ìpinnu kìíní: ṣé olùyédè tí a tì lè dáhùn rárá?
Béèrè lọ́wọ́ sáàbù ní kedere kí o sì fi wé ìwákiri déédéé. Ìyàtọ̀ láàrin àwọn ìdáhùn yẹn ya ìṣòro yíyàn kúrò nínú ìṣòro àràádọ́ta, àti pé níbí ni ẹ̀ka tí ó yára jùlọ:
Resolve-DnsName intranet.corp.example -Server 10.20.0.10 -Type A
Resolve-DnsName intranet.corp.example -Type A
Bí èyí àkọ́kọ́ bá ṣàṣeyọrí tí èkejì sì kùnà, olùyédè náà lè dé, Windows sì ń yàn ní àṣìṣe; lọ sí àwọn ìpinnu ààyè orúkọ àti ìtò tí ó wà nísàlẹ̀. Bí èyí àkọ́kọ́ pẹ̀lú bá kùnà, kò sí ohun tí yóò ràn ọ́ lọ́wọ́ lórí oníbàárà: ṣàyẹ̀wò bóyá UDP àti TCP 53 ń dé sáàbù nípasẹ̀ ọ̀nà abẹ́lẹ̀, bóyá fáíàwọ́ọ̀lì ẹ̀rọ kan lórí sáàbù kò ń fi àkójọpọ̀ náà sọnù, àti bóyá àwọn olùtẹ̀síwájú sáàbù fúnra rẹ̀ wà ní àlàáfíà.
Dúró ní ẹ̀ka yìí. Fífi òfin NRPT sí olùyédè tí o kò lè dé ń mú àbájáde kùnà kan náà wá pẹ̀lú ètò mìíràn tí yóò ní láti yí padà, ó sì ń fi àbùkù gidi náà pamọ́ sẹ́yìn òfin tí ó dà bí ẹni tí ó ní àṣẹ.
Ìpinnu kejì: ààyè orúkọ kan ni tàbí gbogbo ìbéèrè?
Ìwọ̀n ni ó ń pinnu irinṣẹ́. Nígbà tí kìkì àwọn orúkọ ilé-ìṣẹ́ bá ń kùnà, so ààyè orúkọ náà mọ́ dípò títún ẹ̀rọ náà tò; òfin NRPT yóò fi suffix yẹn ránṣẹ́ sí olùyédè ọ̀nà abẹ́lẹ̀, yóò sì fi gbogbo èyí kù sílẹ̀ láìfọwọ́ kàn. Nígbà tí gbogbo ìwákiri bá kan, ìṣòro náà ni àṣàyàn adapter àgbáyé, metric sì ni ibi tí ó yẹ kí o bẹ̀rẹ̀ nítorí pé kò yí ètò sáàbù kankan padà.
Ṣètò metric fún ẹbí àdírẹ́sì kọ̀ọ̀kan, lórí àwọn interface méjèèjì, kí o sì jẹ́rìí ìtò náà lẹ́yìn náà:
Get-NetIPInterface | Select-Object ifIndex, InterfaceAlias, AddressFamily, InterfaceMetric
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv4
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv6
Rọ́pò 11 pẹ̀lú ifIndex adapter ọ̀nà abẹ́lẹ̀ láti ìlà tí ó wà lókè; bí 11 bá jẹ́ adapter LAN, òfin kan náà yóò sọ ọ̀nà tí kò tọ́ kalẹ̀. Gbígbé adapter LAN sókè ní ààlà kejì yóò dé ìtò kan náà láti ẹ̀gbẹ́ kejì: netsh int ip set interface interface="Ethernet" metric=15, àti netsh int ipv6 set interface interface="Ethernet" metric=15 fún ẹbí kejì, nítorí pé int ip kìkì IPv4 ni ó ń fọwọ́ kàn.
Ìtò ìsopọ̀ ni ọ̀nà ìkẹyìn, kì í ṣe ìgbésẹ̀ àkọ́kọ́. HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage ń tọ́jú àkọsílẹ̀ Bind ti àwọn ìdánimọ̀ ẹ̀rọ, gbígbé ìdánimọ̀ ọ̀nà abẹ́lẹ̀ sí iwájú sì ń yí ipa tí adapter tí a béèrè lọ́wọ́ rẹ̀ kọ́kọ́ padà ní tòótọ́, ṣùgbọ́n iye registry ni ní ìpele ẹ̀rọ láìsí ìwọ̀n fún ààyè orúkọ kọ̀ọ̀kan. Ṣe àgbéjáde rẹ̀ kí o tó ṣàtúnṣe, kí o sì tún ọ̀nà abẹ́lẹ̀ so mọ́ lẹ́yìn náà, kí ìtò náà lè ṣiṣẹ́ ní ipò tí oníbàárà ń retí.
Fún ààyè orúkọ kan ṣoṣo, yan irinṣẹ́ tí ó dín jùlọ:
Add-DnsClientNrptRule -Namespace ".corp.example" -NameServers 10.20.0.10
Get-DnsClientNrptRule | Select-Object Namespace, NameServers
Ìpinnu kẹta: ṣé àtúnṣe náà yóò wà lẹ́yìn ìsopọ̀ kejì?
Metric tí ó ń ṣiṣẹ́ títí di ìsopọ̀ dial-up tí ó tẹ̀lé kò ní ìgbà kankan tí a fi pamọ́. L2TP/IPsec àti àwọn profaili ìsopọ̀ mìíràn ni a tún ń dà lẹ́ẹ̀kan si nígbà tí ìsopọ̀ bá bẹ̀rẹ̀, nítorí náà iye tí a fi pamọ́ ń gbé nínú àkọsílẹ̀ ìwé tẹlifóònù gẹ́gẹ́ bí IpInterfaceMetric, kì í ṣe lórí interface tí ó wà ní ìgbà yìí nìkan. Àwọn àyíká kan máa ń fi script kọ pápá yẹn fún ìdí yìí gan-an; àwọn mìíràn ń tì àṣàyàn náà láti ìlànà ìṣàkóso tí wọ́n sì fi ibi ìparí náà sílẹ̀.
Cache àti ìforúkọsílẹ̀ jẹ́ ìpele ọ̀tọ̀. Ṣíṣe àwọn wọ̀nyí lẹ́yìn tí ọ̀nà abẹ́lẹ̀ bá gòkè yóò tún àwọn àkọsílẹ̀ àtijọ́ ṣe, yóò sì forúkọsílẹ̀ oníbàárà lẹ́ẹ̀kan si, ṣùgbọ́n kò sí ọ̀kan tí ó ń tún adapter tò padà:
ipconfig /registerdns
ipconfig /flushdns
Yíyípa swíìṣì kan wà ní ìpele kan náà. Pípa ìforúkọsílẹ̀ alágbèéká lórí adapter ti ara ń dènà oníbàárà láti polongo àdírẹ́sì ẹ̀gbẹ́ VPN rẹ̀ lábẹ́ orúkọ tí kò tọ́, àti pé ìyẹn jẹ́ àtúnṣe tí ó yàtọ̀ sí ìmúgbòòrò tí ó wà lókè.
IPv6 yẹ kí ó ní ìlà tirẹ̀ nínú ìpinnu náà. Bí adapter ti ara bá ní àdírẹ́sì IPv6 àgbáyé nígbà tí ọ̀nà abẹ́lẹ̀ kìkì IPv4 ni ó ń gbé, Windows lè yàn ọ̀nà tí kò gba abẹ́lẹ̀ fún ìyédè orúkọ. Ṣàyẹ̀wò ẹbí yẹn lọ́tọ̀, nítorí pé metric tí a gbé fún IPv4 kò sọ ohunkóhun nípa rẹ̀:
Get-NetIPInterface -AddressFamily IPv6 | Select-Object ifIndex, InterfaceAlias, InterfaceMetric
Pípa IPv6 lórí adapter LAN yóò mú ọ̀nà yẹn kúrò pẹ̀lú protokọ́ọ̀lù rẹ̀; àyípadà metric lórí interface IPv6, tàbí òfin NRPT fún ààyè orúkọ ilé-ìṣẹ́, yóò pa ẹbí mọ́ yóò sì tún àṣàyàn náà ṣe. Yan èyí tí ó dín jùlọ, àyàfi tí o bá ti pinnu pé ìsopọ̀ yẹn kò gbọdọ̀ ní IPv6.
Ṣàyẹ̀wò pẹ̀lú orísun tí a dárúkọ, kí o sì pa olùní kan mọ́
Ṣàyẹ̀wò pẹ̀lú àwọn irinṣẹ́ tí ó ń ròyìn irú orísun tí ó wà lábẹ́ agbára, kì í ṣe bóyá ojú-ìwé kan ń gbé wọlé nìkan:
ipconfig /all
Get-DnsClientServerAddress -AddressFamily IPv4
Resolve-DnsName fileserver.corp.example -Server 10.20.0.10 -Type A
Lẹ́yìn náà ya àyọkúrò kúrò nínú yíyàn, nítorí pé láti inú ètò kan wọ́n dà bí ẹni tí wọ́n jẹ́ ọ̀kan náà. block-outside-dns OpenVPN ń dí ẹnubodè 53 lórí àwọn adapter mìíràn; kò yan olùyédè. Bí gbogbo ìbéèrè bá ń kùnà báyìí, àyọkúrò kan lè máa dí sáàbù kan ṣoṣo tí a lè dé; bí a bá ń fojú fo olùyédè tí a ṣètò, ìtò tàbí òfin ààyè orúkọ náà ni ó yàtọ̀. Yíyí àwọn méjèèjì padà papọ̀ yóò mú ìbéèrè tí a dí àti ìbéèrè tí a fojú fò kù láìlè yà sọ́tọ̀.
Pa olùní kan mọ́ fún ìlànà DNS: profaili VPN, ìlànà ìṣàkóso tàbí òfin NRPT, kì í ṣe méjì nínú wọn. Kí o tó parí rẹ̀:
- Olùyédè tí a tì yóò dáhùn nígbà tí a bá dárúkọ rẹ̀ ní kedere, ìwákiri déédéé sì ń lò ó.
- Òfin tàbí metric tí o yí padà ń bo ẹbí àdírẹ́sì tí ó ń gbé àwọn ìbéèrè ní tòótọ́.
- Ètò náà yóò wà lẹ́yìn ìyàya àti ìsopọ̀ kejì, tàbí o ti gbé e sínú profaili tí a fi pamọ́.
- Ọ̀nà kan pàtó ni ó ní àṣẹ, àwọn mìíràn sì wà bí wọ́n ti rí.
Wo ìtò náà gẹ́gẹ́ bí ipò àyíká, kì í ṣe ohun tí a ń parí. Tún ṣàyẹ̀wò rẹ̀ lẹ́yìn ìsopọ̀ kejì àti lẹ́yìn ìmúdójúìwọ̀n Windows tí ó fọwọ́ kan àkójọpọ̀ nẹ́tíwọ́kì, nítorí pé èyíkéyìí nínú àwọn méjèèjì lè mú adapter ti ara padà sí iwájú.