OpenWrt siyosat marshrutlash: mahalliy DNSni ushlovchi zanjir
Mijoz so'rovlari va routerning o'z so'rovlari turli ilgaklar orqali kiradi. preroutingga qaratilgan siyosat har bir LAN so'rovini olib o'tadi va routerni ISP uplinkida qoldiradi.
LAN'dagi mijozlar tunnel orqali hal qiladi, routerning o'z izlanishlari esa jimgina bunday qilmaydi. Paket yangilanishlari, vaqt sinxronizatsiyasi va dinamik DNS barchasi oddiy uplink orqali chiqadi, har bir uzatilgan so'rov esa VPNni oladi, va interfeysda ikki xil yo'l borligini hech narsa bildirmaydi. Tushuntirish siyosatdagi xato emas, balki qaysi ilgak paketni ko'radi degan savol. Ikki oqim, bitta hal qiluvchi manzili, va ulardan faqat bittasi routerni kesib o'tadi. Ularni ajratish butun tuzatish.
Ikki oqim, bitta hal qiluvchi manzili
Birinchi oqim odamlar tasavvur qiladigan oqim. Mijoz routerning hal qiluvchisidan so'raydi, hal qiluvchi yuqoriga uzatadi, va o'sha uzatilgan paket chiqishda routerdan o'tadi. Bu paket uzatilgan trafikni kuzatuvchi har qanday narsaga ko'rinadi.
Ikkinchi oqim hech qachon hech qayerdan kelmaydi. Uni router yaratadi, shuning uchun kiruvchi paket ham, moslashtiriladigan uzatish qadami ham yo'q.
Ikkalasi ham bir xil hal qiluvchi manzilini nishonga olishi mumkin, va aynan shu sababli farqni o'tkazib yuborish oson. Bir xil manzil, boshqa kelib chiqish, boshqa zanjir. Kelib chiqishni ko'rganingizdan keyin diagnostikaning qolgani keladi.
Uzatilgan va mahalliy yaratilgan paketlar turlicha kiradi
Uzatilgan trafik boshqa interfeysdan kelganda baholanadi. Siyosat marshrutlash paketlari buni prerouting zanjiri sifatida ko'rsatadi, va u yerga qo'yilgan qoida routerdan o'tadigan har bir paketni ko'radi. Shu sababli mijoz so'rovlari siyosat ta'riflagandek harakat qiladi, va shu sababli router uni e'tiborsiz qoldiradi. Qoida noto'g'ri emas, u shunchaki router hech qachon yetmaydigan ilgakka bog'langan. Uni ko'chiring, va xuddi shu moslik ishlay boshlaydi.
Mahalliy yaratilgan trafikni routerdagi jarayon yaratadi va u chiqish yo'liga kiradi. Uni routerning o'z qarori marshrutlaydi va siyosat o'sha zanjirni qamrab olgan taqdirdagina siyosatga duch keladi. Moslashtirish uchun kiruvchi interfeys ham, kuzatish uchun uzatish qarori ham yo'q.
Bu paketlar qayerda tug'ilishining xususiyati, biron aniq paketning emas. Bir zanjir uchun yozilgan qoidaning ikkinchisi haqida shunchaki fikri yo'q. Hech qanday qoida sozlash buni o'zgartirmaydi.
Chiqish zanjirini tanlang, so'ng moslikni toraytiring
Tuzatish xuddi shu niyatni chiqish zanjiriga ham bog'lash, yoki routerning o'z so'rovlari muhim bo'lsa qoidani u yerga ko'chirishdir. Siyosat marshrutlash paketi ustida qurilgan OpenWrt sozlamasida bu qoidaning zanjir parametrida prerouting o'rniga output tanlashni bildiradi. Ikkala populyatsiyaga ham qamrov kerak bo'lsa ikkala qoidani ham saqlang.
So'ng qoida nimaga mos kelishini toraytiring. Hal qiluvchi haqiqatda ishlatadigan portdagi manzil hal qiluvchi manzillari, router yaratadigan hamma narsani tunnelga yuborishdan ancha kichik qaror.
Ikkala zanjirni qamrab oluvchi bittasini yozishga urinish o'rniga ikkala qoidani aniq saqlang. Alohida qoidalar osonroq o'qiladi, va disk raskadrovka paytida mijoz trafigiga xalaqit bermasdan router yo'lini o'chirish imkonini beradi. Ular hisoblagichlarni ham birma-bir mazmunli qiladi.
Tunnelning o'z transportini qoidadan tashqarida saqlang
Tunnelning tashqi ulanishini ham router yaratadi. Mahalliy yaratilgan barcha trafikni tunnelga yuboradigan qoida tunnelni o'zi orqali marshrutlaydi, va u umuman ko'tarilmaydi.
Boshqaruv ruxsati ikkinchi qurbon. Routerdan kelib chiqqan ma'muriy sessiyalar yoki ularga javoblar juda keng mahalliy qoida bilan tunnelga tortilib, LANdan yetib bo'lmaydigan bo'lishi mumkin.
Tunnelning oxirgi nuqtasini moslikdan chiqarib tashlang, va qoidani hal qiluvchi manzillari bilan cheklang. Bu DNS talabiga yetadi va u haqda o'ylash uchun yetarlicha kichik.
Bitta emas, ikkala populyatsiyani ham sinang
Router o'z so'rovini qilayotganini kuzating va uni qaysi interfeys olib o'tganini qayd eting. Qidiruvni LAN xostidan takrorlang va u qaysi yo'lni tanlaganini qayd eting. Siyosat qoidalaridagi hisoblagichlar ikkala javobni ham taxmin qilmasdan ko'rinadigan qiladi.
Natijalarni ikkita alohida topilma sifatida ko'ring. Tunnel orqali hal qiladigan mijoz router haqida hech narsa demaydi, va to'g'ri hal qiladigan router boshqa tinglovchidagi mijoz haqida hech narsa demaydi. Ularni o'zgarishlar yozuviga alohida satrlar qilib yozing.
Portni ham tekshiring: manzil port 53 ga mos keladigan qoida 853 dagi DNS over TLS yoki HTTPS oxirgi nuqtasi orqali yetib boriladigan hal qiluvchini o'tkazib yuboradi. Sozlangan upstream haqiqatda ishlatadigan transportga moslang, va sizib chiqish to'g'ri sabab bilan yopiladi.