Keegi palub VPN-kliendi uuesti ühendada ja see palve võib tähendada kolme erinevat asja. See võib tähendada ühe autenditud seansi katkestamist, kõigi klientide teavitamist, et UDP-server lahkub, või deemonile endale taaskäivituse tegemist. Igal on erinev mõjuraadius ja vale valik muudab ühe kasutaja paranduse kogu teenuse katkestuseks. Ulatus on otsus ja käsk tuleneb sellest.

Küsige, keda see peaks mõjutama, enne kui küsida, millist juhtimisvahendit kasutada.

Üks eksemplar: haldusliides

Seadistatud haldusliides saab loetleda ühendatud eksemplarid ja katkestada täpselt ühe neist. Iga seanss kannab kliendi identifikaatorit ja client-kill CID sihib seda identifikaatorit, mitte üldnime. Lugege elav identifikaator praegusest olekuväljundist, sest vanemast logist kopeeritud väärtus viitab seansile, mida enam ei ole. Eksemplari katkestamine lõpetab selle ühenduse ega midagi muud.

See ei taga uut ühendust. Kas klient naaseb, sõltub selle korduskatse seadetest, allesjäänud kaugkirjetest, autentimisnõuetest ja sellest, kas järelevalverakendus veel töötab. Naasev klient saab uue identifikaatori ja seetõttu on identifikaatorite võrdlemine ainus usaldusväärne viis vana uuest eristada.

UDP väljumisteade ei ole ühe kliendi käsk

explicit-exit-notify on seadistusdirektiiv väljumis- ja taaskäivitussündmuste kohta. UDP-kliendil teatab see teisele poolele, et seanss lõpeb, ja numbriline argument juhib, mitu korda teadet korratakse. Kui server töötab UDP kaudu, saadab see ühendatud klientidele taaskäivituse juhtimisteate, ja dokumenteeritud väärtused eristavad samasse serverisse uuesti ühendumist teisele kaugkirjele liikumisest. See on laia publikuga elutsükli signaal.

Mitte miski selles ei vali suvalist klienti suvalisel hetkel. Selle käsitlemine uuestiühendamise nupuna jõuab korraga igasse ühendatud seanssi.

Signaalid mõjutavad protsessi, mitte seanssi

SIGUSR1 palub töötaval protsessil oma ühendus taaskäivitada ilma seadistust uuesti lugemata, ja püsivuse valikud otsustavad, mis selle taaskäivituse üle elab. SIGHUP läheb kaugemale: see loeb seadistusfaili uuesti ja avab oma ressursid uuesti. SIGTERM ja SIGINT paluvad korrapärast sulgemist. Need on protsessitasandi toimingud: mitme kliendiga serveris mõjutavad need iga seanssi, mida protsess kannab, mitte seda, mis on piletil.

Kui protsess töötab teenusehalduri all, kasutage halduri enda juhtimist, mitte ärge saatke signaali PID-ile, mille leidsite protsesside loendist. Lugege üksust, et näha, millist signaali haldur saadab, sest taaskäivitamine ja uuesti laadimine teevad samale deemonile erinevaid asju.

Otsustage ulatus enne juhtimisvahendi valimist

Kolm küsimust otsustavad selle. Keda peaks mõjutama: üks kasutaja, ühe serveri kõik kliendid või deemon ja kõik, mida see kannab. Mis peaks alles jääma: seadistus, tunneliolek või mitte kumbki. Kes on selleks volitatud: haldusintegratsioon, teenuse omanik või võrguoperaator, kes juhib väljumisteadet. Vastake neile ja sobib ainult üks juhtimisvahend.

Autentimata halduskuulaja lisamine uuestiühendamise nupu saamiseks annab kõigile, kes pääsevad pordile ligi, palju enamat kui see nupp.

Kontrollige uut seanssi, mitte katkestust

Katkestussündmus tõestab, et vana seanss lõppes. See ei ütle midagi uue kohta, mis autenditakse, saab aadressi, paigaldab marsruudid või jõuab ressursini, mida kasutaja vajas. Kontrollige uut identifikaatorit, seejärel tunneliolekut, seejärel üht päris ressurssi. Need kolm sammu on vahe uuestiühendamise ja töötava ühenduse vahel.

Kirjutage ulatus muudatuste kirjesse. „Ühendasin kliendi uuesti“ ei ole kirjeldus, kui klient oli üks neljakümnest jagatud serveris.

Seotud artiklid