Labortabla grafika interfaco tenas la administran konekton, do monitora skripto, kiu provas malfermi sian propran, legas nenion aŭ, pli malbone, la interfaco ĉesas respondi al invitoj. La kutima konkludo estas, ke la demono estas malstabila. En la komunuma demono la limigo estas intenca: la rega interfaco servas unu konektitan administran klienton samtempe, kaj tiu nombro havas nenion komunan kun kiom da uzantoj la VPN povas porti.

Unu soketo, unu posedanto

La administra kanalo akceptas unu konektitan klienton. Kiam dua alvenas dum la unua estas aktiva, ĝi atendas aŭ estas rifuzata, kaj ne ekzistas paralela abonanta reĝimo kaŝita malantaŭ opcio. Malkonekti la nunan posedanton permesas al la demono akcepti la sekvan, kaj tio estas transdono, ne dua kanalo.

Tio igas ĉiun plian ilon konkuranto. Se la interfaco posedas la konekton, enketanta skripto aŭ malsukcesas aliĝi aŭ sukcesas nur post kiam la interfaco rezignis, kaj la sinsekvo ripetiĝas ĉe la sekva rekonekto. Se la skripto aliĝas unue, la interfaco perdas sian regan vojon kaj ĝiaj invitoj ĉesas funkcii. Neniu el la iloj raportas la konflikton, ĉar ĉiu vidas nur sian propran malsukcesintan komandon.

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

Decidu, kiu komponanto posedas la regadon

Elektu unu posedanton por la interaga kanalo kaj lasu ĝin esti la sola, kiu konektiĝas. Interfaco, kiu administras la konekton, skripto, kiu respondas al aŭtentigaj invitoj, kaj regilo, kiu finas sesiojn, ĉiuj nombriĝas kiel posedantoj, kaj nur unu povas teni la rolon.

Kiam interfaco posedas la konekton, uzu la integriĝon, kiun ĝi proponas, anstataŭ batali kontraŭ ĝi. Konkuro kun la posedanto pri la soketo produktas intermitajn paneojn, kiuj ŝajnas hazardaj al uzantoj, kaj tiu, kiu sencimigas, kutime vidas nur la duan duonon de la konkuro. Notu, kiu procezo konektiĝas unue post restartigo, ĉar tiu ordo decidas ĉiufoje, kiu venkas. Monitoro, kiu startas antaŭ la interfaco, tenos la kanalon ĝis la interfaco rezignos.

Uzu statajn momentbildojn por la kolektantoj

Plej multaj monitoraj bezonoj volas liston, ne konversacion. Perioda stata dosiero respondas tion sen tuŝi la regan kanalon, kaj ĝi daŭre funkcias dum la interfaco restas konektita.

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

La intervalo estas la freŝeca buĝeto, do agordu ĝin laŭ tio, kion la panelo vere bezonas, kaj ne laŭ la plej malgranda valoro, kiu ŝajnas sekura. Momentbildo skribata ĉiujn kelkajn sekundojn estas malmultekosta; skripto, kiu rekonektiĝas al la rega soketo ĉiujn kelkajn sekundojn, ne estas, ĉar ĉiu rekonekto konkurigas la posedanton.

Momentbildo ne estas historio kaj ne estas eventfluo. Konektoj, kiuj alvenas kaj foriras ene de unu intervalo, neniam aperas, do aŭdita postulo ne povas esti plenumita per enketado de dosiero, kiu superskribas sin mem. Se vi devas scii, ĉu uzanto entute konektiĝis, la momentbildo estas la malĝusta instrumento.

Disradiado estas dezajno, ne reĝimo

Se pluraj konsumantoj vere bezonas vivajn administrajn datumojn, metu unu fidindan komponanton antaŭ la soketon kaj lasu ĝin publikigi strikte elektitajn observojn al la ceteraj. Tiu komponanto posedas la rekonekton, la aŭtentigajn invitojn kaj la decidon pri tio, kio estas sekura malkaŝi.

Konstruu ĝin konscie: difinu, kiuj demandoj estas permesataj, registru kiu demandis, kaj evitu, ke la disradia tavolo hazarde fariĝu fora regpanelon. La demono havas neniun plurklientan reĝimon por ŝalti, kaj neniu agorda linio kreas unu. Traktu la posedanton kiel parton de la sekureca limo, ĉar ĝi tenas interfacon, kiu povas malkonekti homojn. Restartigi ĝin devus esti rutina operacio kun dokumentita reakira vojo.

Traktu la soketon kiel privilegion, ne kiel metrikojn

La administra interfaco povas malkonekti uzantojn, ŝanĝi staton kaj legi eventojn, kiuj nomas homojn. Ĝia pasvorto aŭtentigas la klienton kaj ne ĉifras la transporton, do reta aŭskultanto elmetas la konversacion al ĉiu, kiu povas observi ĝin.

Preferu lokan soketon aŭ strikte limigitan aŭskultanton, kaj kontrolu, al kiu procezo via kolektanto efektive sin direktas, ĉar servilaj produktoj liveras proprajn administrajn API-ojn, kiuj kondutas alie. Kolektanto direktita al la malĝusta demono produktas memfidajn kaj malĝustajn konkludojn. Konfirmu la vojon kaj la posedan procezon antaŭ ol sencimigi demandon, kiu redonas nenion.

Rilataj artikoloj