Gweinydd DNS anghywir yn VPN Windows: metrig, trefn fondio neu ôl-ddodiad
Mae tri mecanwaith Windows yn dewis y datryswr DNS, ac maen nhw’n methu’n wahanol. Penderfynwch yn ôl cwmpas gofod enw, trefn fyd-eang, neu a yw atgyweiriad yn goroesi ailgysylltiad.
Gall cleient Windows fod â thwnnel sy’n gweithio, yn cario’r datryswr corfforaethol, ac yn dal i anfon enwau mewnol at y llwybrydd cartref. Tri mecanwaith gwahanol sy’n penderfynu pa weinydd sy’n ateb, ac maen nhw’n methu mewn ffyrdd gwahanol. Nid oes rhaid trwsio’r tri: mae’r symptom yn dweud wrthych pa un sydd ar waith. Mae’r goeden benderfynu isod yn cymryd ychydig funudau ac yn atal y canlyniad arferol, lle mae newid metrig, aildrefnu’r gofrestr a rheol NRPT yn glanio gyda’i gilydd ac nid oes neb yn gwybod pa un a wnaeth rywbeth.
Tri mecanwaith sy’n penderfynu, ac fel arfer mae un yn anghywir
Mae metrig y rhyngwyneb yn trefnu addaswyr ar gyfer teulu cyfeiriadau penodol. Mae’r drefn fondio o dan Tcpip\Linkage yn rhestr o ddynodwyr rhyngwyneb ar gyfer y peiriant cyfan y mae llwybrau cod hŷn yn dal i ymgynghori â hi. Mae’r Tabl Polisi Datrys Enwau (NRPT) yn clymu gofod enw i weinyddion penodol, ac mae’r rhestr ôl-ddodiadau yn penderfynu a yw enw byr yn cael ei ehangu o gwbl. Maen nhw’n annibynnol, a dyna pam mae datryswr cywir ar yr addasydd VPN yn colli i ffafriaeth hen ffasiwn yn rhywle arall.
| 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 |
Nid oes yr un o’r mecanweithiau hyn yw ochr bellaf y twnnel. Os na all y gweinydd y mae’r VPN yn ei wthio ddatrys yr enw, mae pob gosodiad ar ochr y cleient yn addurn, felly’r penderfyniad cyntaf yw a all y datryswr ei hun ateb pan ofynnir iddo’n uniongyrchol.
Penderfyniad un: a all y datryswr a wthiwyd ateb o gwbl?
Gofynnwch i’r gweinydd yn benodol a chymharwch hynny â chwiliad cyffredin. Mae’r bwlch rhwng yr atebion yn gwahanu problem dewis oddi wrth broblem cyrraedd, a dyma’r fforch gyflymaf yma:
Resolve-DnsName intranet.corp.example -Server 10.20.0.10 -Type A
Resolve-DnsName intranet.corp.example -Type A
Os bydd yr un cyntaf yn llwyddo a’r ail yn methu, mae’r datryswr o fewn cyrraedd ac mae Windows yn dewis yn wael; ewch i’r penderfyniadau gofod enw a threfn isod. Os bydd yr un cyntaf yn methu hefyd, ni fydd unrhyw beth ar y cleient yn helpu: gwiriwch fod UDP a TCP 53 yn cyrraedd y gweinydd drwy’r twnnel, nad oes mur tân lletyol ar y gweinydd yn gollwng y pwll, a bod anfonwyr y gweinydd ei hun yn iach.
Stopiwch yn y fforch hon. Mae cymhwyso rheol NRPT i ddatryswr na allwch gyrraedd yn cynhyrchu’r un methiant gyda mwy o ffurfweddiad i’w ddadwneud, ac mae’n cuddio’r gwir fai y tu ôl i reol sy’n edrych yn awdurdodol.
Penderfyniad dau: un gofod enw, neu bob ymholiad?
Mae cwmpas yn penderfynu’r offeryn. Pan mai dim ond enwau corfforaethol sy’n methu, clymwch y gofod enw yn lle aildrefnu’r peiriant: mae rheol NRPT yn anfon yr ôl-ddodiad hwnnw at ddatryswr y twnnel ac yn gadael popeth arall yn llonydd. Pan fydd pob chwiliad yn cael ei effeithio, y broblem yw ffafriaeth addaswyr fyd-eang, a’r metrig yw’r man i ddechrau oherwydd nid yw’n newid unrhyw osodiad gweinydd.
Gosodwch y metrig fesul teulu cyfeiriadau, ar y ddau ryngwyneb, a chadarnhewch y drefn wedyn:
Get-NetIPInterface | Select-Object ifIndex, InterfaceAlias, AddressFamily, InterfaceMetric
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv4
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv6
Amnewidiwch 11 ag ifIndex addasydd y twnnel o’r llinell uchod; os 11 yw’r addasydd LAN, mae’r un gorchymyn yn gostwng y llwybr anghywir. Mae codi’r addasydd LAN yn cyrraedd yr un drefn o’r ochr arall: netsh int ip set interface interface="Ethernet" metric=15, a netsh int ipv6 set interface interface="Ethernet" metric=15 ar gyfer yr ail deulu, oherwydd mai dim ond IPv4 y mae int ip yn cyffwrdd.
Y drefn fondio yw’r dewis olaf yn hytrach na’r cam cyntaf. Mae HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage yn dal rhestr Bind o ddynodwyr dyfeisiau, ac mae symud dynodwr y twnnel i’r blaen yn wir yn newid pa addasydd a ofynnir gyntaf, ond gwerth cofrestr ar gyfer y peiriant cyfan ydyw heb gwmpas fesul gofod enw. Allforiwch ef cyn golygu, ac ailgysylltwch y twnnel wedyn fel bod y drefn yn berthnasol yn y cyflwr y mae’r cleient yn ei ddisgwyl.
Ar gyfer un gofod enw, dewiswch yr offeryn culaf:
Add-DnsClientNrptRule -Namespace ".corp.example" -NameServers 10.20.0.10
Get-DnsClientNrptRule | Select-Object Namespace, NameServers
Penderfyniad tri: a yw’r atgyweiriad yn goroesi ailgysylltiad?
Nid oedd metrig sy’n gweithio tan yr ailgysylltiad deialu nesaf wedi cael ei gadw erioed. Mae L2TP/IPsec a phroffiliau cysylltu eraill yn cael eu hail-greu pan fydd y cysylltiad yn dechrau, felly mae’r gwerth a gadwyd yn byw yn y cofnod llyfr ffôn fel IpInterfaceMetric, nid yn unig ar y rhyngwyneb byw. Mae rhai amgylcheddau’n sgriptio’r maes hwnnw am yr union reswm hwn; mae eraill yn gwthio’r ffafriaeth o bolisi rheoli ac yn gadael y pen draw’n llonydd.
Mae storfa a chofrestru yn haen ar wahân. Mae rhedeg y rhain ar ôl i’r twnnel godi yn trwsio cofnodion hen ffasiwn ac yn ailgofrestru’r cleient, ond nid yw’r naill na’r llall yn aildrefnu addasydd:
ipconfig /registerdns
ipconfig /flushdns
Mae switsh diffodd yn yr un haen. Mae analluogi cofrestru deinamig ar yr addasydd corfforol yn atal y cleient rhag hysbysebu ei gyfeiriad ochr VPN o dan yr enw anghywir, sy’n atgyweiriad gwahanol i’r adnewyddiad uchod.
Mae IPv6 yn haeddu ei linell ei hun yn y penderfyniad. Os oes gan yr addasydd corfforol gyfeiriad IPv6 byd-eang tra mai dim ond IPv4 y mae’r twnnel yn ei gario, gall Windows ffafrio’r llwybr heb dwnnel ar gyfer datrys enwau. Gwiriwch y teulu hwnnw ar wahân, oherwydd nid yw metrig a osodwyd ar gyfer IPv4 yn dweud dim amdano:
Get-NetIPInterface -AddressFamily IPv6 | Select-Object ifIndex, InterfaceAlias, InterfaceMetric
Mae analluogi IPv6 ar yr addasydd LAN yn tynnu’r llwybr hwnnw a’r protocol gydag ef; mae newid metrig ar y rhyngwyneb IPv6, neu reol NRPT ar gyfer y gofod enw corfforaethol, yn cadw’r teulu ac yn trwsio’r ffafriaeth. Dewiswch yr un culaf oni bai eich bod wedi penderfynu na ddylai’r cyswllt hwnnw fod â IPv6.
Gwiriwch gyda’r ffynhonnell wedi’i henwi, a chadwch un perchennog
Gwiriwch ag offer sy’n adrodd pa ffynhonnell sydd mewn grym, nid yn unig a yw tudalen yn llwytho:
ipconfig /all
Get-DnsClientServerAddress -AddressFamily IPv4
Resolve-DnsName fileserver.corp.example -Server 10.20.0.10 -Type A
Yna gwahanwch hidlo oddi wrth ddewis, oherwydd o fewn cymhwysiad maen nhw’n edrych yn union yr un fath. Mae block-outside-dns OpenVPN yn blocio porth 53 ar addaswyr eraill; nid yw’n dewis datryswr. Os bydd pob ymholiad yn methu nawr, efallai bod hidlydd yn blocio’r unig weinydd y gellir ei gyrraedd; os yw’r datryswr a ffurfweddwyd yn cael ei anwybyddu, mae’r drefn neu’r rheol gofod enw yn anghywir. Mae newid y ddau ar unwaith yn gwneud ymholiad wedi’i flocio ac ymholiad wedi’i anwybyddu yn amhosibl eu gwahaniaethu.
Cadwch un perchennog ar gyfer polisi DNS: y proffil VPN, polisi rheoli, neu reol NRPT, nid dau ohonynt. Cyn i chi gau’r mater:
- Mae’r datryswr a wthiwyd yn ateb pan enwir ef yn benodol, ac mae chwiliad cyffredin yn ei ddefnyddio.
- Mae’r rheol neu’r metrig a newidiwyd gennych yn cwmpasu’r teulu cyfeiriadau sy’n cario’r ymholiadau mewn gwirionedd.
- Mae’r gosodiad yn goroesi datgysylltu ac ailgysylltu, neu rydych wedi’i symud i’r proffil a gadwyd.
- Mae union un mecanwaith yn awdurdodol, a gadawyd y lleill fel yr oeddent.
Triniwch y drefn fel cyflwr amgylcheddol yn hytrach na rhywbeth rydych yn ei orffen. Ail-wiriwch hi ar ôl ailgysylltu ac ar ôl diweddariad Windows sy’n cyffwrdd â’r pentwr rhwydwaith, oherwydd gall y naill neu’r llall roi’r addasydd corfforol yn ôl ar y blaen.