OpenVPN mijozi uchun xatoda to'xtaydigan bosqichlar bilan tayyorlash
Beshta bosqich tayyorlash skriptining yarim o'rnatish qoldirishini oldini oladi: kirishlarni tekshir, to'plamni tayyorla, atomar almashtir, bitta egasini faollashtir, foydalanishdan chiqarishni rejalashtir.
Xatoni bildirib, davom etadigan tayyorlash skriptlari hech qachon ishlamaydigan skriptlardan yomonroq. Mijozni sozlash himoyalangan kalitlarga, darvozadagi shaxsiyatga va allaqachon trafik xizmat qilayotgan bo'lishi mumkin bo'lgan xizmatga tegadi. Ularning har biri to'xtash shartiga muhtoj, skript esa to'xtaganda qaysi bosqichga yetganini bilishi kerak.
Butun ishni beshta nazorat nuqtasi bo'lgan bitta tranzaksiya deb qara va har bir nazorat nuqtasi o'z-o'zidan davom etishdan bosh tortsin.
Fayl tizimiga tegishdan oldin kirishlarni tuzat
Aniq shartnomadan boshla: bitta shaxsiyat, bitta profil manbasi, bitta mo'ljallangan xizmat egasi. Profil mavjudligini, u havola qiladigan sertifikat va kalit o'qilishini va maqsadli katalog kutilgan paketga tegishli ekanini tekshir. Hal bo'ladigan yo'l uning orqasidagi material to'liq ekaniga dalil emas.
Bo'sh o'zgaruvchilarni erta rad et. Hech narsaga kengaymaydigan o'rnatilmagan $DEVICE install -m 400 $KEY /etc/openvpn/client/ buyrug'ini katalogga qaratilgan nusxaga aylantiradi, muvaffaqiyatsizlik esa keyinroq o'z kalitini o'qiy olmaydigan xizmat sifatida keladi.
Profil to'plamini tayyorlash katalogida yig'
Avval to'liq to'plamni xususiy joyda qur: profil, CA, mijoz sertifikati, kalit va profil chaqiradigan har qanday yordamchi. install -m 400 -o root -g root bilan nusxa ol, ruxsatlar keyin emas, yaratish paytida o'rnatilsin. So'ngra profil ichidagi havolalarni tekshir, chunki nisbiy ca yoki key satri xizmat boshlanishi bilan birlikning ish katalogiga nisbatan hal bo'ladi. Butun to'plam tasdiqlanmaguncha faol katalogga hech narsa yozilmasligi kerak.
Bu ishga tushirish nima ishlab chiqarganining sir bo'lmagan barmoq izini yozib qo'y, masalan, versiya belgisi yonida saqlangan sha256sum office.conf. Aynan shu bitta qiymat qayta ishga tushirishga yangilanishni hech narsa qilmaslikdan ajratish imkonini beradi.
Atomar almashtir va avvalgi to'plamni saqla
Tayyorlangan to'plamni fayl tizimi ruxsat bergan joyda bitta operatsiya bilan joyiga ko'chir va ko'rib chiqilgan avvalgi to'plamni vaqt tamg'asi bo'lgan nom ostida saqla. Eski kalit yonida yangi profil qoldiradigan qismiy nusxa noto'g'ri shaxsiyat bilan autentifikatsiya qiladigan va sabab haqida foydali hech narsa yozmaydigan xizmat yaratadi. Agar almashtirish atomar bo'la olmasa, ko'chirishlarni profil eng oxirida tushadigan qilib tartibla.
Maqsad allaqachon mavjud bo'lsa, bu ishga tushirish yangilanishmi, aynan o'sha qayta ishga tushirishmi yoki boshqa qurilma profili bilan to'qnashuvmi ekanini aniq hal qil. Boshqa shaxsiyatga tegishli profilni jimgina ustidan yozish ikki mashinaning bitta sertifikatni bo'lishishiga olib keladigan yo'ldir. Buning o'rniga ishga tushirishni rad et va to'qnashayotgan egasini ayt.
Bitta egasini faollashtir va buni isbotla
Bitta faollashtirish yo'lini tanla, yo systemd nusxasi, yo NetworkManager, va uni izchil ishlat. Faollashtirilgan birlik yonida boshqarilmaydigan openvpn jarayonini ishga tushirish ikki tunnel, raqobatlashuvchi DNS yangilanishlari va to'xtatish buyrug'i qaysi birini nishonga olishiga aniq javob bermaydi. Faollashtirishdan so'ng systemctl is-active openvpn-client@office ni tekshir, so'ng uzoq prefiksga marshrutni, so'ng tunnel o'rnatgan hal qiluvchi uchun resolvectl status ni tekshir. Tunnel mavjud bo'lgan bitta resursga yetib, tugat.
Ishlayotgan jarayon va yashil tray belgisi jarayon faktlari, shaxsiyat va trafik siyosati topshirishdan omon qolganiga dalil emas.
Qayta ishga tushirish va foydalanishdan chiqarish alohida ish oqimlari
Ikkinchi ishga tushirish o'sha ko'rib chiqilgan fayllarga va o'sha egasiga yaqinlashishi kerak, ikkinchi hisob yoki ikkinchi demon yaratmasligi kerak. Foydalanishdan chiqarish o'z tartibi: aniq egasini to'xtat, siyosatga ko'ra mahalliy profilni arxivla yoki o'chir, va darvozada shaxsiyatni bekor qil. Mahalliy kalit faylini o'chirish mashinadan allaqachon chiqib ketgan nusxani bekor qilmaydi.
Tunnelga bog'liq bo'lmagan tiklanish yo'lini saqla, masalan konsolga kirish yoki ikkinchi boshqaruv marshruti. Seni mashinadan tashqarida qulflaydigan tayyorlash o'zgarishi, har bir bosqich muvaffaqiyat haqida xabar bergan bo'lsa ham, muvaffaqiyatsiz o'zgarishdir.
Saqlashga arziydigan skript egalik va dalil atrofidagi tranzaksiyadir. Imtiyozli nusxa buyruqlarining qisqa ro'yxati bir xil narsa emas.