Bir vaqtda ishlayotgan ikki VPN mijozi ichma-ich tunnel hosil qilmaydi; ular ikki tunnel va marshrutlash bo'yicha tortishuv hosil qiladi. Ichma-ich tunnel ichki mijozning o'z serveriga ulanishini tashqi tunnelning o'zi olib o'tganda mavjud bo'ladi va bu ataylab quriladigan tuzilma. To'g'ri bo'lsa, ichki server tashqi serverning manzilini ko'radi; noto'g'ri bo'lsa, bir mijoz jimgina ikkinchisining atrofidan qayta ulanadi. Ichma-ichlik haqiqiy yoki tasodifiy ekanini uch shart hal qiladi.

Ichma-ichlikni uch shart hal qiladi

Birinchisi — qaysi oxirgi nuqtaga qaysi yo'l kerakligi. Ichki serverning manzilini ayting, tashqi serverning manzilini ayting va ichki serverga faqat tashqi tunnel orqali yetish mumkinligini aniq bildiring. Qolgani shu gapdan kelib chiqadi, qaysi marshrutlar qaysi jadvalga tegishli ekani ham.

Ikkinchisi — har bir qatlamda yo'lni ko'ra olasizmi. Muayyan manzil qaysi marshrutni ishlatishini yadrodan so'ray olmasangiz, zanjirni yakuniy chiqish IP-dan chiqarasiz, va bu ichma-ichlikni tasodifdan ajrata olmaydigan dalil.

Uchinchisi — tashqi tunnel yiqilganda nima bo'ladi. Ichki tunnel u bilan to'xtashi, oddiy tarmoq orqali qayta ulanishi yoki tashqi yo'l qaytgunicha bloklangan qolishi mumkin, va uchtasi ham himoya qilinadigan siyosatlar. Ular bir xil siyosat emas, ko'pchilik mijozlarning standart xatti-harakati esa ikkinchisi. Oxirgi nuqtasini fizik tarmoq orqali qayta ulaydigan va shu bilan birga sog'lom ulanish ko'rsatadigan mijoz — o'ylangan zanjirning jimgina ikki aloqasiz tunnelga aylanishining eng keng tarqalgan yo'li.

Birinchi shart: qaysi oxirgi nuqtaga qaysi yo'l kerak

ip route get 203.0.113.10 bu savolga to'g'ridan-to'g'ri javob beradi: marshrutni, manba manzilni va yadro hozir shu manzil uchun ishlatadigan interfeysni chop etadi.

Ichki mijoz ishga tushishidan oldin ichki server uchun, so'ng yana bir marta ishga tushiring va solishtiring. Javob fizik interfeysdan tashqi tunnel interfeysiga o'zgarsa, ichma-ichlik o'sha paytda haqiqiy. O'zgarmasa, ichki mijoz to'g'ridan-to'g'ri ulanmoqda, panel nima desa ham. Tashqi serverning manzili uchun takrorlang; u manzil hali ham fizik interfeys orqali hal qilinishi kerak, chunki ikkala oxirgi nuqtani rekursiv qamrab oluvchi marshrut mashinani tarmoqdan butunlay uzib qo'yadigan nosozlik.

Ikkinchi shart: har bir qatlamdagi yo'lni tekshiring

Marshrut tanlash zamonaviy mijozda asosiy jadvaldan ko'proq narsa. Siyosat qoidalari belgilangan paketlarni boshqa jadvalga yuborishi mumkin, mijoz o'z soketini interfeysga bog'lashi mumkin, konteyner yoki nomlar maydoni esa o'z jadvallariga ega. ip rule va ip route show table all shu mexanizmlardan qaysi biri ishda ekanini topish yo'li.

O'z soketiga SO_MARK qo'yadigan yoki ma'lum qurilmaga bog'lanish uchun sozlangan mijoz siz tuzatdim deb o'ylagan standart marshrutni chetlab o'tadi. Bu xususiyat, xato emas, va yagona ishonchli tekshiruv mijoz bilan bir xil nomlar maydonida ishlaydigan tekshiruv ekanini bildiradi. Mijozlar konteynerlarda ishlasa, tekshiruvlarni xostda emas, o'sha konteynerlarda bajaring.

Uchinchi shart: tashqi tunnel yiqilganda nima bo'ladi

Nosozlikdagi xatti-harakat qaror talab qiladi, standart qiymat emas. Tashqi tunnel yo'qolganda ichki tunnelga nima bo'lishi kerakligini yozing, so'ng mijozlarni shunday qilishga majbur qiling.

Variantlar aniq. Tashqi yo'l yo'qolganda ichki mijozni to'xtatish toza zanjir va aniq uzilish beradi. Unga to'g'ridan-to'g'ri qayta ulanishga ruxsat berish mavjudlik beradi va zanjir qurilgan xususiyatni jimgina olib tashlaydi. Tashqi yo'l qaytgunicha bloklash eng qat'iy va ishlatishda eng zerikarli variant, chunki tashqi tunnelning har bir tebranishi ko'rinadigan hodisaga aylanadi.

Uchovini ham zararsiz trafik va ataylab tashqi tunnel nosozligi bilan sinab ko'ring, chunki konfiguratsiyani o'qish qaysi biri borligini aytmaydi. Tashqi tunnelni o'ldiring, ichki mijoz nima qilayotganini kuzating va u yiqilgan paytda marshrutni yana tekshiring. So'ng tashqi tunnelni qaytaring va zanjir qayta shakllanganini tasdiqlang; ichki mijozni shu orada tanlagan to'g'ridan-to'g'ri yo'lda qoldirmasin.

Zanjir sizga bermaydigan narsa

Qo'shimcha qatlamlar oxirgi nuqtalar, kalitlar va nosozlik rejimlarini qo'shadi; ular hech qanday anonimlik kafolatini qo'shmaydi va tashqi operatorning tunnel borligini ko'rishiga to'sqinlik qilmaydi. Ichma-ichlik nimadan himoya qilishi haqidagi har qanday da'vo qaysi kuzatuvchidan himoya qilishini nomlashi kerak.

Natija — ishlaydigan ulanish emas, qisqa hujjat: qaysi oxirgi nuqta qaysi yo'lni ishlatadi, tashqi nosozlikda nima bo'ladi va joriy holatni ko'rsatadigan uch buyruq. strongSwan-ning yo'naltirish bo'yicha hujjatlari tunnel trafigining Linux xostida interfeyslar orasida qanday yo'naltirilishi haqida foydali manba. Har bir mijoz yangilanishidan keyin tekshiruvlarni qayta ishga tushiring, chunki zanjiringizni yaratgan standart qiymatlar shartnoma emas. Tekshira olmaydigan ichma-ich tunnelingiz — holat chirog'i bor mish-mish.

O'xshash maqolalar