"Ofis trafigi VPN orqali o'tadi" degan split-tunnel eslatmasi bitta qarorni hujjatlashtirgan va yana uchtasini nazarda tutgan. Paket qatlamida marshrutlash jadvali interfeysni manzil manzili bo'yicha tanlaydi; nom qatlamida razreshuvchi serverni so'rov bo'yicha tanlaydi, va bu ikki tanlov mustaqil ravishda amalga oshiriladi. Shuning uchun to'g'ri hujjatlashtirilgan prefiks hali ham ichki nomni ommaviy manzilga hal qiladigan yoki marshrut mukammal ko'rinayotganda hech narsani hal qilmaydigan mashina yaratishi mumkin.

Ikki selektor, bitta ulanish urinishi

Ilova files.corp.example manziliga ulanganda, paket paydo bo'lishidan oldin ikkita qidiruv amalga oshiriladi. Razreshuvchi so'rovni qaysi server olishini qidiruv domenlari, har bir ulanish uchun marshrutlash domenlari yoki aniq profil qoidasi yordamida hal qiladi. Keyin marshrutlash jadvali olingan manzil qayerga ketishini manzil bilan eng uzun prefiks mosligi yordamida hal qiladi.

Bu ikki qarorni hech narsa bog'lamaydi. Shaxsiy zona 10.20.4.11 bilan javob berishi mumkin, marshrutlash jadvali esa 10.20.0.0/16 ni tunnelga yuboradi, va ulanish ishlaydi. Ikkalasidan birini aylantiring, u ikkinchisiga o'xshab ko'rinadigan tarzda muvaffaqiyatsiz bo'ladi: to'g'ri DNS siyosati va yo'q marshrut hal qilingan nom va vaqt tugashini beradi, to'g'ri marshrut va ommaviy razreshuvchi esa toza tarzda noto'g'ri joyga yo'naltiriladigan manzilni beradi.

Bo'lingan ufq DNS buni yanada keskinlashtiradi. Bir xil nom ichki razreshuvchidan shaxsiy manzil va internetga qaragan razreshuvchidan ommaviy manzil qaytarishi mumkin, shuning uchun faqat prefiksni qayd etadigan eslatma mijoz aslida qaysi manzildan foydalanishini bashorat qila olmaydi. Razreshuvchi yo'lini yozing, aks holda manzil taxmin.

Faqat marshrut haqidagi eslatma nimalarni tashlab ketadi

Faqat marshrut haqidagi yozuv split-tunnelning eng keng tarqalgan nosozligi uchun yaroqsiz: nomlar. Foydalanuvchi ichki tarmoq yuklanmayapti deb xabar beradi, tunnel ko'tarilgan va prefiks mavjud. Chiptani olgan kishi qaysi razreshuvchi javob berishi kerakligi haqida yozuvga ega emas, noto'g'ri qidiruv qo'shimchasini bloklangan serverdan ajratish usuliga ega emas va taqqoslash uchun asosiy chiziqqa ega emas.

Ikkinchi tashlab ketish istisnolar ro'yxatidir. Split-tunnel dizayni tunnel tashqarisida qolgan narsa bilan ham, unga kiradigan narsa bilan ham birdek belgilanadi, va chiqarib tashlangan diapazonlar odatda birinchi buziladi, chunki aniqroq mahalliy marshrut yoki mijoz tomonidagi filtr profilga tegmasdan niyatni bekor qilishi mumkin.

Uchinchisi tunnelning uzoq tomonidir. Mijoz marshruti paketni faqat simga qo'yadi; shlyuz uni hali ham uzatishi va qaytish yo'liga ega bo'lishi kerak. strongSwanning uzatish bo'yicha qo'llanmasi shlyuzdagi uzatish va xavfsizlik devori qoidalari funksiyaning qismi ekanini, siz taxmin qilishingiz mumkin bo'lgan santexnika emasligini eslatadi.

Eslatmani bajariladigan qiladigan maydonlar

Har bir oqim uchun bitta qator, oqim esa manzil plus nom plus egadir. Bular haqiqiy hodisa bilan to'qnashuvda omon qoladigan maydonlar:

FieldWhy it has to be written down
Destination prefix and address familyThe route is per family; an IPv4 note says nothing about a AAAA answer
Selected tunnel or direct pathNames the decision, not the symptom
Private namespace and resolverWhich domain, which server, which search suffix
Public name pathConfirms public names do not accidentally use the private resolver
Where the rule livesClient profile, server push, OS policy or management tool
Owner and review dateNamespaces change owner more often than routes change

"Qayerda yashaydi" qatori odamlar o'tkazib yuboradigan qatordir. Server tomonidan itarilgan prefiks, mijoz profili qo'shgan marshrut va shellga yozilgan marshrut ularni kim o'zgartirishi va qayta ulanishda saqlanib qolishi bilan farq qiladi. Bu maydonsiz keyingi injener uchtadan qaysi biriga qarayotganini ayta olmaydi.

Har bir qoida uchun bitta test, har bir tunnel uchun emas

Har bir qator ikkita zararsiz tekshiruvga muhtoj: biri marshrutni mashq qiladi, biri nomni. Marshrut uchun tunneldan o'tishi shart bo'lgan narsani so'rang va yetib borishni emas, yo'lni tasdiqlang, masalan tracert -d 10.20.4.11 Windowsda yoki ip route get 10.20.4.11 Linuxda. Nom uchun shaxsiy nomni so'rang va qaysi server javob berganini qayd eting, eslatmada ko'rsatilgan razreshuvchiga qarshi resolvectl query files.corp.example yoki dig files.corp.example ishlatib.

Salbiy kutishni ham qo'shing: tunnel o'chirilganda nima bo'lishi kerak. VPNsiz bloklash yoqilgan Android yoki iOS qurilmasidagi chiqarib tashlangan ilova umuman ulanishga ega bo'lmasligi mumkin, ish stoli mijozi esa tunnel qayta ulanayotganda o'sha ilovani ishlashda qoldirishi mumkin. Ko'zda tutilgan javobni qayd etish "VPN ilovamni buzdi" degan gapni tekshiriladigan bayonatga aylantiradi.

Yozuvni konfiguratsiya bilan birga saqlang

Eslatmani u tavsiflaydigan profil yonida saqlang va o'sha profil bilan versiyalang. Hech kim yangilamaydigan vikidagi hujjat mish-mish; itarilgan marshrutlar va razreshuvchi siyosati bilan bir xil ombordagi jadvalni o'sha o'zgarishda ko'rib chiqish mumkin.

Biror narsa buzilganda, yana bitta istisno qo'shishdan oldin qo'llanilgan marshrut va amaldagi razreshuvchini yozuv bilan solishtiring. Uchta keng tarqalgan sababdan ikkitasi — eski nom maydoni qoidasi va ilova siyosatidan tashqaridagi yordamchi jarayon — xuddi VPN nosozligidek ko'rinadi va eslatma faqat prefikslarni sanab o'tsa ko'rinmaydi.

Eslatmani tugallangan deb aytishdan oldin, u quyidagilarga yozma javob berishini tasdiqlang: qaysi prefiks, qaysi manzil oilasi uchun; qaysi shaxsiy nom maydoni, qaysi razreshuvchi tomonidan javob berilgan; qaysi nomlar ataylab ommaviy qoladi; har bir qoida qayerda konfiguratsiya qilingan va uning egasi kim; va marshrutni isbotlovchi bitta buyruq hamda nomni isbotlovchi bitta buyruq. Ulardan birortasi yetishmasa, keyingi hodisa noldan diagnostika qilinadi.

O'xshash maqolalar