Pastabose turite common name ir adresą, o trys komandos visos atrodo šalinančios klientą. Tik viena daro tai, ko norite, o pasirinkimas priklauso nuo to, ar reikia užbaigti dabar veikiančią sesiją, atmesti kitą prisijungimą, ar visiškai atimti teisę jungtis. Prieš ką nors liesdami perskaitykite tapatybę, kurią iš tikrųjų turite, nes OpenVPN telkinys vėliau tą patį tunelio adresą atiduoda kitai sesijai.

Kokią tapatybę iš tikrųjų turite

3 versijos būsenos failas yra įprastas atspirties taškas. CLIENT_LIST skiltyje yra common name, tikrasis adresas, baitų skaitliukai ir prisijungimo laikas; ROUTING TABLE skiltyje virtualus adresas susiejamas su common name ir paskutinės nuorodos laiko žyma. Common name yra stabili tapatybė. Virtualus adresas yra priskyrimas, o tikrasis adresas už NAT gali keistis tarp sesijų, serveriui nesikeičiant.

Valdymo sąsaja rodo panašų vaizdą per savo komandą status ir prideda kliento ID kiekvienai sesijai. Būtent šio ID laukia client-kill, ir tai nėra tunelio adresas. Jei reikia žinoti, kuris common name prisijungimo metu gavo kurį adresą, client-connect scenarijaus aplinka turi abu kartu su patikimu išoriniu adresu, tačiau tas scenarijus vykdomas kaip OpenVPN naudotojas ir jam reikia įrašomos žurnalo vietos.

What you holdWhere it came fromWhat it can act on
Common nameCLIENT_LIST, or the auth hookkill, and credential revocation
Client IDstatus on the management socketclient-kill, that one session
Tunnel addressROUTING TABLE, client-connect environmentNothing durable, the address is recycled

Nužudyti dabar, atmesti prisijungiant, atšaukti visam laikui

Abi šalinimo komandos valdymo sąsajoje yra sesijos veiksmai. kill priima common name arba tikrą adresą ir prievadą; client-kill priima kliento ID ir nedelsiant užbaigia tą egzempliorių. Nė viena nėra blokavimas: išmestas klientas su galiojančiu sertifikatu ir slaptažodžiu vėl prisijungia per kelias sekundes, o tai gerai, kai perdirbate bandomąjį peer, ir nenaudinga, kai buvo pavogtas nešiojamasis kompiuteris.

client-deny yra kitokio pobūdžio sprendimas. Paprastai jis išduodamas iš autentifikavimo arba client-connect kablio ir atmeta sesiją su priežastimi, todėl tinka politikai, kuri atsisako prisijungimo, o ne tai, kuri nutraukia ryšį. Dokumentacija taip pat įspėja, kad TLS pakartotinio derėjimosi metu išduotas atmetimas panaikina iš naujo suderėtą raktą, o esama sesija gali veikti tol, kol užsidarys perėjimo langas. Jei reikalavimas yra, kad kliento nebeliktų dabar, dokumentuotas atsakymas yra client-kill.

Ilgalaikis pašalinimas yra po viso to. Atšaukite sertifikatą ir įsitikinkite, kad crl-verify nurodo sąrašą, kurį serveris tikrai įkelia iš naujo, išjunkite klientui būdingą konfigūracijos failą ccd kataloge arba išjunkite paskyrą tame backende, kurio klausia autentifikavimo kablys. Atšaukimas taip pat nėra akimirksnis: su numatytaisiais reneg-sec nustatymais užmegzta sesija gali veikti tol, kol persiderės, todėl sesijos veiksmas ir prisijungimo duomenų veiksmas vienas kitą papildo, o ne yra alternatyvos.

Ar valdymo lizdas laisvas?

Valdymo sąsaja aptarnauja vieną klientą vienu metu. Jei GUI ar stebėjimo tarnyba jau laiko ryšį, jūsų scenarijus negali prisijungti šalia, o priklausomai nuo kliento galite išstumti esamą, o ne gražiai nepavykti. Jo slaptažodis keliauja atviru tekstu tuo lizdu, todėl jis priklauso vietiniam adresui arba unix lizdui, niekada viešajai sąsajai.

Kai negalite paimti lizdo, vis dar turite galimybių, ir visos jos lėtesnės. Pirmiausia paleiskite GUI sesiją, jei ją kontroliuojate, arba priimkite kelią per prisijungimo duomenų sluoksnį ir laukite kito persiderėjimo. Ko neturėtumėte daryti, tai iš naujo paleisti paslaugą, kad atsikratytumėte vieno kliento, nes tai užbaigia ir visas kitas sesijas bei sunaikina šios sesijos būsenos failo įrodymus.

Seka, kurią vykdau veikiančiame serveryje

Prisijunkite, perskaitykite dabartinę būseną, veikite pagal ką tik perskaitytą ID ir perskaitykite jį dar kartą. Iš dokumento nukopijuotos reikšmės yra dažniausias būdas nužudyti ne tą žmogų.

status                     # note the client ID and common name
client-kill 3              # end that session now
kill Test-Client           # alternative: by common name
status                     # confirm the session is gone

Aukščiau esantis vardas ir numeris yra vietos žymekliai, o ID naudojami iš naujo po to, kai kiti klientai atsijungia. Prieš ką nors pažymėdami kaip atlikta, patvirtinkite, kad eilutės nėra, ir patikrinkite, ar prisijungusių klientų skaičius pasikeitė vienu, o ne keliais.

Patvirtinkite, kad jis pasiliko toli

Užrašykite common name, tunelio adresą, išorinį adresą ir pašalinimo minutę. Jei tas pats common name po minutės vėl pasirodo, sesijos veiksmas suveikė, o prisijungimo duomenų sluoksnis ne, ir tai yra visiškai kitas taisymas nei komandos, kuri niekada neįsigaliojo.

Tada išbandykite iš kliento pusės. Atšauktas sertifikatas turėtų nepavykti per kitą rankos paspaudimą; jei jis vis dar jungiasi, CRL visiškai neskaitomas, ir tai yra radinys, kurį verta pranešti. Pasirinkite veiksmą pagal tai, ką reikia užbaigti, patvirtinkite antruoju status ir sutaisykite prisijungimo duomenų sluoksnį, kai atsakymas turi išsilaikyti ilgiau nei sesija.

Susiję straipsniai