Du tilføjer en ekstra bærbar til den konto, der allerede kører på din telefon, og telefonens tunnel falder ud inden for et minut. Eller den nye enhed færdiggør aldrig forbindelsen, og klienten ender på en politikbesked i stedet for en timeout. Netværket er i orden i begge tilfælde; der blev truffet en adgangsbeslutning oven over det. Et delt login er én identitet, og de fleste VPN-tjenester tæller den identitet frem for antallet af enheder, du ejer. Jeg arbejder udefra og ind fra klientens skærm, som normalt viser, hvilket lag der afviste dig.

Læs klientens besked, før du rører netværket

Tre fejl ser ens ud og er det ikke. En timeout betyder, at dine pakker ikke nåede noget. En TLS- eller certifikatfejl betyder, at endepunktet svarede, men håndtrykket fejlede. En afvisning af godkendelse eller politik betyder, at gatewayen læste dine legitimationsoplysninger og derefter afviste dem. Kun den tredje hører til en historie om sessionsgrænser, så fastslå den først.

OpenVPN-klienter gemmer de interessante linjer i deres logpanel. Rul til det sidste forbindelsesforsøg i stedet for gentagelsesløkken, der følger efter, og led efter AUTH_FAILED eller en sendt årsagstekst. Klienten rapporterer ofte en generisk afvisning uden forklaring, så næste skridt er serveren, ikke klientens indstillinger. Udbydernes apps er værre: en besked om enhedsgrænse er nyttig, men en forbindelse, der bryder sammen efter to sekunder, er en politikbeslutning, ikke en dårlig adgangskode. Skriv enhedens navn og det præcise tidspunkt ned under alle omstændigheder; en operatør kan matche det par mod en adgangslog på sekunder.

Tæl sessioner, hvor serveren tæller dem

Den tæller, der betyder noget, bor på gatewayen. OpenVPN skriver en statusfil, når serveren startes med --status, og lister hver forbundet klient med dens fælles navn, rigtige adresse og trafiktællere.

cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock

To rækker med samme fælles navn er to levende sessioner under ét certifikat. Som standard beholder OpenVPN ikke begge: uden --duplicate-cn erstatter en anden forbindelse med samme certifikat den første, og den ældre enhed mister sin tunnel. Den erstatning er signaturen på en identitetsgrænse. Tilfældigt pakketab frakobler ikke høfligt præcis én enhed i det øjeblik, en anden dukker op.

WireGuard har ingen sessionstabel at inspicere. wg show wg0 udskriver peers og deres seneste håndtryk, og hver tilmeldt enhed er en peer med sin egen nøgle. En delt konto dér er en konfigurationsfil kopieret til flere maskiner, og grænsen kommer fra det, der udleverer de konfigurationer: en udbyderportal, et antal pladser eller en regel knyttet til din offentlige adresse. OpenVPN 2.6-manualen dokumenterer serverindstillingerne, hvis du selv driver en gateway.

Adskil de fire grænser, der skjuler sig bag én besked

De fleste sager om delte konti er en af fire adgangsbeslutninger. Klienten kan ikke skelne dem, men mønsteret i hvilken enhed der fejler, kan.

Samme identitet, anden forbindelse. Den nye enhed virker, og den gamle dør i samme øjeblik. Det er en samtidighedsregel pr. identitet, som gatewayen eller kontosystemet håndhæver. Intet er gået i stykker; tjenesten gør, hvad dens politik siger.

Antal pladser eller enheder på abonnementet. De første enheder forbliver forbundet, og den næste afvises, mens de andre fortsætter. Tjek udbyderens enhedsliste, før du ændrer en klient, for en licensgrænse kan ikke rettes fra klientsiden.

Et loft knyttet til din offentlige adresse. To bærbare bag én hjemmerouter fejler, mens samme login virker fra en telefonhotspot. Flyt den anden enhed til et andet netværk for at teste det. Hvis den opretter forbindelse der, ser du på en regel pr. adresse eller en NAT-regel, ikke på kontoens antal.

Et maksimum for hele serveren. Alle på gatewayen fejler i samme travle time, også konti, der var fine i går. OpenVPNs --max-clients opfører sig sådan, og det har intet at gøre med dine tilmeldte enheder.

Ryd op i forældede sessioner, før du køber flere pladser

En session, der sluttede dårligt, kan stadig holde en plads. RADIUS-regnskab skriver en post, når en session starter, og lukker den, når sessionen stopper; når en klient forsvinder, kommer stoppen aldrig, og serveren beholder sessionen, indtil en midlertidig opdatering eller en timeout udløber. På en FreeRADIUS-gateway kan du se de åbne poster:

SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;

En åben post med et gammelt starttidspunkt og ingen trafik tilhører en enhed, der allerede er væk. Luk den via operatørens konsol eller med en afbrydelsesanmodning, før du antager, at grænsen var reel. Telefoner genopretter forbindelse, når Wi-Fi overdrager til mobildata, og en bærbar kan køre en tunnel i styresystemet plus en anden inde i en udbyderapp, hvilket tæller som to sessioner fra én maskine.

Hold op med at dele én identitet mellem enheder, der kører sammen

Den holdbare løsning er strukturel. Giv hver enhed sit eget certifikat med et unikt fælles navn eller sin egen konto, og registrér, hvilken person og maskine der har den. På OpenVPN betyder det ét klientcertifikat pr. enhed, med --duplicate-cn slået fra, medmindre du vil have overtagelsesadfærd; på WireGuard ét nøglepar pr. enhed, genereret dér og aldrig kopieret.

At klone en profil for at omgå en enhedsgrænse ødelægger tilbagekaldelse: tilbagekaldelse af én kopi skærer hver enhed, der deler den, og loggen kan ikke længere sige, hvilken maskine der gjorde hvad. Hvis grænsen er kommerciel, er den ærlige løsning en ekstra plads; hvis det er intern politik, så bed om en anden identitet med samme adgangsrettigheder.

Verificér i en fast rækkefølge

Test reparationen på samme måde hver gang, så resultatet betyder noget.

  • Log ud på hver enhed, og bekræft at serverens aktive liste er tom; en post, der ikke ryddes, er en forældet session, ikke en klientfejl.
  • Tilslut enhederne én ad gangen, og hold øje med listen mellem forbindelserne.
  • Hvis to skal køre sammen, så bekræft, at begge rækker har forskellige identiteter, og at begge holder deres håndtryk frisk.
  • Gentag efter en overgang fra Wi-Fi til mobildata, da en genoprettet forbindelse kan skabe en ny post.

Hvis den gamle enhed stadig falder ud, når den nye opretter forbindelse, håndhæver gatewayen en regel pr. identitet, som du ikke har fået en undtagelse til. Tag enhedsnavnene, tidsstemplerne og listen over aktive sessioner med til operatøren; det gør en vag klage til et politikspørgsmål, de kan svare på.

Relaterede artikler