WireGuard: quyi tarmoq o'zgarganidan keyin tengdoshga yo'l yo'q — ikki chiqish
Quyi tarmoq o'zgarishi WireGuard’ni ikki joyda buzadi: AllowedIPs va qaytish yo'li. Joyida qayta raqamlashni interfeysni qayta qurish bilan solishtiring.
wg show da qo'l berish yangi, oxirgi nuqta to'g'ri, kalitlar hech qachon o'zgarmagan — lekin ping hali ham tengdoshga yo'l yo'qligini aytadi. Tunnel quyi tarmog'ini bir soat oldin o'zgartirdingiz. Bu belgi kalit muammosi emas, prefiks nomuvofiqligining izi: WireGuard qo'l berishni tugatdi va keyin ma'lumotni tashladi, chunki manba manzili endi qabul qiluvchi tengdosh qabul qiladigan qiymatga mos kelmaydi. Quyi tarmoq o'zgarishini amalga oshirishning ikki oqilona yo'li bor va ular turli joylarda muvaffaqiyatsiz bo'ladi.
O'zgarishni amalga oshirishning ikki yo'li va har birining narxi
A varianti — joyida qayta raqamlash: interfeys manzilini, tengdoshlar diapazonlarini, yo'llarni va konfiguratsiyaning har bir nusxasini tahrirlab, keyin qayta yuklang. B varianti — yangi prefiksda eskisining yonida ikkinchi interfeys qurish, tengdoshlarni ko'chirish va trafik haqiqatan ko'chgandan keyin eski interfeysni olib tashlash.
| A: renumber in place | B: parallel interface | |
|---|---|---|
| Downtime | The reload window, per host | None if peers are added to both |
| Rollback | Re-apply the previous files | Point peers back at the old interface |
| Risk | Half-applied change: new address, old ranges | Two live interfaces with overlapping intent |
| Effort | Small, if the deployment has one owner | Higher, and needs a cleanup step |
| Fits | Two or three peers you control | Many peers, remote sites, or no maintenance window |
A variantini xavfli qiladigan narsa — yarim qo'llangan holat, chunki u buzilgan ko'rinmaydi. Interfeys ko'tariladi, qo'l berish muvaffaqiyatli bo'ladi va faqat ma'lumot yo'li ishlamaydi. B varianti ko'proq ish talab qiladi, lekin siz har bir havolani topguningizcha ishlaydigan yo'lni tirik saqlaydi.
Sizning tomonda nima birga harakatlanishi kerak
Mahalliy xostdagi to'rt narsa bir xil quyi tarmoqni tavsiflaydi va birini o'zgartirish barchasini o'zgartirishdir: interfeys manzili, har bir tengdoshning AllowedIPs qiymati, tizim bu manzillar uchun ishlatadigan yo'l va menejer sizning nomingizdan o'rnatadigan hamma narsa. wg-quick bilan oxirgi ikkitasi interfeys har ko'tarilganda konfiguratsiyadan yaratiladi, shuning uchun eskirgan nusxa eski prefiksni jimgina qayta o'rnatadi.
Ikkalasidan biriga ishonish o'rniga sozlanganini jonli bilan solishtiring:
wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5Yo'l qidiruvi — odamlar o'tkazib yuboradigan qadam. U yadro manzil uchun aslida nima qilishini aytadi, jumladan menejer yoki konteyner muhiti qoldirgan aniqroq yo'lni ham. Agar u tunneldan boshqa interfeysni ko'rsatsa, konfiguratsiya muammo emas.
Ishlayotgan interfeys uchun tahrirlangan faylni tunnelni buzmasdan qo'llang:
wg syncconf wg0 <(wg-quick strip wg0)Bu tengdoshlar va diapazonlarni joyida yangilaydi. Interfeys manzilini yoki yo'llarni yangilamaydi, chunki ular WireGuard sozlamalari emas — shuning uchun qayta raqamlash hali ham interfeysni qayta yaratishni yoki manzilni ip bilan o'zgartirishni, keyin esa yo'naltirishni qayta tekshirishni talab qiladi.
Uzoq tomonda nima birga harakatlanishi kerak
Quyi tarmoq o'zgarishi odatda shu yerda o'ladi. AllowedIPs faqat yo'naltirish ishorasi emas; u tengdosh taqdim etishi mumkin bo'lgan manba manzillar ro'yxati hamdir. Mijozlarni qayta raqamlab, serverning AllowedIPs qiymatini eski prefiksda qoldirsangiz, server qo'l berishni qabul qiladi, shifrlangan paketlarni oladi va ularni tashlaydi, chunki ichki manba u tengdosh bilan bog'laydigan hech qanday diapazonga mos kelmaydi. Hech qanday xato jurnalga yozilmaydi va mijoz vaqt tugashini ko'radi.
Shuning uchun qabul qiluvchi tomonni ataylab yangilang: serverdagi tengdosh yozuvi yangi mijoz prefiksini sanab o'tishi kerak, serverning o'z qaytish yo'li o'sha prefiks uchun tunnelga ishora qilishi kerak va server orqasidagi har qanday quyi tarmoq yangi yo'lni o'rganishi kerak. Eski diapazonni nomlagan xavfsizlik devori siyosati ham xuddi shunday muomalani talab qiladi, manbaga asoslangan tanlov qiladigan hamma narsa ham.
Ikki nosozlikni ajratadigan diagnostika arzon. Yangi qo'l berish, lekin ma'lumot yo'q — tunnel ko'tarilgan va ichki manzillash kelishmayapti. Qo'l berish umuman yo'q — siz yetib borish yoki kalitlarni ko'ryapsiz. Prefiks muammosi uchun kalitlarni aylantirmang; bu ishlagan yagona narsani qayta tiklaydi.
Sizning tahriringizdan uzoq yashaydigan eskirgan nusxalar
Faylni tahrirlash ishlayotgan tizimni o'zgartirish bilan bir xil emas, nusxalar esa odamlar kutganidan ko'p: interfeysga ega unit yoki menejer, boshqa katalogdagi xuddi shu nomli ikkinchi profil, konfiguratsiyasi tasvirga pishirilgan konteyner, o'zining tahrirlangan versiyasini saqlaydigan router interfeysi va ishga tushganda saqlangan tunnelni qayta import qiladigan mijoz ilovasi. Ularning har biri sizning o'zgarishingiz tugallangandek ko'ringandan keyin eski prefiksni qaytarishi mumkin.
Nomlar ham sayohat qiladi. Agar raqamli yo'l ishlab, xost nomi ishlamasa, ichki DNS yozuvi yoki xizmat konfiguratsiyasi hali ham tunnelning eski manziliga ishora qiladi. Har bir tengdosh diapazonini kengaytirish o'rniga havolani tuzating, chunki bu haqiqiy muammoni yashirib, ayni paytda manba ACL ni kattalashtiradi.
Ishlayotganda bitta tiklash yo'lini ochiq tuting: xostga kirishning ikkinchi yo'li, ketma-ket konsol yoki konfiguratsiya fayllarini rejalashtirilgan qaytarish. O'zgartirilayotgan mashinadan sizni qulflab qo'yadigan tunnel o'zgarishi bu ishning kechga aylanishining eng keng tarqalgan yo'li.
Ikkisi orasida tanlov va almashtirishni tekshirish
Har bir tengdosh sizniki bo'lsa, soni kam bo'lsa va qisqa uzilish maqbul bo'lsa, A ni tanlang. Tengdoshlar siz boshqarmaydigan uzoq qo'llar bo'lsa, sayt-sayt aloqasi ko'tarilgan turishi kerak bo'lsa yoki har bir nusxaning bir o'tishda yangilanishiga kafolat bera olmasangiz, B ni tanlang. Bu holatda yangi prefiksni ikkala interfeysga qo'shing, tengdoshlarni birma-bir ko'chiring, yangisidagi trafikni kuzating va shundan keyingina eski interfeys va uning yo'llarini olib tashlang.
Har ikki variantda ham o'zgarish to'rtta tekshiruv o'tganda tugallanadi: qo'l berish yangi, yangi prefiksli manzil uchun yo'l qidiruvi tunnelni nomlaydi, bir necha yuz baytli yuk ikki tomonga ham o'tadi va xost yoki menejerni qayta ishga tushirgandan keyin ham shunday bo'ladi. Rasmiy wg(8) qo'llanmasi har bir yo'nalishda AllowedIPs nimani anglatishini tushuntiradi va alomatni yo'qotish uchun diapazonni kengaytirishdan oldin uni qayta o'qish arziydi.
- Qo'l berish yangi va ma'lumot yo'q: kalitlarga tegishdan oldin qabul qiluvchidagi AllowedIPs ni ko'ring.
- Yo'l qidiruvi noto'g'ri interfeysni ko'rsatadi: yo'l menejer yoki konteynerga tegishli, sizning faylingizga emas.
- Raqamli manzil joyida, xost nomi buzilgan: eski havola, yo'naltirish halqasi emas.
- O'zgarish faqat qayta ishga tushirgandan keyin ham yangi prefiks ishlatilganda tugallangan.