Ikkita sog'lom VPN chiqishi, allaqachon ishlab turgan bitta uzoq yuklash va keyingi ulanish boshqa tunnelni ishlatishi sharti. Buni bajarishning ikki yo'li bor va ulardan faqat bittasi ishlab turgan shlyuzda xavfsiz. Standart marshrutni almashtirish yuklashga tegishli paketlar ham, har bir paketni ko'chiradi. Rejalashtirilgan drenaj yangi ulanishlar uchun tanlovni o'zgartiradi va kuzatilgan oqimlarni ular boshlangan yo'lda qoldiradi.

Chiqishni almashtirishning ikki yo'li

Marshrut almashtirish — bitta buyruq va uni bir necha soniyada qaytarish mumkin, shuning uchun hodisalar paytida qo'llaniladi. Shuningdek, u farqlamaydi: mavjud yuklashning paketlari birdan boshqa tunneldan chiqadi, boshqa ommaviy manba manzili va alohida tarjima holati bilan.

Agar uzoq tomon oqimlarni manba manzili bo'yicha kuzatsa, yuklash shunchaki tanilmay qolishi mumkin. Drenaj bundan qaror har bir ulanish uchun bir marta qabul qilinib, saqlanishi bilan qochadi, shu sababli eski yuklash tugaguncha o'z chiqishini saqlaydi. Bu butun mashqning qadri: uzoq tomon izohlashi kerak bo'lgan hech qanday o'zgarishni ko'rmaydi. U allaqachon bilgan ulanishga mos paketlarni qabul qilishda davom etadi.

Narxi — murakkablik: ikkita marshrutlash jadvali, to'g'ri ilgakda ishlaydigan klassifikator va mashinadagi ularni ishlatadigan boshqa hamma narsa bilan muvofiqlashtirilishi kerak bo'lgan belgilar.

Har bir chiqishga o'z jadvalini bering

Har bir chiqish uchun marshrutlash jadvali va ikkita tanlov uchun alohida belgi qiymatlari yoki bitlarini ajrating. Har bir jadvalga nafaqat nom, balki o'z rolida mos marshrutlar kerak va yetishmayotgan holat uchun ataylab muvaffaqiyatsizlik natijasi kerak. Asosiy jadvalga jim tushib qoladigan bo'sh jadval — trafik hech kim tanlamagan chiqishdan shu tarzda chiqadi.

ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102

Har bir jadvalning oxiriga blackhole marshruti qo'shing, shunda moslik topmagan qidiruv siz tanlamagan standartga qochish o'rniga baland ovozda muvaffaqiyatsiz bo'ladi.

Bir marta tanlang, birinchi paketda

Ulanish kuzatuvi paydo bo'lgandan keyin va muhim marshrut qidiruvidan oldin tasniflang. Yangi, tasniflanmagan LAN ulanishi uchun chiqishni tanlang va uni ulanish holatida saqlang. Keyingi paketlarda saqlangan qiymatni siyosat marshrutlash o'qiydigan paket belgisiga tiklang.

Nozik joyi — yangi so'zining ma'nasi. Conntrack javob ko'rilmasidan oldin erta paketlar va qayta yuborishlar uchun hali ham NEW xabar berishi mumkin, shuning uchun faqat shu holatga tayanadigan klassifikator allaqachon qilingan tanlovni qayta yozishi mumkin. Birini belgilashdan oldin ulanish uchun hech qanday chiqish saqlanmaganligini tekshiring.

nftables paket va ulanish belgilarini alohida saqlaydi, va metaaxborot bo'yicha qo'llanma ular orasidagi aniq nusxalashni hujjatlashtiradi. Ulanish belgisi sizning qoidangiz mos keladigan paket belgisiga o'z-o'zidan aylanmaydi, va bu puxta yozilgan klassifikatorning hech qanday ta'siri bo'lmasligining eng keng tarqalgan sababi.

Tiklashni siz nazarda tutgan yo'nalish va trafik bilan cheklang. Internet-chiqish belgisini qaytib keladigan paketlarga qo'llash javoblarni LAN o'rniga chiqish tomonga yuborishi mumkin, va alomat firewall muammosiga o'xshaydigan bir tomonlama ulanishdir. Firewall qoidasiga tegishdan oldin javob yo'lini o'qing, chunki paket marshrutlanmoqda, faqat yuboruvchiga qaytmayapti.

Drenajning to'rt bosqichi

  1. B ni A ga tegmasdan tayyorlang: marshrutlash, yo'naltirish, avtorizatsiya, NAT va qaytish yo'li. Uning jadvali va tanlov siyosatini shlyuzning mavjud konfiguratsiya egasi orqali o'rnating.

  2. Klassifikatorni almashtiring, yangi, tasniflanmagan ulanishlar B ni tanlasin, saqlangan tanlovlar saqlanib qolsin. Atomar nftables tranzaksiyasi eski holatni tozalash kerak bo'lgan oynadan qochadi.

  3. A oqimlari tugaguncha A yoniq tursin. Uning interfeysi, jadvali, uzoq chiqishi va NAT xaritalari hanuz o'sha oqimlarning bir qismi, va NAT qoidasini tahrirlash allaqachon mavjud bog'lanishlarni qayta qurmaydi.

  4. Drenaj sharti bajarilganda A ni iste'moldan chiqaring, bu bir sokin oraliq bilan emas, ulanish holati va ilova xatti-harakati bilan baholanadi.

Drenaj nima va'da qila olmaydi

Brauzer so'rovi yangi transport ulanishi emas; birlashtirish so'rovlarni eski ulanish orqali yuborishda davom etadi. Aksincha, UDP oqimi conntrackdan qarib chiqishi mumkin va keyingi paket yangidan tasniflanadi. Drenaj kuzatilgan oqimlarga ergashadi, ilovaning sessiya haqidagi tasavvuriga emas.

Agar A o'z oqimlari tugamasdan ishdan chiqsa, saqlangan belgi ularni qutqarmaydi. Ular B orqali qayta ulanadi yoki umuman ulanmaydi. Rejalashtirilgan drenaj asl yo'l sog'lom ekan uzluksizlikni sotib oladi; bu mustaqil chiqishlar orasida holat replikatsiyasi emas.

Ikkala yarmini ham tekshiring

O'zgarishdan oldin uzoq muddatli ruxsat etilgan ulanish va keyin haqiqatan yangi ulanishni boshlang. Har biri qaysi tunneldan foydalanishini va uzoq tomon qaysi ommaviy manba manzilini ko'rishini tasdiqlang, so'ng qaytish trafigi qaytishini tekshiring.

Yangi tanlov ko'rinishi uchun conntrack jadvalini bo'shatmang. Bu drenaj saqlashi kerak bo'lgan holatni aynan yo'q qiladi va boshqariladigan migratsiyani toza ko'rinadigan sinov bilan uzilishga aylantiradi.

O'xshash maqolalar