Bendros VPN paskyros sesijų limitas: kodėl vienas įrenginys atsijungia
Bendras prisijungimas pasiekia vienalaikių sesijų ribą ir vienas įrenginys atsijungia. Perskaitykite kliento pranešimą, suskaičiuokite sesijas serveryje ir tada pataisykite tapatybės modelį.
Prie paskyros, kuri jau veikia telefone, pridedate antrą nešiojamąjį kompiuterį, ir telefono tunelis nutrūksta per minutę. Arba naujas įrenginys niekada nebaigia prisijungimo, o klientas baigiasi politikos pranešimu, o ne laukimo pabaiga. Abiem atvejais tinklas tvarkingas; sprendimas priimtas aukščiau jo. Bendras prisijungimas yra viena tapatybė, ir dauguma VPN paslaugų skaičiuoja tą tapatybę, o ne turimų įrenginių skaičių. Aš dirbu nuo kliento ekrano į išorę, nes jis paprastai parodo, kuris sluoksnis jus atmetė.
Perskaitykite kliento pranešimą prieš liesdami tinklą
Trys gedimai atrodo panašiai ir nėra tokie. Laukimo pabaiga reiškia, kad jūsų paketai niekur nepasiekė. TLS arba sertifikato klaida reiškia, kad galinis taškas atsakė, bet rankos paspaudimas nepavyko. Autentifikavimo arba politikos atmetimas reiškia, kad šliuzas perskaitė jūsų duomenis ir tada juos atmetė. Tik trečiasis priklauso sesijų limito istorijai, todėl pirmiausia jį nustatykite.
OpenVPN klientai įdomias eilutes laiko žurnalo skydelyje. Slinkite iki paskutinio prisijungimo bandymo, o ne į po jo einantį kartojimo ciklą, ir ieškokite AUTH_FAILED arba atsiųsto priežasties teksto. Klientas dažnai praneša apie bendrą atmetimą be paaiškinimo, tad kitas žingsnis yra serveris, o ne kliento nustatymai. Tiekėjų programėlės dar blogesnės: įrenginių limito pranešimas naudingas, bet ryšys, kuris sugriūva po dviejų sekundžių, yra politikos sprendimas, o ne blogas slaptažodis. Bet kuriuo atveju užsirašykite įrenginio pavadinimą ir tikslų laiką; operatorius tą porą gali palyginti su prieigos įrašu per sekundes.
Suskaičiuokite sesijas ten, kur jas skaičiuoja serveris
Svarbus skaitiklis yra šliuze. OpenVPN rašo būsenos failą, kai serveris paleidžiamas su --status, ir išvardija kiekvieną prisijungusį klientą su jo bendru vardu, tikru adresu ir srauto skaitikliais.
cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock
Dvi eilutės su tuo pačiu bendru vardu yra dvi gyvos sesijos pagal vieną sertifikatą. Pagal nutylėjimą OpenVPN nelaiko abiejų: be --duplicate-cn antrasis ryšys su tuo pačiu sertifikatu pakeičia pirmąjį, ir senesnis įrenginys praranda savo tunelį. Tas pakeitimas yra tapatybės limito parašas. Atsitiktinis paketų praradimas mandagiai neatjungia tiksliai vieno įrenginio tuo metu, kai pasirodo kitas.
WireGuard neturi sesijų lentelės, kurią būtų galima apžiūrėti. wg show wg0 išspausdina partnerius ir jų paskutinį rankos paspaudimą, o kiekvienas užregistruotas įrenginys yra partneris su savo raktu. Bendras prisijungimas ten yra konfigūracijos failas, nukopijuotas į kelias mašinas, o limitas kyla iš to, kas tuos failus dalija: tiekėjo portalas, vietų skaičius arba taisyklė, susieta su jūsų viešuoju adresu. OpenVPN 2.6 vadove aprašytos serverio pusės parinktys, jei valdote savo šliuzą.
Atskirkite keturis limitus, besislepiančius už vieno pranešimo
Dauguma bendros paskyros bilietų yra vienas iš keturių priėmimo sprendimų. Klientas negali jų atskirti, bet kuris įrenginys nepavyksta, tai gali.
Ta pati tapatybė, antrasis ryšys. Naujas įrenginys veikia, o senasis miršta tą pačią akimirką. Tai tapatybės lygio vienalaikiškumo taisyklė, kurią vykdo šliuzas arba paskyrų sistema. Niekas nesugedę; paslauga daro tai, ką sako jos politika.
Vietų arba įrenginių skaičius plane. Pirmieji įrenginiai lieka prisijungę, o kitas atmetamas, kol likusieji dirba. Prieš keisdami klientą patikrinkite tiekėjo įrenginių sąrašą, nes licencijos limito iš kliento pusės suremontuoti negalima.
Riba, susieta su jūsų viešuoju adresu. Du nešiojamieji už vieno namų maršrutizatoriaus nepavyksta, o tas pats prisijungimas veikia iš telefono prieigos taško. Kad išbandytumėte, perkelkite antrą įrenginį į kitą tinklą. Jei ten prisijungia, matote taisyklę pagal adresą arba NAT taisyklę, o ne paskyros skaičių.
Viso serverio maksimumas. Visi šliuze nepavyksta tą pačią piko valandą, įskaitant paskyras, kurios vakar buvo tvarkingos. OpenVPN --max-clients elgiasi būtent taip, ir tai neturi nieko bendra su jūsų užregistruotais įrenginiais.
Išvalykite pasenusias sesijas prieš pirkdami daugiau vietų
Blogai pasibaigusi sesija vis dar gali užimti vietą. RADIUS apskaita įrašo įrašą, kai sesija prasideda, ir uždaro jį, kai sesija sustoja; kai klientas dingsta, sustojimas niekada neateina, ir serveris laiko sesiją, kol baigiasi tarpinis atnaujinimas arba laukimo laikas. FreeRADIUS šliuze galite matyti atvirus įrašus:
SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;
Atviras įrašas su senu pradžios laiku ir be srauto priklauso jau išėjusiam įrenginiui. Uždarykite jį operatoriaus konsolėje arba atjungimo užklausa, prieš manydami, kad limitas buvo tikras. Telefonai vėl prisijungia, kai Wi-Fi perduoda mobiliojo ryšio tinklui, o nešiojamasis kompiuteris gali turėti vieną tunelį OS viduje ir dar vieną tiekėjo programėlėje, o tai skaičiuojama kaip dvi sesijos iš vienos mašinos.
Nustokite dalytis viena tapatybe tarp įrenginių, kurie veikia kartu
Ilgalaikė pataisa yra struktūrinė. Suteikite kiekvienam įrenginiui savo sertifikatą su unikaliu bendru vardu arba savo paskyrą, ir užrašykite, kuris asmuo ir kuri mašina jį turi. OpenVPN atveju tai reiškia vieną kliento sertifikatą įrenginiui, o --duplicate-cn paliekama išjungta, nebent norite perėmimo elgsenos; WireGuard atveju viena raktų pora įrenginiui, sugeneruota ten ir niekada nenukopijuota.
Profilio klonavimas apeinant įrenginių limitą sugriauna panaikinimą: panaikinus vieną kopiją, nutraukiamas kiekvienas įrenginys, kuris ją dalijasi, ir žurnalas nebegali pasakyti, kuri mašina ką padarė. Jei limitas komercinis, sąžininga pataisa yra papildoma vieta; jei tai vidinė politika, paprašykite antros tapatybės su tokiomis pačiomis prieigos teisėmis.
Tikrinkite fiksuota tvarka
Kiekvieną kartą taisymą tikrinkite taip pat, kad rezultatas ką nors reikštų.
- Atsijunkite kiekviename įrenginyje ir patvirtinkite, kad aktyvus serverio sąrašas tuščias; įrašas, kuris neišsivalo, yra pasenusi sesija, o ne kliento klaida.
- Prijunkite įrenginius po vieną ir tarp prisijungimų stebėkite sąrašą.
- Jei du turi veikti kartu, patvirtinkite, kad abi eilutės turi skirtingas tapatybes ir abi palaiko šviežią rankos paspaudimą.
- Pakartokite po perėjimo iš Wi-Fi į mobilųjį ryšį, nes prisijungimas iš naujo gali sukurti antrą įrašą.
Jei senas įrenginys vis dar atsijungia, kai prisijungia naujas, šliuzas taiko tapatybės taisyklę, kuriai jums nebuvo suteikta išimtis. Nuneškite operatoriui įrenginių pavadinimus, laiko žymes ir aktyvių sesijų sąrašą; tai neaiškų skundą paverčia politikos klausimu, į kurį jie gali atsakyti.