په Windows VPN کې غلط DNS سرور: متریک، د تړلو ترتیب یا پایښت
د Windows درې میکانېزمونه DNS ریزالور ټاکي، او دوی بېلابېلې نیمګړتیاوې لري۔ د نوم فضا پراخوالی، نړیوال ترتیب، یا دې چې سمون له بیا نښلېدنې وروسته پاتې کېږي که نه، پر بنسټ پرېکړه وکړئ۔
د Windows کلاینت کېدای شي کار کوونکی ټنل ولري، شرکتۍ ریزالور ولېږدوي او سره له دې هم داخلي نومونه کورني روټر ته واستوي۔ کوم سرور ځواب ورکوي دا درې بېلابېل میکانېزمونه ټاکي، او دوی بېلابېلې نیمګړتیاوې لري۔ اړتیا نشته چې درې واړه سم کړئ: نښه تاسو ته وایي کوم یې په لوبه کې دی۔ لاندې پرېکړه ونې څو دقیقې اخلي او هغه عادي پایله منع کوي چې پکې د متریک بدلون، د راجستر بیا ترتیب او د NRPT قاعده یوځای راځي او هیڅوک نه پوهېږي چې کوم یې څه وکړل۔
درې میکانېزمونه پرېکړه کوي، او معمولاً یو یې غلط وي
د انټرفېس متریک د یوې ټاکلې پتې کورنۍ لپاره اډاپټرونه ترتیبوي۔ د Tcpip\Linkage لاندې د تړلو ترتیب د ماشین په کچه د انټرفېس پېژندګلوو لړلیک دی چې زاړه کوډ لارې لا هم ګوري۔ د نوم د حل تګلارې جدول (NRPT) یوه نوم فضا ځانګړو سرورونو سره تړي، او د پایښت لړلیک ټاکي چې لنډ نوم به اصلاً پراخ شي که نه۔ دوی خپلواک دي، نو ځکه د VPN اډاپټر سم ریزالور بل ځای کې زوړ لومړیتوب ته بایلي۔
| 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 |
د دغو میکانېزمونو هیڅ یو د ټنل بله خوا نه ده۔ که هغه سرور چې VPN یې ورته ټېله کوي نوم حل نه شي کولی، د کلاینت خوا هر تنظیم یوازې ښکلا ده، نو لومړۍ پرېکړه دا ده چې آیا ریزالور پخپله، کله چې مستقیم ترې پوښتنه وشي، ځواب ورکولی شي۔
لومړۍ پرېکړه: ایا ټېله شوی ریزالور اصلاً ځواب ورکولی شي؟
له سرور څخه په څرګنده توګه وپوښتئ او له عادي پلټنې سره یې پرتله کړئ۔ د ځوابونو ترمنځ توپیر د ټاکنې ستونزه د رسېدنې ستونزې څخه بېلوي، او دلته تر ټولو ژر څانګه همدا ده:
Resolve-DnsName intranet.corp.example -Server 10.20.0.10 -Type A
Resolve-DnsName intranet.corp.example -Type A
که لومړی بریالی او دویم ناکام شي، ریزالور د رسېدو وړ دی او Windows بد ټاکي؛ لاندې د نوم فضا او ترتیب پرېکړو ته لاړ شئ۔ که لومړی هم ناکام شي، په کلاینت کې هیڅ شی به مرسته ونه کړي: وګورئ چې UDP او TCP 53 د ټنل له لارې سرور ته رسېږي، چې په سرور کې کوم هوسټ فایر وال حوض نه غورځوي، او چې د سرور خپل لېږدوونکي روغ دي۔
په دې څانګه کې ودرېږئ۔ هغه ریزالور ته چې تاسو ورته نه شئ رسېدلی د NRPT قاعده پلي کول هغه نیمګړتیا له زیاتې بېرته اخیستنې وړ ترتیب سره راولي، او ریښتینی خرابي د یوې باوري ښکاره قاعدې تر شا پټوي۔
دویمه پرېکړه: یوه نوم فضا که هرې پوښتنې؟
پراخوالی وسیله ټاکي۔ کله چې یوازې شرکتۍ نومونه ناکام شي، د ماشین بیا ترتیبولو پرځای نوم فضا وتړئ: د NRPT قاعده هغه پایښت د ټنل ریزالور ته لېږي او نور هر څه پرېږدي۔ کله چې هره پلټنه اغېزمنه شي، ستونزه نړیواله اډاپټري لومړیتوب دی، او متریک د پیل ځای دی ځکه چې د سرور هیڅ تنظیم نه بدلوي۔
متریک د هرې پتې کورنۍ لپاره، په دواړو انټرفېسونو کې وټاکئ، او بیا ترتیب تایید کړئ:
Get-NetIPInterface | Select-Object ifIndex, InterfaceAlias, AddressFamily, InterfaceMetric
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv4
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 1 -AddressFamily IPv6
11 د پورتنی کرښې څخه د ټنل اډاپټر ifIndex سره بدل کړئ؛ که 11 د LAN اډاپټر وي، هغه حکم غلط لار ښکته کوي۔ پرځای یې د LAN اډاپټر پورته کول له بلې خوا ورته ترتیب ته رسوي: netsh int ip set interface interface="Ethernet" metric=15، او د دویمې کورنۍ لپاره netsh int ipv6 set interface interface="Ethernet" metric=15، ځکه چې int ip یوازې IPv4 ته لاس ورکوي۔
د تړلو ترتیب لومړی ګام نه بلکې وروستی تدبیر دی۔ HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage د وسایلو پېژندګلوو Bind لړلیک لري، او د ټنل پېژندګلوي مخته وړل واقعاً بدلوي چې کوم اډاپټر لومړی پوښتل کېږي، خو دا د ماشین په کچه د راجستر ارزښت دی پرته له دې چې د هرې نوم فضا لپاره پراخوالی ولري۔ د سمون مخکې یې صادر کړئ او بیا ټنل بیا ونښلوئ، تر څو ترتیب په هغه حالت کې پلي شي چې کلاینت یې تمه لري۔
د یوې نوم فضا لپاره، تنګه وسیله غوره کړئ:
Add-DnsClientNrptRule -Namespace ".corp.example" -NameServers 10.20.0.10
Get-DnsClientNrptRule | Select-Object Namespace, NameServers
درېیمه پرېکړه: ایا سمون له بیا نښلېدو وروسته پاتې کېږي؟
هغه متریک چې تر بلې ډایل-اپ بیا نښلېدنې پورې کار کوي هېڅکله نه و خوندي شوی۔ L2TP/IPsec او نور د نښلېدنې پروفایلونه د نښلېدنې په پیل کې بیا جوړېږي، نو خوندي شوی ارزښت د تلیفون کتابچې په ننوتنه کې د IpInterfaceMetric په توګه ژوند کوي، نه یوازې په ژوندي انټرفېس۔ ځینې چاپېریالونه هغه ساحه په دقیقاً همدې دلیل سکریپټ کوي؛ نور لومړیتوب له مدیریت تګلارې څخه ټېله کوي او پای ټکی پرېږدي۔
کیش او ثبت بېله پوړ دی۔ د ټنل له پورته کېدو وروسته د دوی چلول زاړه ننوتنې سمول او کلاینت بیا ثبتوي، خو هیڅ یو یې اډاپټر بیا ترتیب نه کوي:
ipconfig /registerdns
ipconfig /flushdns
په هماغه پوړ کې یو بندول شتون لري۔ په فزیکي اډاپټر کې د متحرک ثبت بندول کلاینت له دې منع کوي چې خپله د VPN خوا پته په غلط نوم اعلان کړي، او دا له پورتني تازه کولو څخه بېله سمونه ده۔
IPv6 په پرېکړه کې خپله کرښه مستحق دی۔ که فزیکي اډاپټر نړیواله IPv6 پته ولري او ټنل یوازې IPv4 وړي، Windows کېدای شي د نوم حل لپاره بې ټنله لار غوره کړي۔ هغه کورنۍ جلا وګورئ، ځکه چې د IPv4 لپاره ټاکل شوی متریک د هغې په اړه هیڅ نه وایي:
Get-NetIPInterface -AddressFamily IPv6 | Select-Object ifIndex, InterfaceAlias, InterfaceMetric
په LAN اډاپټر کې IPv6 بندول هغه لار او له هغې سره پروتوکول لرې کوي؛ په IPv6 انټرفېس کې د متریک بدلون، یا د شرکتۍ نوم فضا لپاره د NRPT قاعده، کورنۍ ساتي او لومړیتوب سمول کوي۔ تنګه غوره کړئ، پرته له دې چې تاسو پرېکړه کړې وي چې هغه لینک باید IPv6 ونه لري۔
له نومېدلې سرچینې سره تایید کړئ، او یو مالک وساتئ
دې ته چې پاڼه بارېږي که نه یوازې نه، بلکې کومه سرچینه نافذه ده هغه څرګندوونکو وسایلو سره تایید کړئ:
ipconfig /all
Get-DnsClientServerAddress -AddressFamily IPv4
Resolve-DnsName fileserver.corp.example -Server 10.20.0.10 -Type A
بیا فلټرول له ټاکنې څخه بېل کړئ، ځکه چې د اپلیکیشن له داخلې دواړه یو شان ښکاري۔ د OpenVPN block-outside-dns په نورو اډاپټرونو کې پورټ 53 بندوي؛ دا ریزالور نه ټاکي۔ که اوس هره پوښتنه ناکامه شي، کېدای شي یو فلټر یوازینی د رسېدو وړ سرور بندوي؛ که ټاکل شوی ریزالور له پامه غورځول کېږي، ترتیب یا د نوم فضا قاعده غلطه ده۔ دواړه یوځای بدلول بند شوې پوښتنه او له پامه غورځول شوې پوښتنه بېلېدونکې نه کوي۔
د DNS تګلارې لپاره یو مالک وساتئ: د VPN پروفایل، مدیریت تګلاره یا د NRPT قاعده، نه دوه له هغو۔ د بندولو مخکې:
- ټېله شوی ریزالور هغه وخت ځواب ورکوي چې په څرګنده نومول شي، او عادي پلټنه ترې کار اخلي۔
- هغه قاعده یا متریک چې تاسو بدل کړ د هغې پتې کورنۍ پوښي چې واقعاً پوښتنې وړي۔
- تنظیم له قطعېدو او بیا نښلېدنې وروسته پاتې کېږي، یا تاسو هغه خوندي شوي پروفایل ته لېږدولی دی۔
- په دقیق ډول یو میکانېزم واکمن دی، او پاتې نور هغسې پرېښودل شول چې وو۔
ترتیب د پای ته رسولو وړ شی نه، بلکې د چاپېریال حالت په توګه وګورئ۔ له بیا نښلېدنې وروسته او د شبکې سټک ته د لاس ورکوونکي Windows تازه کولو وروسته یې بیا وګورئ، ځکه چې هر یو یې کولای شي فزیکي اډاپټر بیا مخته راوړي۔