Sesjonsgrense for en delt VPN-konto: hvorfor én enhet faller ut
En delt innlogging når grensen for samtidige sesjoner, og én enhet faller ut. Les klientens melding, tell sesjoner på serversiden og rett deretter identitetsmodellen.
Du legger til en ekstra bærbar PC på kontoen som allerede kjører på telefonen, og telefonens tunnel faller ut innen et minutt. Eller den nye enheten fullfører aldri tilkoblingen, og klienten ender på en policymelding i stedet for en tidsavbrudd. Nettverket er i orden i begge tilfeller; beslutningen ble tatt over det. En delt innlogging er én identitet, og de fleste VPN-tjenester teller den identiteten i stedet for antallet enheter du eier. Jeg arbeider fra klientens skjerm og utover, fordi den vanligvis viser hvilket lag som avviste deg.
Les klientens melding før du rører nettverket
Tre feil ser like ut og er det ikke. En tidsavbrudd betyr at pakkene dine ikke nådde noe. En TLS- eller sertifikatfeil betyr at endepunktet svarte, men håndtrykket mislyktes. En avvisning av autentisering eller policy betyr at gatewayen leste påloggingsinformasjonen din og deretter avviste den. Bare den tredje hører til en historie om sesjonsgrense, så fastslå den først.
OpenVPN-klienter holder de interessante linjene i loggpanelet sitt. Rull til det siste tilkoblingsforsøket i stedet for gjentakelsesløkken som følger, og se etter AUTH_FAILED eller en sendt årsakstekst. Klienten rapporterer ofte en generisk avvisning uten forklaring, så neste steg er serveren, ikke klientens innstillinger. Leverandørenes apper er verre: en melding om enhetsgrense er nyttig, men en tilkobling som kollapser etter to sekunder er en policybeslutning, ikke et dårlig passord. Skriv ned enhetens navn og det nøyaktige tidspunktet uansett; en operatør kan matche paret mot en tilgangspost på sekunder.
Tell sesjoner der serveren teller dem
Telleren som betyr noe, bor på gatewayen. OpenVPN skriver en statusfil når serveren startes med --status, og lister hver tilkoblet klient med sitt fellesnavn, virkelige adresse og trafikktellere.
cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock
To rader med samme fellesnavn er to levende sesjoner under ett sertifikat. Som standard beholder ikke OpenVPN begge: uten --duplicate-cn erstatter en andre tilkobling med samme sertifikat den første, og den eldre enheten mister tunnelen sin. Den erstatningen er signaturen på en identitetsgrense. Tilfeldig pakketap kobler ikke høflig fra nøyaktig én enhet i det øyeblikket en annen dukker opp.
WireGuard har ingen sesjonstabell å inspisere. wg show wg0 skriver ut peere og deres siste håndtrykk, og hver registrert enhet er en peer med sin egen nøkkel. En delt konto der er en konfigurasjonsfil kopiert til flere maskiner, og grensen kommer fra det som deler ut disse konfigurasjonene: en leverandørportal, et antall plasser eller en regel knyttet til din offentlige adresse. OpenVPN 2.6-håndboken dokumenterer serverinnstillingene hvis du driver din egen gateway.
Skill de fire grensene som skjuler seg bak én melding
De fleste saker om delt konto er én av fire adgangsbeslutninger. Klienten kan ikke skille dem, men mønsteret i hvilken enhet som svikter kan.
Samme identitet, andre tilkobling. Den nye enheten virker, og den gamle dør i samme øyeblikk. Det er en samtidighetsregel per identitet som håndheves av gatewayen eller kontosystemet. Ingenting er ødelagt; tjenesten gjør det policyen sier.
Antall plasser eller enheter på abonnementet. De første enhetene forblir tilkoblet, og den neste avvises mens de andre fortsetter. Sjekk leverandørens enhetsliste før du endrer en klient, fordi en lisensgrense ikke kan rettes opp fra klientsiden.
En grense knyttet til din offentlige adresse. To bærbare bak én hjemmeruter feiler mens samme innlogging virker fra en telefonhotspot. Flytt den andre enheten til et annet nettverk for å teste. Hvis den kobler til der, ser du på en regel per adresse eller en NAT-regel, ikke kontotallet.
Et maksimum for hele serveren. Alle på gatewayen feiler i samme travel time, også kontoer som var i orden i går. OpenVPNs --max-clients oppfører seg slik, og det har ingenting med de registrerte enhetene dine å gjøre.
Rydd opp i utdaterte sesjoner før du kjøper flere plasser
En sesjon som endte dårlig kan fortsatt holde på en plass. RADIUS-regnskap skriver en post når en sesjon starter og lukker den når sesjonen stopper; når en klient forsvinner, kommer stoppen aldri, og serveren beholder sesjonen til en mellomoppdatering eller tidsavbrudd utløper. På en FreeRADIUS-gateway kan du se de åpne postene:
SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;
En åpen post med gammelt starttidspunkt og ingen trafikk tilhører en enhet som allerede er borte. Lukk den via operatørens konsoll eller med en frakoblingsforespørsel, før du antar at grensen var reell. Telefoner kobler til på nytt når Wi-Fi overlater til mobilnettet, og en bærbar kan kjøre én tunnel i operativsystemet pluss en annen inne i en leverandørapp, noe som telles som to sesjoner fra én maskin.
Slutt å dele én identitet mellom enheter som kjører sammen
Den varige rettelsen er strukturell. Gi hver enhet sitt eget sertifikat med et unikt fellesnavn, eller sin egen konto, og registrer hvilken person og maskin som har den. På OpenVPN betyr det ett klient sertifikat per enhet, med --duplicate-cn slått av med mindre du vil ha overtagelsesatferd; på WireGuard ett nøkkelpar per enhet, generert der og aldri kopiert.
Å klone en profil for å omgå en enhetsgrense ødelegger tilbakekalling: tilbakekalling av én kopi kutter hver enhet som deler den, og loggen kan ikke lenger si hvilken maskin som gjorde hva. Hvis grensen er kommersiell, er den ærlige rettelsen en ekstra plass; hvis det er intern policy, be om en andre identitet med de samme tilgangsrettighetene.
Verifiser i fast rekkefølge
Test rettelsen på samme måte hver gang, slik at resultatet betyr noe.
- Logg ut på hver enhet og bekreft at serverens aktive liste er tom; en oppføring som ikke ryddes, er en utdatert sesjon, ikke en klientfeil.
- Koble til enhetene én om gangen og følg listen mellom tilkoblingene.
- Hvis to må kjøre sammen, bekreft at begge radene har ulike identiteter og at begge holder håndtrykket ferskt.
- Gjenta etter en overgang fra Wi-Fi til mobilnett, siden en gjenoppkobling kan lage en andre post.
Hvis den gamle enheten fortsatt faller ut når den nye kobler til, håndhever gatewayen en regel per identitet som du ikke har fått unntak for. Ta med enhetsnavnene, tidsstemplene og listen over aktive sesjoner til operatøren; det gjør en vag klage til et policyspørsmål de kan svare på.