Тек бір басқару клиенті: неге мониторыңыз графикалық интерфейсті шығарып тастайды
Басқару сокеті бір уақытта бір қосылымды қабылдайды. Екінші абонент не қосыла алмайды, не сұрауларды ұстаған компоненттен басқаруды ұрлайды.
Жұмыс үстелінің графикалық интерфейсі басқару байланысын ұстайды, сондықтан өзінің байланысын ашуға тырысқан мониторинг скрипті ештеңе оқымайды немесе, одан да жаман, интерфейс сұрауларға жауап беруді тоқтатады. Әдеттегі қорытынды — демон тұрақсыз. Қауымдастық демонында шектеу әдейі: басқару интерфейсі бір уақытта бір қосылған басқару клиентіне қызмет көрсетеді, және бұл сан VPN қанша пайдаланушыны көтере алатынына ешқандай қатысы жоқ.
Бір сокет, бір иеленуші
Басқару арнасы бір қосылған клиентті қабылдайды. Біріншісі белсенді кезде екіншісі келсе, ол күтеді немесе қабылданбайды, және опцияның артында жасырылған параллель абонент режимі жоқ. Ағымдағы иеленушіні ажырату демонге келесісін қабылдауға мүмкіндік береді, және бұл екінші арна емес, тапсыру.
Бұл әрбір қосымша құралды бәсекелеске айналдырады. Егер байланысты интерфейс иеленсе, сұрау скрипті не қосыла алмайды, не интерфейс бас тартқаннан кейін ғана сәтті болады, және реттілік келесі қайта қосылуда қайталанады. Егер скрипт бірінші қосылса, интерфейс өзінің басқару жолын жоғалтады және оның сұраулары жұмыс істеуді тоқтатады. Құралдардың ешқайсысы қақтығыс туралы хабарламайды, себебі әрқайсысы тек өзінің сәтсіз командасын көреді.
| 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 |
Қай компонент басқаруды иеленетінін шешіңіз
Интерактивті арна үшін бір иеленуші таңдаңыз және тек сол қосылсын. Байланысты басқаратын интерфейс, аутентификация сұрауларына жауап беретін скрипт және сессияларды тоқтататын контроллер барлығы иеленуші болып есептеледі, және рөлді тек біреуі ұстай алады.
Интерфейс байланысты иеленсе, онымен күресу орнына ол ұсынатын интеграцияны пайдаланыңыз. Сокет үшін иеленушімен жарыс пайдаланушыларға кездейсоқ көрінетін үзілісті ақаулар тудырады, ал жөндеуші әдетте жарыстың тек екінші жартысын көреді. Қайта жүктеуден кейін қай процесс бірінші қосылатынын жазып алыңыз, өйткені бұл рет әр уақытта кім жеңетінін шешеді. Интерфейстен бұрын іске қосылған монитор арнаны интерфейс бас тартқанша ұстап тұрады.
Жинаушылар үшін күй суреттерін пайдаланыңыз
Мониторинг қажеттіліктерінің көбі тізімді қажет етеді, әңгімені емес. Мерзімді күй файлы басқару арнасына тиіспей-ақ соған жауап береді және интерфейс қосылып тұрғанша жұмысын жалғастырады.
status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix
Аралық жаңалық бюджеті, сондықтан оны панельге шынымен қажет нәрсеге қарай орнатыңыз, қауіпсіз көрінетін ең кіші мәнге қарай емес. Бірнеше секунд сайын жазылатын сурет арзан; бірнеше секунд сайын басқару сокетіне қайта қосылатын скрипт арзан емес, өйткені әр қайта қосылу иеленушімен бәсекелеседі.
Сурет тарих та емес, оқиғалар ағыны да емес. Бір аралық ішінде келіп кететін байланыстар ешқашан көрінбейді, сондықтан аудит талабы өзін қайта жазатын файлды сұрау арқылы орындалмайды. Егер пайдаланушының мүлдем қосылғанын білу қажет болса, сурет дұрыс емес құрал.
Тарату — дизайн, режим емес
Егер бірнеше тұтынушыға шынымен тірі басқару деректері қажет болса, сокеттің алдына бір сенімді компонент қойыңыз және оған тар таңдалған бақылауларды қалғандарына жариялауға рұқсат беріңіз. Сол компонент қайта қосылуды, аутентификация сұрауларын және ненің ашылуы қауіпсіз екендігі туралы шешімді иеленеді.
Оны әдейі құрыңыз: қандай сұрауларға рұқсат етілгенін анықтаңыз, кім сұрағанын жазыңыз және тарату қабатының кездейсоқ қашықтан басқару панеліне айналуына жол бермеңіз. Демонда қосылатын көпклиенттік режим жоқ және ешбір конфигурация жолы оны жасамайды. Иеленушіге қауіпсіздік шекарасының бөлігі ретінде қараңыз, өйткені ол адамдарды ажырата алатын интерфейсті ұстайды. Оны қайта іске қосу құжатталған қалпына келтіру жолы бар күнделікті операция болуы керек.
Сокетке артықшылық ретінде қараңыз, метрика ретінде емес
Басқару интерфейсі пайдаланушыларды ажырата алады, күйді өзгерте алады және адамдардың аты аталатын оқиғаларды оқи алады. Оның құпиясөзі клиентті аутентификациялайды және тасымалды шифрламайды, сондықтан желілік тыңдаушы әңгімені оны байқай алатын кез келгенге ашады.
Жергілікті сокетке немесе қатаң шектелген тыңдаушыға басымдық беріңіз және жинаушыңыз шын мәнінде қай процеске жүгінетінін тексеріңіз, өйткені сервер өнімдері өздерінің басқару API-лерін әкеледі және олар басқаша әрекет етеді. Қате демонға бағытталған жинаушы сенімді және қате қорытындылар береді. Ештеңе қайтармайтын сұрауды жөндеу алдында жол мен иеленуші процесті растаңыз.