Siz zaxira nusxasini tikladingiz, xizmat ishga tushdi va mijoz birinchi urinishdanoq ulandi. Bu muvaffaqiyat — tuzoq. Tiklash serverning snapshot paytidagi fayllarini qaytaradi, keyin o'zgargan ruxsat holatini emas, va eski so'nggi nuqta hali ham yetib borilsa, endi bitta identifikatorga javob beradigan ikki mashina bor. Yechim yaxshiroq zaxira emas; yechim — tiklangan xost bitta qo'l berishishga javob berishidan oldin nima bo'lishi mumkinligini hal qilish.

Zaxira fayllarni qaytaradi, vakolatni emas

Snapshot server konfiguratsiyasini, shaxsiy kalitlarni, sertifikat organini, peer ro'yxatini va xavfsizlik devori qoidalarini zaxira ishlagan paytdagi holatda saqlaydi. U keyin o'zgargan narsani saqlay olmaydi: siz bekor qilgan qurilma, qayta chiqargan kalit, noutbuk sotilganda olib tashlagan peer, ko'chirgan quyi tarmoq. Tiklash fayllarni o'sha lahzaga qaytaradi. Odamlar keyin qabul qilgan qarorlarni qaytarmaydi.

Zarar aynan shu bo'shliqdan keladi. Zaxiradan ikki hafta keyin bekor qilingan o'g'irlangan noutbuk tiklangan daraxtdagi eski CRLga qarshi hali ham tasdiqlanadigan sertifikat taqdim etadi va server siz foydalanishdan chiqargan qurilmani qabul qiladi. WireGuard to'g'ridan-to'g'riroq: peer ro'yxatda bo'lishi bilan vakolatlanadi, shuning uchun snapshotdan keyin o'chirilgan peer shunchaki yana mavjud. Hech kim bu ruxsatni qayta tasdiqlamadi. Eski fayl tasdiqladi.

Server identifikatori va mijoz identifikatori turlicha ishdan chiqadi

WireGuardda server identifikatori wg0.conf ichidagi shaxsiy kalit, shuning uchun bu faylni ikkinchi yetib boriladigan xostga nusxalash bir xil identifikatorli va bir-birini bilmaydigan ikki server yaratadi. Har biri o'z peer ro'yxatini saqlaydi. Yangi xostda peerni olib tashlang, eskisi hali ham qabul qiladi; birida wg show ni tekshiring va haqiqatning yarmini ko'rasiz. Mijozlar ham o'z-o'zidan almashmaydi: profil bitta Endpoint olib yuradi, shuning uchun qurilma sozlangan manzil bilan gaplashishda davom etadi, bu siz foydalanishdan chiqarmoqchi bo'lgan xost bo'lishi mumkin.

OpenVPN o'sha qatlamda server sertifikati, uning shaxsiy kaliti va tls-auth yoki tls-crypt statik kaliti bilan takrorlanadi. Uchtasini ham nusxalang va mijoz nusxalarni ajrata olmaydi; ikkalasi ham yetib borilsa, qayta ulanish istalgan biriga tushishi mumkin va har bir jurnal fayli yarim hikoya aytadi. Sertifikat organi chuqurroq nusxa. Tiklangan easy-rsa daraxti haqiqatning ikkinchi manbai bo'lib, siz bergan har qanday nomga haqiqiy sertifikat chiqara oladi.

Mijozlar ham takrorlanadi, odatda migratsiya paytida. Profilni «faqat sinash uchun» qo'shimcha qurilmaga nusxalash bir xil kalit va umumiy nomli ikkinchi qurilma yaratadi. duplicate-cn bilan ikkala sessiya bir vaqtda ochiq qolishi mumkin va ccd yoki ifconfig-pool-persist dagi statik manzil ajratmasi asl qurilma bilan to'qnashishi mumkin. Bu bitta identifikator kiygan ikki mashina va server konfiguratsiyasida hech narsa ularni ajratmaydi.

Eski so'nggi nuqta uchun uchta holatdan birini tanlang

Tiklash eski so'nggi nuqtaning taqdiri hal qilingandan keyingina xavfsiz. Uni foydalanishdan chiqaring: eski xizmat yangi xost ishga tushishidan oldin VPN portini qabul qilishni to'xtatishi kerak va agar mashinaga yetib bora olmasangiz, bu portni tarmoq chekkasida ma'muriy manbangizdan boshqa hamma uchun bloklang. O'sha xostni tuzating: identifikatordan qayta foydalanish mumkin, chunki uni bitta mashina saqlaydi, lekin keyin eski kalitning disk nusxasi yoki VM snapshotini yo'q qiling, u qaytib kelmasin. Mavjudlik juftini yarating: ikki xostga alohida xost identifikatorlari va bitta umumiy so'nggi nuqta kerak, masalan suzuvchi manzil, yuklamani tenglashtirgich yoki ko'chirsa bo'ladigan DNS. Shaxsiy kalitni nusxalash failover dizayni emas; bu bitta nomni da'vo qilayotgan ikki server.

Mijozlarga tegishdan oldin haqiqatan qaysi holatda ekaningizni tasdiqlang. VPN portida javob beradigan eski xost bekor qilingan qurilmani qabul qiladi, DNS ko'chgan bo'lsa ham. Tinglovchilar va ochiq kalitni tekshiring:

ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key

Avval peerni, bekor qilishlarni va manzillarni moslashtiring

Tiklash nimani da'vo qilishini hozir vakolatli bo'lgan narsa bilan qiyoslab ro'yxatlang. WireGuardda wg show wg0 har bir peerning kaliti, so'nggi nuqtasi, oxirgi qo'l berishishi va uzatish hisoblagichlarini beradi, bu endi sizga tegishli bo'lmagan qurilmani payqashga yetadi. Uni jonli ravishda wg set wg0 peer <key> remove bilan olib tashlang, so'ng konfiguratsiyani ham tahrirlang, aks holda peer keyingi ishga tushishda qaytadi. wg show wg0 allowed-ips ikkinchi muammoni ochadi: bitta manzilda ikki peer yoki siz allaqachon qayta tayinlagan manzil.

OpenVPNda bekor qilish ro'yxati sanali fayl va tiklash eskisini qaytarishi mumkin. Mijozlar ulanishidan oldin uni tekshiring:

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf

Agar oxirgi yangilanish bekor qilishdan oldin bo'lsa, server siz bekor qilgan sertifikatni hali ham hurmat qiladi. OpenVPN 2.4 va undan keyingilari har bir yangi ulanish uchun CRL faylini qayta o'qiydi, shuning uchun faylni almashtirish yangi sessiyalarni to'xtatadi, lekin o'rnatilgan tunnellar qayta muzokaralargacha davom etadi; reneg-sec standart qiymati 3600 soniya va aynan uni kamaytirish yoki xizmatni qayta ishga tushirish sizga o'zgarishni hozir beradi. Eski qurilmalar faylni unchalik ishonchli o'qimasligi mumkin, shuning uchun versiyaning xatti-harakatini tasdiqlay olmasangiz qayta ishga tushiring. wg(8) qo'llanmasi yuqorida ishlatilgan peerni olib tashlash va allowed-ips sintaksisini qamrab oladi.

Endi mavjud bo'lmagan qurilmalarning statik tayinlamalarini ham tozalang. Eski profil o'rnatilgan turganda foydalanishdan chiqarilgan qurilma manzilini yangisiga qayta ishlatish siz qochmoqchi bo'lgan takrorni aynan yaratadi.

Bekor qilgan mijozingiz bilan tekshiring

Tekshiruvlarni tartib bilan, tunneldan tashqaridagi tarmoqdan bajaring. Avval vakolatli qurilma ulanadi, itarib yuborilgan resolver orqali DNSni hal qiladi va shaxsiy resursga yetadi. Keyin bekor qilingan qurilma yangi emas, o'zining mavjud profili bilan muvaffaqiyatsiz bo'lishi kerak. So'ng tashqaridan eski so'nggi nuqtani sinab ko'ring: VPN porti hali ham qo'l berishishni yakunlasa, eski xost tirik va takrorlanish haqiqiy, nazariy emas.

Tiklangan xostni qayta yuklang va vakolatli hamda bekor qilingan tekshiruvlarni takrorlang, chunki o'shanda konfiguratsiya fayli ishlash vaqtida o'zgartirganingizdan ustun keladi. Xostning ochiq kaliti yoki sertifikat barmoq izini foydalanishdan chiqarilgan mashina ishlatgani bilan solishtiring. Ikki tirik mashinada mos barmoq izlari tiklash identifikatorni klonlaganini bildiradi; bitta mashinada mos barmoq izlari normal. Tiklangan versiyalarni, kalitlar barmoq izlarini va bekor qilingan seriya raqami yoki peer kalitini yozib oling, so'ng bu moslashtirishdan keyin keyingi zaxirani oling, u xizmatni hozirgi holatida ifodalasin. Ishlaydigan sinov mijozning ulanishi emas. O'chirilgan mijoz tashqarida qolishi va eski so'nggi nuqta yopiq qolishi.

O'xshash maqolalar