Ish stoli grafik interfeys boshqaruv ulanishini ushlab turadi, shuning uchun o'z ulanishini ochishga urinayotgan monitoring skripti hech narsa o'qimaydi yoki, undan ham yomoni, interfeys so'rovlarga javob berishni to'xtatadi. Odatiy xulosa — demon beqaror. Jamiyat demonida cheklov ataylab qo'yilgan: boshqaruv interfeysi bir vaqtda bitta ulangan boshqaruv mijoziga xizmat qiladi va bu son VPN qancha foydalanuvchini ko'tara olishiga hech qanday aloqasi yo'q.

Bitta soket, bitta egasi

Boshqaruv kanali bitta ulangan mijozni qabul qiladi. Birinchisi faol bo'lganda ikkinchisi kelsa, u kutadi yoki rad etiladi va parametr orqasida yashiringan parallel abonent rejimi yo'q. Joriy egasini uzish demonga keyingisini qabul qilishga imkon beradi va bu ikkinchi kanal emas, topshirish.

Bu har bir qo'shimcha vositani raqibga aylantiradi. Agar ulanish interfeysga tegishli bo'lsa, so'rov skripti yo ulanmaydi, yo faqat interfeys taslim bo'lgandan keyin muvaffaqiyat qozonadi va ketma-ketlik keyingi qayta ulanishda takrorlanadi. Agar skript birinchi bo'lib ulansa, interfeys boshqaruv yo'lini yo'qotadi va uning so'rovlari ishlashdan to'xtaydi. Vositalarning hech biri konflikt haqida xabar bermaydi, chunki har biri faqat o'zining muvaffaqiyatsiz buyrug'ini ko'radi.

What you needMechanism that fitsWhat it cannot do
Periodic list of connected clientsStatus file written on an intervalDeliver events as they happen
Interactive prompts and session controlThe single management connectionServe two controllers at once
Multiple consumers of eitherOne owner process that fans outExist without you writing it

Qaysi komponent nazoratga egaligini hal qiling

Interaktiv kanal uchun bitta egasini tanlang va faqat u ulansin. Ulanishni boshqaradigan interfeys, autentifikatsiya so'rovlariga javob beradigan skript va sessiyalarni tugatadigan kontroller hammasi egasi hisoblanadi va rolni faqat bittasi egallay oladi.

Interfeys ulanishga ega bo'lsa, u bilan kurashish o'rniga u taklif qiladigan integratsiyadan foydalaning. Soket uchun egasi bilan poyga foydalanuvchilarga tasodifiy ko'rinadigan oraliq nosozliklarni keltirib chiqaradi va disk raskadrovka qiluvchi odatda poyganing faqat ikkinchi yarmini ko'radi. Qayta ishga tushirishdan keyin qaysi jarayon birinchi ulanisini yozib qo'ying, chunki bu tartib har safar kim g'alaba qozonishini hal qiladi. Interfeysdan oldin ishga tushgan monitor kanalni interfeys taslim bo'lgunga qadar ushlab turadi.

Yig'uvchilar uchun holat suratlaridan foydalaning

Monitoring ehtiyojlarining aksariyati ro'yxatni talab qiladi, suhbatni emas. Davriy holat fayli boshqaruv kanaliga tegmasdan bunga javob beradi va interfeys ulangan holda ishlashda davom etadi.

status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix

Interval yangilik byudjeti, shuning uchun uni panelga haqiqatan kerak bo'lgan narsaga qarab belgilang, xavfsiz ko'rinadigan eng kichik qiymatga qarab emas. Bir necha soniyada bir yoziladigan surat arzon; bir necha soniyada bir boshqaruv soketiga qayta ulanadigan skript arzon emas, chunki har bir qayta ulanish egasi bilan raqobatlashadi.

Surat na tarix, na hodisalar oqimi. Bir interval ichida kelib ketadigan ulanishlar hech qachon ko'rinmaydi, shuning uchun audit talabini o'z ustiga yozadigan faylni so'rov qilish bilan qondirib bo'lmaydi. Agar foydalanuvchi umuman ulanganini bilish kerak bo'lsa, surat noto'g'ri asbob.

Tarqatish — dizayn, rejim emas

Agar bir nechta iste'molchi haqiqatan jonli boshqaruv ma'lumotlariga muhtoj bo'lsa, soket oldiga bitta ishonchli komponent qo'ying va unga tor tanlangan kuzatuvlarni qolganlarga e'lon qilishga ruxsat bering. O'sha komponent qayta ulanishni, autentifikatsiya so'rovlarini va nimani oshkor qilish xavfsiz ekanligi haqidagi qarorni egallaydi.

Uni ataylab quring: qaysi so'rovlarga ruxsat berilganini aniqlang, kim so'raganini qayd eting va tarqatish qatlami tasodifan masofaviy boshqaruv paneliga aylanishiga yo'l qo'ymang. Demonning yoqiladigan ko'p mijozli rejimi yo'q va hech bir konfiguratsiya satri uni yaratmaydi. Egaga xavfsizlik chegarasining bir qismi sifatida qarang, chunki u odamlarni uzishi mumkin bo'lgan interfeysni ushlab turadi. Uni qayta ishga tushirish hujjatlashtirilgan tiklash yo'li bilan odatiy operatsiya bo'lishi kerak.

Soketga imtiyoz sifatida qarang, metrika sifatida emas

Boshqaruv interfeysi foydalanuvchilarni uzishi mumkin, holatni o'zgartira oladi va odamlarning ismi tilga olinadigan hodisalarni o'qiy oladi. Uning paroli mijozni autentifikatsiya qiladi va transportni shifrlamaydi, shuning uchun tarmoq tinglovchisi suhbatni uni kuzata oladigan har kimga oshkor qiladi.

Mahalliy soket yoki qat'iy cheklangan tinglovchini afzal ko'ring va yig'uvchingiz aslida qaysi jarayonga murojaat qilayotganini tekshiring, chunki server mahsulotlari o'z boshqaruv API'larini olib keladi va ular boshqacha yo'l tutadi. Noto'g'ri demonga yo'naltirilgan yig'uvchi ishonchli va noto'g'ri xulosalar beradi. Hech narsa qaytarmaydigan so'rovni disk raskadrovka qilishdan oldin yo'l va egasi jarayonni tasdiqlang.

O'xshash maqolalar