Ikki laboratoriya bir xil VPN topologiyasini modellashtirishi va butunlay boshqa yo’llar bilan muvaffaqiyatsiz bo’lishi mumkin: biri tarmoq nom fazolarida yashaydi, ikkinchisi xostning o’z yo’llarida. Nom fazosi versiyasi har bir interfeys, yo’l va soketni o’chirib tashlashingiz mumkin bo’lgan kontekstda saqlaydi, xost versiyasi esa tezroq ishga tushadi va orqasida holat qoldiradi. Aynan shu qolgan holat ikkinchi laboratoriyani bir oydan keyin takrorlashni qiyinlashtiradi. Avval tozalashni solishtiring, chunki u tajribani ikki marta o’tkaza olishingizni hal qiladi.

Bir xil laboratoriyani qurishning ikki yo’li va qachon qaysi biri g’olib keladi

Xost yo’llari laboratoriyasida siz ishlayotgan mashinaga tunnel interfeysi va yo’llarni qo’shasiz, shuning uchun tajriba shellingiz, paket menejeringiz va har qanday boshqa ulanish bilan taqdirni bo’lishadi. Nom fazosi laboratoriyasida har bir rol interfeyslar, manzillar, yo’llar va soketlarning o’z stekini oladi, nom fazosini o’chirish esa bularning barchasini olib tashlaydi. Ikkala model ham to’g’riroq emas, chunki ular turli savollarga javob beradi. Mavzu marshrutlash va yo’naltirish bo’lsa nom fazolarini, mavzu bitta ish stoli mijozi qanday integratsiyalashishi bo’lsa xost laboratoriyasini tanlang.

AspectNamespace labHost-route lab
IsolationFull stack per roleShares the host stack
CleanupDelete named namespacesManual route and rule removal
RealismStrong for routingNeeded for GUI clients

Ikkalasini aralashtirish odatiy xato: faqat xostdagi mijozga qarshi sinovdan o’tkazilgan nom fazosi laboratoriyasi ikkala tartibdan biri haqida ham hech narsani isbotlamaydi. Birinchi ulanishni yaratishdan oldin qanday savol berayotganingizni hal qiling.

Har bir rol uchun bitta kontekst, ataylab ulangan

Har bir rol uchun bitta nom fazosini yarating va har bir veth juftining har ikki uchini unga egalik qiluvchi kontekstga ko’chiring. Birinchi to’rtta buyruq shaklni ko’rish uchun yetarli:

ip netns add client
ip netns add gateway
ip link add veth-c type veth peer name veth-g
ip link set veth-c netns client

Laboratoriyaga xostda hech narsa bilan kesishmaydigan diapazonlar bering va boshlashdan oldin qaysi nom fazosi qaysi manzilga egalik qilishini yozing. Ishlaydigan laboratoriyaga ikkita alohida yo’l kerak: VPN oxirgi nuqtasi o’z juftiga yetib borishi uchun tashqi yo’l va himoyalanayotgan resurs uchun qaytish yo’li. Ularni ikkita qaror sifatida modellashtiring, chunki faqat chiqish yarmini quradigan laboratoriya qo’l siqish sinovidan o’tadi va ilova sinovida yiqiladi.

Yo’naltirish roli laboratoriyalar qiziqarli bo’ladigan joydir

Bitta rol yo’naltirishi kerak, bu o’sha nom fazosi ichida yo’naltirishni yoqish va dizaynga kerak bo’lgan qoidani qo’shish demakdir. Yo’naltirish holati har bir nom fazosi uchun alohida, shuning uchun xost sozlamasi laboratoriya uchun ahamiyatsiz va laboratoriya sozlamasi tashqariga sizib chiqmaydi, tarmoq nom fazolari hujjatlari ta’riflaganidek. WireGuard interfeys va uning tashqi soketi turli nom fazolarida yashashi mumkinligini hujjatlashtiradi, bu foydali hiyla va o’zingizni chalkashtirishning ajoyib usuli. Interfeysni ko’chirish ulanishning har bir qismini bir xil ko’chirishini o’ylamang.

Sinov paketidan keyin yo’naltirish hisoblagichini tekshiring, chunki hech qachon mos kelmagan qoida va paketni tashlab yuborgan qoida marshrut jadvalida bir xil ko’rinadi. Ularni faqat hisoblagichlar ajratadi.

Asosiy chiziqni yozib oling, so’ng bitta yo’lni buzing

Nima borligini yozib olishdan boshlang, har bir satr yoniga kontekstni yozing. Nom fazolarini o’qing, so’ngra sinov manzili ulardan birining ichida bosib o’tadigan yo’lni, so’ngra uni olib yuruvchi ulanishdagi hisoblagichlarni:

ip netns list
ip -n client route get 10.0.0.5
ip -n gateway -s link show veth-g

Uchinchi buyruq odamlar tashlab ketadigan buyruq va aynan o’sha yerda dalil yashaydi: tashlangan va xatolar hisoblagichlari paket yo’naltirish roliga umuman yetib borganini aytadi. O’zgarishdan keyin o’sha uchta ko’rinishni yozib oling va dalil sizning xotirangiz emas, diff bo’lsin. So’ngra aniq bitta narsani buzing, yo yo’lni o’chirish yoki yo’naltirish yo’lida rad qilish qoidasini qo’shish orqali, va siz bashorat qilgan alomatni tasdiqlang: javobsiz tugallangan qo’l siqish yoki taym-aut o’rniga nomni hal qilishda muvaffaqiyatsizlik. Faqat muvaffaqiyatni ko’rsatadigan laboratoriya juda oz narsa o’rgatadi.

Tozalash keyingi ishga tushirishni takrorlanadigan qiladi

Tozalashni siz nomlagan resurslar bilan cheklab turing, chunki umumiy tarmoq devorini qayta o’rnatish yoki xost yo’lini olib tashlash takrorlanuvchanlik emas, bu ikkinchi hodisa. Topologiyani, aniq buyruqlarni va siz kutgan kuzatishlarni saqlang, shunda keyingi ishga tushirish oldingi holat qaysi kontekstda bo’lganini taxmin qilish o’rniga o’sha nosozlikni qayta hosil qiladi. Bu yozuvsiz laboratoriya hikoya, tartib emas.

Laboratoriya uchun mahalliy yaratilgan hisob ma’lumotlaridan foydalaning va ishlab chiqarish hisoblarini umumiy misollardan uzoq tuting. So’ngra har bir nom fazosini o’chiring va xost ko’rinishi o’zgarmaganini tasdiqlang, bu modelni tanlashning butun sababi shu. Toza olib tashlay olmaydigan laboratoriya qo’shimcha qadamlar bilan xost o’zgarishidir.

O'xshash maqolalar