Yalnız bir idarəetmə müştərisi: monitorunuz niyə qrafik interfeysi kənara atır
İdarəetmə soketi bir anda bir bağlantı qəbul edir. İkinci abunəçi ya qoşula bilmir, ya da promptları saxlayan komponentdən nəzarəti oğurlayır.
Masaüstü qrafik interfeys idarəetmə bağlantısını saxlayır, buna görə öz bağlantısını açmağa çalışan monitorinq skripti heç nə oxumur və ya daha pisi, interfeys promptlara cavab verməyi dayandırır. Adi nəticə demonun qeyri-sabit olmasıdır. İcma demonunda məhdudiyyət qəsdəndir: idarəetmə interfeysi bir anda bir qoşulmuş idarəetmə müştərisinə xidmət edir və bu rəqəmin VPN-in nə qədər istifadəçi daşıya bilməsi ilə heç bir əlaqəsi yoxdur.
Bir soket, bir sahib
İdarəetmə kanalı bir qoşulmuş müştəri qəbul edir. Birincisi aktiv ikən ikincisi gələndə o, gözləyir və ya rədd edilir və seçimin arxasında gizlədilmiş paralel abunəçi rejimi yoxdur. Cari sahibi ayırmaq demonun növbətini qəbul etməsinə imkan verir və bu, ikinci kanal deyil, ötürmədir.
Bu, hər əlavə aləti rəqibə çevirir. Əgər bağlantı interfeysə məxsusdursa, sorğu skripti ya qoşula bilmir, ya da yalnız interfeys təslim olduqdan sonra buna nail olur və ardıcıllıq növbəti yenidən qoşulmada təkrarlanır. Əgər skript birinci qoşularsa, interfeys nəzarət yolunu itirir və promptları işləməyi dayandırır. Alətlərin heç biri konflikti bildirmir, çünki hər biri yalnız öz uğursuz əmrini görür.
| What you need | Mechanism that fits | What it cannot do |
|---|---|---|
| Periodic list of connected clients | Status file written on an interval | Deliver events as they happen |
| Interactive prompts and session control | The single management connection | Serve two controllers at once |
| Multiple consumers of either | One owner process that fans out | Exist without you writing it |
Hansı komponentin nəzarətə sahib olduğunu qərar verin
İnteraktiv kanal üçün bir sahib seçin və yalnız onun qoşulmasına icazə verin. Bağlantını idarə edən interfeys, autentifikasiya promptlarına cavab verən skript və sessiyaları dayandıran nəzarətçi hamısı sahib sayılır və yalnız biri bu rolu tuta bilər.
İnterfeys bağlantıya sahib olduqda, onunla mübarizə aparmaq əvəzinə təqdim etdiyi inteqrasiyadan istifadə edin. Soket üçün sahiblə yarış fasiləli nasazlıqlar yaradır ki, bunlar istifadəçilərə təsadüfi görünür və sazlama edən şəxs adətən yarışın yalnız ikinci yarısını görür. Yenidən başlatmadan sonra hansı prosesin birinci qoşulduğunu qeyd edin, çünki bu sıra hər dəfə kimin qalib gəldiyini müəyyən edir. İnterfeysdən əvvəl başlayan monitor kanalı interfeys təslim olana qədər saxlayacaq.
Kollektorlar üçün status şəkillərindən istifadə edin
Monitorinq ehtiyaclarının çoxu siyahı tələb edir, söhbət deyil. Dövri status faylı nəzarət kanalına toxunmadan buna cavab verir və interfeys qoşulmuş qaldıqca işləməyə davam edir.
status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix
İnterval təravət büdcəsidir, buna görə onu panelin həqiqətən ehtiyac duyduğuna görə təyin edin, təhlükəsiz görünən ən kiçik dəyərə görə deyil. Bir neçə saniyədən bir yazılan şəkil ucuzdur; bir neçə saniyədən bir nəzarət soketinə yenidən qoşulan skript isə deyil, çünki hər yenidən qoşulma sahiblə rəqabət aparır.
Şəkil nə tarixçədir, nə də hadisə axınıdır. Bir interval daxilində gəlib gedən bağlantılar heç vaxt görünmür, buna görə audit tələbi öz üzərinə yazan faylı sorğulamaqla ödənilə bilməz. İstifadəçinin ümumiyyətlə qoşulub-qoşulmadığını bilmək lazımdırsa, şəkil səhv alətdir.
Yayma dizayndır, rejim deyil
Əgər bir neçə istehlakçı həqiqətən canlı idarəetmə məlumatına ehtiyac duyursa, soketin qarşısına bir etibarlı komponent qoyun və onun dar seçilmiş müşahidələri qalanlara yayımlamasına icazə verin. Bu komponent yenidən qoşulmanı, autentifikasiya promptlarını və nəyin aşkar edilməsinin təhlükəsiz olduğu qərarını saxlayır.
Onu qəsdən qurun: hansı sorğulara icazə verildiyini müəyyənləşdirin, kimin soruşduğunu qeyd edin və yayma qatının təsadüfən uzaqdan idarəetmə panelinə çevrilməsindən çəkinin. Demonun aktivləşdiriləcək çoxmüştəri rejimi yoxdur və heç bir konfiqurasiya sətri onu yaratmır. Sahibə təhlükəsizlik sərhədinin bir hissəsi kimi baxın, çünki o, insanları ayıra bilən interfeys daşıyır. Onun yenidən başladılması sənədləşdirilmiş bərpa yolu ilə rutin əməliyyat olmalıdır.
Soketə imtiyaz kimi baxın, metrika kimi deyil
İdarəetmə interfeysi istifadəçiləri ayıra bilər, vəziyyəti dəyişə və insanların adları çəkilən hadisələri oxuya bilər. Onun parolu müştərini autentifikasiya edir və nəqli şifrələmir, buna görə şəbəkə dinləyicisi söhbəti onu müşahidə edə bilən hər kəsə açıq edir.
Yerli soketə və ya ciddi məhdudlaşdırılmış dinləyiciyə üstünlük verin və kollektorunuzun həqiqətən hansı prosesə müraciət etdiyini yoxlayın, çünki server məhsulları öz idarəetmə API-lərini gətirir və onlar fərqli davranır. Yanlış demona yönəldilmiş kollektor əmin və səhv nəticələr verir. Heç nə qaytarmayan sorğunu sazlamadan əvvəl yolu və sahib prosesi təsdiqləyin.