Yuqori oqim VPN orqasidagi quyi oqim mijozlari: marshrut yoki NAT?
Yuqori oqim VPN faqat mijoz manzilini biladi, shuning uchun boshqa subnetni uzatish kelishilgan marshrut yoki ataylab manba tarjimasini talab qiladi.
Bitta shlyuz o‘z qurilmalaringiz uchun WireGuard va boshqa birovning tarmog‘iga OpenVPN mijozini ishga tushiradi. Ikki ichki interfeys o‘rtasida uzatish ishlaydi, va quyi oqim subneti endi yuqori oqim xizmatining qismi degan xulosaga kelish oson. Unday emas. Mijoz tortgan marshrut shlyuzingizga so‘rovlarni qayerga yuborishni aytadi; uzoq tarmoq hech qachon eshitmagan qurilmalarga trafikni qanday qaytarishi haqida hech narsa aytmaydi. Bitta ham qoida qo‘shishdan oldin yuqori oqim haqiqatan qo‘llab-quvvatlaydigan qaytarish modelini tanlang.
Marshrutlashga tegishdan oldin qaytarish modelini hal qiling
Bu qo‘llanmada quyi oqim mijozlari 10.90.0.0/24 dan foydalanadi, shlyuzga berilgan yuqori oqim tunnel manzili 10.80.0.6, tasdiqlangan uzoq resurs esa 172.20.0.30. Bu shaklga ikki model mos keladi: quyi oqim manbasini saqlab, uzoq tomonni uni marshrutlashga majburlash yoki manbani shlyuzning o‘z tunnel manziliga tarjima qilish. Bu qarordan keyingi hamma narsa mexanik, qarorning o‘zi esa xizmat egasini talab qiladi. Yuqoridagi bir satr uzoq tomon bilan marshrut kelishuvi; ikkinchisi o‘zingiz qila oladigan mahalliy siyosat o‘zgarishi. Aynan shu ikkitasini chalkashtirish o‘n daqiqalik ishni muzokaraga aylantiradi.
preserved: 10.90.0.23 -> 172.20.0.30
translated: 10.80.0.6 -> 172.20.0.30Bitta satrni tanlang va unga sodiq qoling. Satrlar qadam emas, alternativa, ularni aralashtirish esa ko‘rikda hech kim tushuntira olmaydigan loyihani beradi.
Marshrut orqali manbani saqlash
Uzoq tomon quyi oqim manzilidan so‘rov oladi, shuning uchun unga o‘sha subnet uchun qo‘llab-quvvatlanadigan marshrut va peer egaligi, shuningdek uni qabul qilishga ruxsat kerak. Bular uzoq sozlamalar, va hech qanday mahalliy Linux marshruti ularni yaratmaydi. Ularni aniq va yozma so‘rang, prefiks va uni olib boradigan tunnel peer bilan birga, va javob xizmat sayt-sayt tartiblarini umuman qo‘llab-quvvatlashiga bog‘liq bo‘lishini kuting.
Agar javob ha bo‘lsa, mahalliy konfiguratsiya kichik: uzatish yoqilgan, quyi oqim diapazonini qamrab oluvchi WireGuard peer allowed-ips lari, va ikki yo‘nalishda ham o‘tishga ruxsat beruvchi firewall siyosati.
Ataylab manba tarjimasi
Agar xizmat trafikni faqat ulangan mijoz manziliga qaytarsa, chiqishda manbani o‘sha manzilga tarjima qiling va javoblar uchun uni teskari aylantiruvchi conntrack holatini saqlang. Qoidani mo‘ljallangan quyi oqim manbalari, mo‘ljallangan uzoq manzillar va yuqori oqim interfeysi bilan cheklang. Har bir interfeysdan chiqadigan hamma narsani tarjima qiluvchi qoida bu talabdan ancha katta siyosat, va u sizni keyinroq hayratda qoldiradi.
IPv6 o‘z loyihasini talab qiladi; IPv4 masquerade satrini nusxalash arxitektura emas. Tarjima qilingan yo‘lni keshlangan emas, yangi ulanish bilan sinab ko‘ring.
Mahalliy ma’lumot yo‘li baribir ishlashi kerak
Tarjima mahalliy ishni yo‘qotmaydi: shlyuzga baribir quyi oqim manzillariga marshrut, WireGuard peer manbasining to‘g‘ri egaligi, yoqilgan uzatish va interfeyslar orasida tor firewall siyosati kerak. Shlyuzning o‘zida yaratilgan so‘rov bu ruxsatlarning birortasini sinamaydi, shuning uchun shlyuzdagi mahalliy testlar o‘tadi, quyi oqim qurilmalari esa baribir muvaffaqiyatsizlikka uchraydi.
Shlyuzdan emas, haqiqiy quyi oqim qurilmasidan sinang. Manba manzili — bu mashqning butun mazmuni.
Bitta manba bitta sessiya identifikatorini bildiradi
Uzoq xizmat har bir quyi oqim qurilmasi uchun alohida autentifikatsiyani emas, shlyuzning autentifikatsiyalangan sessiyasini va uning tarjima qilingan manzilini ko‘radi. Qurilma bo‘yicha ruxsatlar va ilova identifikatorlarini aniq saqlang, va bir nechta qurilma nomidan ishlaydigan shlyuzga umuman ruxsat bor-yo‘qligini xizmat egasi bilan tasdiqlang. Tarjima qurilma bo‘yicha ro‘yxatdan o‘tish talabini chetlab o‘tish usuli emas; agar xizmat har bir qurilmaning ro‘yxatdan o‘tishini talab qilsa, o‘sha modeldan foydalaning yoki sayt-sayt tartibi bo‘yicha muzokara qiling.
Bu tasdiqni qoida yonidagi runbookka yozing, chunki keyingi ko‘rib chiquvchi loyiha tasdiqlanganmi yoki shunchaki qulaymi deb so‘raydi.
Uzilish holatini belgilang, so‘ng uchta so‘rovni sinang
Yuqori oqim tunneli tushganda nima bo‘lishini hal qiling. Ruxsat etilgan uzoq trafik taqiqlangan joyda oddiy WAN zaxira yo‘lidan jimgina yurmasligi kerak, shuning uchun o‘tishga ruxsat beruvchi firewall siyosati ham yopiq holatda muvaffaqiyatsiz bo‘lishi kerak. So‘ng haqiqiy quyi oqim qurilmasidan uch holatni sinang: ishlaydigan ruxsat etilgan so‘rov, muvaffaqiyatsiz bo‘ladigan taqiqlangan so‘rov va ruxsat etilganini to‘xtatadigan yuqori oqim nosozligi.
Qaytarishni har bir qoida uchun bitta satrda yozib qo‘ying, shunda o‘zgartirish niyatni qayta qurmasdan bekor qilinishi mumkin.