Bitta adapterdagi ikkita DNS server nom fazolarini bo'lmaydi
Bitta adapterda ikkita hal qiluvchini ro'yxatga olish har bir domenga o'z vakolatini bermaydi. Ikkita cheklangan qoida tuzing, tanlovni sinab ko'ring va aynan o'shalarni olib tashlang.
Bitta adapterda ikkita hal qiluvchini ro'yxatga olish bir domenni bitta serverga, boshqa domenni esa boshqasiga yuborish usulidek ko'rinadi, lekin hal qiluvchilar ro'yxatida hech narsa bunday ishlamaydi. Windows nom bo'yicha hal qiladi va qaysi serverdan so'rash kerakligi haqidagi qaror tartiblangan manzillar ro'yxatidan emas, siyosat obyektlaridan keladi. Almashtirilishi kerak bo'lgan fikrlash modeli — navbat: A domeni uchun birinchi server va B domeni uchun ikkinchi server degan narsa yo'q. Har bir nom fazosi uchun serverlarni aniq nomlaydigan qoidalar to'plami bor va bu qoidalar mavjud bo'lgach, adapter ro'yxati qiziqarli bo'lmay qoladi.
Afsona: ikkita manzil ikkita domenni bo'ladi
Bu ishonch saqlanib qoladi, chunki bitta server hamma narsaga javob berib, ikkinchisi faqat zaxira bo'lganda u tasodifan ishlaydi. Mijoz birinchi serverdan so'raydi, o'sha server yo'naltiradi yoki rekursiya qiladi va javob keladi; hech kim zonani aslida qaysi hal qiluvchi ushlab turganini sezmaydi. Ikki nom fazosi o'zaro yo'naltirishsiz alohida xususiy zonalarda yashay boshlagan paytda illyuziya buziladi, chunki o'shanda birinchi server nom mavjud emasligini vakolat bilan javob beradi. Birinchi serverning salbiy javobi zaxirani ishga tushirmaydi, chunki mijoz muvaffaqiyatsizlik emas, yakuniy javob oldi.
Tartiblangan ro'yxatda domen tushunchasi yo'q, shuning uchun u niyatni ifodalay olmaydi. Ro'yxat aslida qaysi serverdan birinchi so'ralishini va qaysi biri ikkinchi bo'lib sinashini boshqaradi va bu ikkala javob ham har bir nomga teng darajada tegishli.
Windows tanlash uchun aslida nimadan foydalanadi
Nom hal qilish siyosati jadvali nomni sozlangan nom fazolari bilan moslashtiradi va o'sha moslik uchun serverlar va variantlarni tanlaydi. Qoidalar mahalliy sozlanishi, guruh siyosati orqali yetkazilishi yoki VPN profili orqali berilishi mumkin, samarali siyosat esa bitta ro'yxat emas, kombinatsiyadir. Shuning uchun birinchi diagnostika har doim samarali holat: mahalliy yaratilgan qoida boshqariladigan siyosatga yutqazsa, konfiguratsiyasi ko'rsatganidan butunlay boshqacha ishlaydigan laboratoriya paydo bo'ladi. Qoidalar o'ziga xoslik bo'yicha ham moslashtiriladi, shuning uchun keng nom fazosi yozuvi torini sozlangan elementlar ro'yxatida ko'rinmaydigan usullar bilan soyali qilishi mumkin. Samarali tartibni o'qish qaysi qoida yutishini ko'rishning yagona yo'li.
Get-DnsClientNrptRule
Get-DnsClientNrptPolicy -Effective
Birinchi buyruq mashinada nima sozlanganini sanab beradi; ikkinchisi mijoz aslida nima qo'llashini, jumladan boshqa joydan kelgan yozuvlarni ko'rsatadi. Agar samarali chiqishda boshqariladigan nom fazolari bo'lsa, o'zgarishni so'rash uchun to'g'ri joy o'sha siyosatning egasi, mahalliy qoidalar ro'yxati emas. Ikkala buyruq ham faqat holatni o'qiydi, shuning uchun kimdir o'zgarishga rozi bo'lishidan oldin ularni ishga tushirish hech narsaga tushmaydi.
Har bir nom fazosi uchun bitta qoida, obyektni saqlang
Samarali holat tushunilgach, har bir nom fazosi uchun bitta qoida yarating va har bir buyruq qaytaradigan obyektni saqlang. Ko'rsatiladigan nomlar odamlar uchun yorliqlar, qaytarilgan obyektdagi noyob identifikator esa keyinchalik ishonchli o'chirish nishonidir. Ikkala identifikatorni ham nom fazolari va hal qiluvchilarni qayd etuvchi bir xil o'zgarish yozuviga yozing, chunki ularni yaratgan sessiya tozalaydigan sessiya bo'lmaydi.
$svcRule = Add-DnsClientNrptRule -Namespace ".svc.internal.example" -NameServers "10.60.0.53" -DisplayName "VPN lab services" -PassThru
$resRule = Add-DnsClientNrptRule -Namespace ".research.internal.example" -NameServers "10.61.0.53" -DisplayName "VPN lab research" -PassThru
$svcRule | Select-Object Name, Namespace, NameServers
$resRule | Select-Object Name, Namespace, NameServers
Boshlang'ich nuqta qo'shimchaga moslikni bildiradi, shuning uchun qoida app.svc.internal.example va uning ostidagi hamma narsani qamrab oladi. Bu yerdagi ikkita manzil shu laboratoriyaning o'z marshrutlash rejasiga tegishli; qoida zona yaratmaydi, marshrut o'rnatmaydi va oxir-oqibat ulanadigan ilovaga ruxsat bermaydi, va Add-DnsClientNrptRule ma'lumotnomasi qaysi parametr nima qilishini aniq hujjatlashtiradi.
Bu buyruqlar nima qilmasligiga e'tibor bering: ular butun mashinaga tegishli, VPN sessiyasi bilan cheklanmagan, va oyna yopilgandan keyin ham saqlanadi. Buni unutgan laboratoriya tunnel ketgandan keyin siyosat qoldiradi.
Mijoz serverni tanlaganini isbotlang
Muayyan serverdan nomni biladimi deb so'rash o'sha server javob bera olishini isbotlaydi, bu esa mijoz aynan o'sha serverni tanlagan degan da'vo bilan bir xil emas. Muhim sinov haqiqiy nomni mijozning odatiy yo'li orqali hal qiladi va keyin qaysi hal qiluvchi u bilan shug'ullanganini tasdiqlaydi, eng yaxshisi marshrut beruvchi tunnel ishlab turganda. Agar tunnel o'chirilgan bo'lsa, to'g'ri cheklangan qoida ham yetib bo'lmaydigan serverga ishora qiladi va bu siyosat emas, marshrutlash muammosi. Keyinchalik ikkalasini ajratish uchun ikkala holatni ham sinab ko'ring.
Resolve-DnsName app.svc.internal.example
Resolve-DnsName build.research.internal.example
Resolve-DnsName app.svc.internal.example -DnsOnly -NoHostsFile
Qoidalar paydo bo'lishidan oldingi davrdagi keshlangan javoblarga va tizim hal qiluvchisini o'zlarining shifrlangan DNS bilan butunlay chetlab o'tadigan ilovalarga e'tibor bering. Qidiruv qo'shimchalari yana bir alohida xususiyat: qoida to'liq nom uchun hal qiluvchi tanlashi mumkin, lekin Windows ga yalang'och xost nomini o'sha nom fazosiga kengaytirishni o'rgatmaydi.
Yaratganingizni aniq olib tashlang
Tozalash — laboratoriya ibratli voqeaga aylanadigan joy. Mashinadagi har bir qoidani o'chirish tez va boshqa birovga bog'liq siyosatni olib tashlaydi, shuning uchun qoidalar yaratilganda qayd etilgan identifikatorlardan foydalaning va keyin samarali holatni qayta o'qib, mashina boshlagan joyiga qaytganini tasdiqlang. Agar ularni yaratgan sessiya yo'q bo'lsa, o'zgarish yozuvi identifikatorlar mavjud bo'lgan yagona joy. Shuning uchun ular birinchi buyruq ishga tushishidan oldin yoziladi, keyin emas.
Remove-DnsClientNrptRule -Name $svcRule.Name -Force
Remove-DnsClientNrptRule -Name $resRule.Name -Force
Get-DnsClientNrptPolicy -Effective
Laboratoriya emas, joylashtirish uchun xizmat muddati masalasi qoida kabi muhim. VPN profili nom fazosi qoidalarini olib yurishi va ularning ulanishdan keyin qolishini tanlashi mumkin; hal qiluvchi yetib bo'lmaydigan paytda qoladigan qoida mijozlarni o'lik serverni afzal ko'rishga qoldiradi, ulanish bilan cheklangan qoida esa tunnel bilan birga yo'qoladi. Xizmatga shu xatti-harakatlardan qaysi biri kerakligini hal qiling, qoida kimga tegishli ekanini belgilang va vakolat taqsimotini birovning laboratoriya xotirasida emas, profil yonida hujjatlashtirilgan holda qoldiring.