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 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

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.

Əlaqəli məqalələr