Kill switch tunnelni yiqitganda DNS yo‘lini ham birga olib ketadi, va ortda qolgan resolver siz kutgan narsa bo‘lavermaydi. Ikki dizayn bu lahzaga juda boshqacha yondashadi: tunnel ichida bo‘lmagan har bir DNS paketini bloklash yoki bitta resolverni istisno sifatida qoldirish. Ikkalasi ham oqlanadi. Brauzer ilovasidan alomatlar deyarli bir xil ko‘rinadi, shuning uchun birinchi vazifa — aslida qaysi dizaynni joriy qilganingizni aniqlash.

Bu farqni ko‘z oldimda saqlayman, chunki tuzatish har holatda qarama-qarshi. Bir dizaynga kengroq istisno kerak, ikkinchisiga torroq. Taxmin qilish sizga yo maxfiylikni, yo yarim kunni qimmatga tushiradi.

Bir xil nosozlik uchun ikki DNS dizayni

A dizayni resolverni tunnel ortidagi oddiy xizmat deb biladi. Firewall qoidalari UDP va TCP 53 ga faqat tunnel interfeysida ruxsat beradi, mijozga beriladigan manzil esa tunnel ichidagi resolverdir. Tunnel yiqilganda qidiruvlar to‘xtaydi, va bu nosozlik emas, ko‘zlangan natija.

B dizayni mahalliy tarmoqda resolverni yetib borishli qilib saqlaydi, odatda 192.168.1.1 dagi router yoki 127.0.0.53 dagi operatsion tizim stubi, nomlarni hal qilish tunnel bilan birga o‘lmasligi kerak degan asosda. Uy LAN tarmog‘ida bu qulay, u yerda router butun uy uchun hal qiladi. Mehmonxona yoki aeroport Wi-Fi tarmog‘ida xuddi shu istisno boshqa birovning serveriga ishora qiladi va siz yozgan har bir nom oshkor bo‘ladi, veb-trafikingiz bloklangan bo‘lib tursa ham.

Chegara — resolver kimniki ekanida. Mahalliyiga ishonsangiz, istisno kichik va halol teshik. Ishonsangiz emas, faqat-tunnel dizayni yagona bardosh beradi, va narx shundaki, yiqilgan tunnel barcha nomlarni birga olib ketadi.

Nega VPN mijozining o‘z qidiruvi hali ishlaydi

Mijoz tunnel paydo bo‘lishidan oldin shlyuz xost nomini hal qilishi kerak, shuning uchun qat’iy blok mijozning yuklanish yo‘lini qoplamasligi lozim. Aksariyat mijozlar yoki endpoint manzilini keshlaydi, yoki aynan o‘sha bitta xost uchun hujjatlashtirilgan yuklanish istisnosini beradi. Agar qoidalar to‘plamingiz o‘sha qidiruvni bloklasa, tunnel hech qachon qaytmaydi va jurnallar o‘z serveriga yeta olmaydigan mijozni ko‘rsatadi; bu DNS emas, siyosat nuqsoni.

Bo‘lingan DNS — bu ko‘rinadigan ikkinchi joy. Mijoz ichki zonani xususiy resolverga suradi, qolganini tizim resolveriga qoldiradi. Yiqilgandan keyin ommaviy nomlar hali hal bo‘lishi mumkin, ichki nomlar esa vaqt tugab muvaffaqiyatsiz bo‘ladi, chunki xususiy zonada endi yo‘l qolmagan. Foydalanuvchi uchun bu "VPN internetni buzdi"; resolver jurnali uchun bu hech qachon yetib kelmagan so‘rov.

systemd-resolved ostida bo‘linishni bevosita ko‘rasiz. resolvectl status har bir bog‘lanishning DNS serverlarini va marshrutlash domenlarini sanaydi, tunnel tushgandan keyin ichki domen endi mavjud bo‘lmagan bog‘lanishdagi serverga ishora qilishda davom etadi. 127.0.0.53 dagi stub so‘rovni hali qabul qiladi, so‘ng javob bermaydigan yuqori oqimni kutadi, shuning uchun nosozlik darhol qaytish o‘rniga bir necha soniya oladi.

Shifrlangan DNS paket filtrini chetlab o‘tmaydi

DNS over HTTPS va DNS over TLS 443 va 853 portlarida yuradi, shuning uchun 53-portni bloklaydigan qoida ular haqida hech narsa demagan. "DNS"ni port bo‘yicha bloklash port haqidagi siyosat, nomlarni hal qilish haqida emas. Agar kill switch tunnelingiz tashqarisidagi barcha trafikni bloklasa, DoH tasodifan qoplanadi. Captive portal yoki ommaviy resolver uchun ruxsat ajratgan bo‘lsangiz, qoplanmaydi.

Mijoz tomonidagi boshqaruv arzonroq dastak. Firefox kanareyka nomi use-application-dns.net hal bo‘lmaganda o‘z DoH resolveridan voz kechadi, shuning uchun boshqariladigan tarmoqlar o‘sha domenni NXDOMAIN sifatida e’lon qiladi; korporativ siyosat uni o‘chirilgan holda qotirib qo‘yishi ham mumkin. Android Private DNS va Chrome’ning xavfsiz DNS’ida o‘z kalitlari va o‘z standart qiymatlari bor. Ularni o‘chirish resolver manzillarini quvishdan ishonchliroq, chunki manzillar ro‘yxati o‘zgaradi, qoidalar to‘plamingiz esa o‘zgarmaydi.

Buning oqish bilan umuman aloqasi bo‘lmagan varianti ham bor. Qotirilgan resolverli ilova unga yetib borish uchun baribir tarmoq yo‘lini talab qiladi. Shifrlash so‘rovni kim o‘qiy olishini o‘zgartiradi, paket mashinadan chiqa olishini emas, shuning uchun butun qurilma uchun blok sozlamaga tegmasdan uni yengadi.

Alomatni qatlam bilan moslang

Ko‘p hisobotlar bitta gap bo‘lib keladi, va o‘sha gap odatda qatlamni allaqachon nomlaydi. Quyidagi jadval — qoidaga tegishdan oldin ko‘zdan kechiradigan narsam; maqsad so‘rov bloklandimi, noto‘g‘ri yo‘naltirildimi yoki umuman yuborilmadimi — shuni hal qilish.

SymptomLikely layerFirst check
Every name fails at once, instantlyResolver answering with a refusalQuery the resolver by address, not by name
Lookups hang for seconds, then time outPackets dropped with no responseWatch port 53 on the physical link
Public names resolve, internal ones do notSplit-DNS routing domainPer-link DNS servers on the tunnel
Names resolve, the page still failsNot DNS: routing or MTUConnect to the IP directly
Only one application failsPinned resolver or cached answerCheck that app's DNS setting

Birinchi ikki satr — odamlar noto‘g‘ri tashxis qo‘yadigan joylar. Jim yiqilish ham, rad etish ham brauzerda bir xil "DNS buzildi" bo‘lib ko‘rinadi, lekin ulardan faqat bittasi kill switch o‘z ishini qilayotganini bildiradi. Rad etish biror narsa javob berganini bildiradi, demak blok siz o‘ylagan joyda emas.

Resolver siyosatini tiklang, so‘ng isbotlang

Dizaynni tuzating, alomatni emas. Faqat tunnel ichida hal qilish uchun tunnel interfeysida 53 ga ruxsat bering, ichki resolverni tunnel konfiguratsiyasi bilan birga yuboring va jismoniy bog‘lanishni hech qanday DNS ruxsatisiz qoldiring. wg-quick’da resolverni interfeys konfiguratsiyasiga yozadigan satr DNS = shu, shuning uchun uni tashlab ketgan tunnel eski resolverni joyida qoldiradi va har bir so‘rov noto‘g‘ri yo‘ldan ketadi. wg-quick qo‘llanmasi bu xatti-harakatni har bir platforma uchun hujjatlashtiradi.

So‘ng shu tartibda tekshiring. Linux’da resolvectl status faol bog‘lanishni ko‘rsatadi, dig +short example.com ommaviy nomni sinaydi, dig @10.8.0.1 internal.example.com xususiyni sinaydi, va sudo tcpdump -ni any port 53 ikkalasini ishga tushirganingizda paketlar qaysi interfeysdan o‘tishini ko‘rsatadi. Windows’da Get-DnsClientServerAddress -AddressFamily IPv4 va Resolve-DnsName example.com xuddi shu ikki faktni beradi: kim sozlangan va kim javob beradi.

Salbiy test bilan yakunlang. Tunnelni uzing, yangi ommaviy nom muvaffaqiyatsiz bo‘lishini tasdiqlang, xususiy nom muvaffaqiyatsiz bo‘lishini tasdiqlang va 53-portning birorta paketi jismoniy adapterdan chiqmaganini tasdiqlang. Faqat keshlangan javoblar uchun bardosh beradigan blok umuman bardosh bermaydi.

Chiptani yopishdan oldingi nazorat ro‘yxati:

  • Nosozlik paytida ishlatilgan resolver — siyosat ko‘zlagan o‘sha.
  • Mijozning o‘z endpoint qidiruvi kesh yoki istisno orqali hali ruxsat etilgan.
  • DoH va DoT yo blok bilan qoplangan, yo siyosat bilan o‘chirilgan.
  • Tunnel ketgach xususiy zonalar ochiq emas, yopiq holatda muvaffaqiyatsiz bo‘ladi.

O'xshash maqolalar