Windows VPN adapterida PowerShell yordamida DNS o'rnatish va keyin tekshirish
Windows tunnel DNS'ini VPN profiliga emas, adapterga bog'laydi. Ulanganingizdan keyin PowerShell'da o'rnating, so'ng qayta ulanish uni saqlab qolishini sinab ko'ring.
Windows VPN ulanishi DNS serverlarini Sozlamalarda tahrirlaydigan profilingizda saqlamaydi. Tunnel ko'tarilganda, mijoz IP konfiguratsiyasini shlyuz bilan kelishadi, shlyuz rezolverlar ro'yxatini yuboradi va Windows uni tunnel adapteriga qo'llaydi. Bu adapter Wi-Fi yoki Ethernetdan alohida interfeys bo'lib, ro'yxat interfeysga tegishli, profilga emas. Qiymat qaysi obyektga tegishli ekanini bilganingizdan keyin uni PowerShell'da qayta yozish bitta buyruq; qayta yozish qayta ulanishdan omon qolishini ta'minlash esa qaror talab qiladigan qismdir.
Manzil qaysi obyektga tegishli
RAS tunnel adapterini ulanish muvaffaqiyatli bo'lganda yaratadi va ulanish uzilganda olib tashlaydi. ipconfig /all chiqishida ko'radigan DNS serverlari o'sha konfiguratsiya almashinuvi davomida, IPv4 va IPv6 manzillari hamda marshrutlar yonida keladi. Qiymat interfeysga bog'langanligi sababli, Set-DnsClientServerAddress faqat ulanish mavjud bo'lgandagina mavjud bo'lgan narsaga yozadi.
Ana shu bir fakt VPN DNS atrofidagi chalkashlikning ko'p qismini tushuntiradi. Profilni uzilgan holatda ko'rish mumkin, lekin ko'rsatadigan interfeys yo'q, shuning uchun cmdletni VPN taxallusiga qarshi chaqiradigan kirish skripti hech kim ulanmasdan turib muvaffaqiyatsiz bo'ladi. Bu shuningdek qaytarilgandek ko'rinadigan o'zgarishni ham tushuntiradi: hech narsa qaytarilmadi, interfeys yo'q qilindi va shlyuz yuborgan qiymatlar bilan qayta qurildi.
DNS'ga tegishdan oldin taxallusni toping
Profil nomi va interfeys taxallusi odatda bir xil satr, lekin ular bir xil obyekt emas. Get-VpnConnection profillarni sanaydi; Get-NetAdapter Windows haqiqatan ega bo'lgan interfeyslarni sanaydi. DNS cmdletlari ikkinchisini xohlaydi va bu ikkisi odamlar kutganidan tez-tez ajralib ketadi, ayniqsa mijoz adapter nomiga "(RAS)" kabi tavsif qo'shganda.
Agar profil mavjud bo'lmasa, PowerShell mahalliy yozuv yaratishi mumkin. Tunnel turi va autentifikatsiya shlyuz taklif qilgan narsaga mos kelishi kerak, chunki nomuvofiqlik yaratish paytida emas, ulanish paytida namoyon bo'ladi:
Add-VpnConnection -Name "Corporate" -ServerAddress vpn.example.net `
-TunnelType Ikev2 -EncryptionLevel Required `
-AuthenticationMethod Eap -AllUserConnection
Bir marta ulanib, keyin har qanday DNS buyrug'ini yozishdan oldin haqiqiy taxallusni o'qing:
rasdial.exe "Corporate"
Get-NetAdapter | Where-Object InterfaceDescription -like "*VPN*"
Get-DnsClientServerAddress -InterfaceAlias "Corporate"
Qayta yozishni to'g'ri tartibda qo'llang
Tartib sintaksisdan muhimroq. Adapter yoqilgan bo'lishi, taxallus hal qilinishi va hisob interfeys sozlamalarini o'zgartirishga ruxsatga ega bo'lishi kerak. Har bir foydalanuvchi ulanishi odatda kirgan foydalanuvchining o'zgarishini qabul qiladi; -AllUserConnection bilan yaratilgan barcha foydalanuvchilar ulanishi odatda imtiyozli shell talab qiladi.
Cmdletning o'zi bitta satr bo'lib, Microsoft'ning Set-DnsClientServerAddress ma'lumotnomasida hujjatlashtirilgan:
Set-DnsClientServerAddress -InterfaceAlias "Corporate" -ServerAddresses 10.20.0.53,10.20.0.54
Get-DnsClientServerAddress -InterfaceAlias "Corporate" -AddressFamily IPv4
Ikki nosozlik holatini bir qarashda tanib olishga arziydi. Noto'g'ri taxallus cmdletdan xato chiqaradi va bu yaxshi natija, chunki sukunat yomonroq bo'lardi. Ko'rinadigan ta'sirsiz to'g'ri cmdlet odatda noto'g'ri adapterga qarab turganingizni bildiradi: boshqa mijozdan qolgan tunnel adapteri, tavsifi o'xshash jismoniy tarmoq kartasi yoki izolyatsiyalangan muhitdagi tarmoq vositasi yaratgan ikkinchi virtual adapter.
Nima uchun qayta ulanish o'zgarishni bekor qilishi mumkin
Qayta yozish interfeysning bitta nusxasiga tegishli. Mijoz adapterni buzib, keyingi ulanishda qayta qurganda, yuborilgan qiymatlar yana qo'llanadi va ro'yxatingiz yo'qoladi. Ba'zi mijozlar interfeysni har ulanishda yangidan yaratadi; boshqalari uni sessiya davomida qayta ishlatadi. Get-NetAdapter dagi interfeys indeksini ikki ulanish o'rtasida taqqoslang va qaysi xatti-harakatga ega ekaningizni bilib olasiz.
Uchta barqaror javob bor va ularni ustma-ust qo'yish o'z xatolarini keltirib chiqaradi. Ulanishga xos DNS suffiksi va NRPT qoidasi faqat ichki nomlar maydonini ichki rezolverga yuboradi va ommaviy nomlarni tinch qoldiradi. VPN ulanishiga qo'llanilgan Group Policy yoki MDM sozlamasi DNS'ni ulanish paytida hech qanday skriptsiz o'rnatadi. Ulanish hodisasiga javob beradigan va cmdletni qayta ishga tushiradigan rejalashtirilgan vazifa qo'pol variant, lekin u ishlaydi va jurnal qoldiradi. DNS uchun bitta egasini tanlang va qaysi biri ekanini yozib qo'ying.
Bitta yorliqli ichki nomlar ham suffiks qidiruv ro'yxatini talab qiladi. Set-DnsClientGlobalSetting -SuffixSearchList butun mashinaga tegishli, shuning uchun kompyuterdagi har bir adapter, jumladan Ethernet uchun ham hal qilishni o'zgartiradi. Tasvirga kirishdan oldin laboratoriya mashinasida sinab ko'ring.
Faqat sozlamani emas, hal qilishni ham tekshiring
Adapterda sanab o'tilgan rezolver faqat qiymat yozilganini isbotlaydi. Mo'ljallangan serverdan to'g'ridan-to'g'ri so'rang, so'ng odatiy yo'l orqali so'rang:
Resolve-DnsName server01.corp.example -Server 10.20.0.53
Resolve-DnsName server01.corp.example
Bo'linish xato qayerda ekanini aytadi. To'g'ridan-to'g'ri so'rov javob beradi va oddiy so'rov muvaffaqiyatsiz bo'ladi: adapter sozlamasi yoki suffiks ro'yxati kuchda emas. Ikkalasi ham muvaffaqiyatsiz: rezolver tunnel orqali yetib bo'lmaydi, shuning uchun DNS'ga yana tegishdan oldin marshrutlar va xavfsizlik devori qoidalarini ko'rib chiqing. To'g'ridan-to'g'ri so'rov muvaffaqiyatsiz bo'lib, oddiy so'rov boshqa joydan javob beradi: bo'lingan DNS noto'g'ri sozlangan va ichki nomga ommaviy rezolver javob bermoqda, bu ulanish muammosidan oldin siyosat muammosidir.
Testni ikki marta ishga tushiring, biri ulangandan so'ng darhol, ikkinchisi uzib qayta ulangandan keyin va ikkala ishga tushirishdagi Get-DnsClientServerAddress chiqishini taqqoslang. Yuborilgan qiymat ikkinchi ulanishda qaytgan bo'lsa, qayta yozish adapter bilan birga yashab o'ldi va faqat oldingi bo'limdagi NRPT yoki siyosat marshruti bardosh beradi. Ikkala transkriptni va ulanish vaqt belgilarini saqlang; ular saqlanib qoladimi degan savolni yana bir tuzatish davrasidan tezroq hal qiladi.