Afegiu un segon portàtil al compte que ja funciona al telèfon, i el túnel del telèfon cau en menys d'un minut. O bé el dispositiu nou no acaba mai de connectar-se, i el client acaba amb un missatge de política en lloc d'un temps d'espera. La xarxa està bé en tots dos casos; la decisió s'ha pres per sobre d'ella. Un inici de sessió compartit és una identitat, i la majoria de serveis VPN compten aquesta identitat i no el nombre de dispositius que teniu. Treballo des de la pantalla del client cap enfora, perquè normalment mostra quina capa us ha refusat.

Llegeix el missatge del client abans de tocar la xarxa

Tres fallades semblen iguals i no ho són. Un temps d'espera vol dir que els vostres paquets no han arribat enlloc. Un error de TLS o de certificat vol dir que el punt final ha respost però l'encaixada de mans ha fallat. Un rebuig d'autenticació o de política vol dir que la passarel·la ha llegit les vostres credencials i després les ha refusat. Només el tercer pertany a una història de límit de sessions, així que fixeu-lo primer.

Els clients d'OpenVPN guarden les línies interessants al seu quadre de registre. Baixeu fins a l'últim intent de connexió i no fins al bucle de reintents que el segueix, i busqueu AUTH_FAILED o una cadena de motiu enviada. El client sovint informa d'un rebuig genèric sense explicació, així que la següent passa és el servidor, no la configuració del client. Les aplicacions del proveïdor són pitjor: un missatge de límit de dispositius és útil, però una connexió que s'enfonsa al cap de dos segons és una decisió de política, no una contrasenya dolenta. Anoteu el nom del dispositiu i l'hora exacta en qualsevol cas; un operador pot aparellar aquesta parella amb un registre d'accés en segons.

Compta les sessions on les compta el servidor

El comptador que importa viu a la passarel·la. OpenVPN escriu un fitxer d'estat quan el servidor s'inicia amb --status, on llista cada client connectat amb el seu nom comú, adreça real i comptadors de trànsit.

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

Dues files amb el mateix nom comú són dues sessions vives sota un certificat. Per defecte OpenVPN no les manté totes dues: sense --duplicate-cn, una segona connexió amb el mateix certificat substitueix la primera, i el dispositiu més antic perd el túnel. Aquesta substitució és la signatura d'un límit d'identitat. Una pèrdua de paquets aleatòria no desconnecta educadament exactament un dispositiu en el moment que n'apareix un altre.

WireGuard no té cap taula de sessions per inspeccionar. wg show wg0 imprimeix els parells i la seva última encaixada de mans, i cada dispositiu registrat és un parell amb la seva pròpia clau. Un compte compartit allà és un fitxer de configuració copiat a diverses màquines, i el límit ve de qualsevol cosa que reparteixi aquestes configuracions: un portal del proveïdor, un recompte de places o una regla lligada a la vostra adreça pública. El manual d'OpenVPN 2.6 documenta les opcions del costat del servidor si manteniu la vostra pròpia passarel·la.

Separa els quatre límits que s'amaguen darrere d'un sol missatge

La majoria de tiquets de compte compartit són una de quatre decisions d'admissió. El client no les pot distingir, però el patró de quin dispositiu falla sí.

Mateixa identitat, segona connexió. El dispositiu nou funciona i el vell mor en el mateix moment. És una regla de simultaneïtat per identitat aplicada per la passarel·la o pel sistema de comptes. No hi ha res trencat; el servei fa el que diu la seva política.

Recompte de places o dispositius al pla. Els primers dispositius es queden connectats i el següent es refusa mentre els altres continuen funcionant. Comproveu la llista de dispositius del proveïdor abans de canviar un client, perquè un límit de llicència no es pot arreglar des del costat del client.

Un sostre lligat a la vostra adreça pública. Dos portàtils darrere d'un sol router domèstic fallen mentre el mateix inici de sessió funciona des d'un punt d'accés del telèfon. Moveu el segon dispositiu a una altra xarxa per provar-ho. Si allà es connecta, esteu veient una regla per adreça o una regla NAT, no el recompte del compte.

Un màxim de tot el servidor. Tothom a la passarel·la falla a la mateixa hora punta, inclosos comptes que ahir anaven bé. El --max-clients d'OpenVPN es comporta així, i no té res a veure amb els dispositius que hàgiu registrat.

Neteja les sessions antigues abans de comprar més places

Una sessió que va acabar malament encara pot ocupar una plaça. La comptabilitat RADIUS escriu un registre quan comença una sessió i el tanca quan la sessió s'atura; quan un client desapareix, l'aturada no arriba mai i el servidor manté la sessió fins que caduca una actualització intermèdia o un temps d'espera. En una passarel·la FreeRADIUS podeu veure els registres oberts:

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

Un registre obert amb una hora d'inici antiga i sense trànsit pertany a un dispositiu que ja no hi és. Tanqueu-lo des de la consola de l'operador o amb una petició de desconnexió, abans de suposar que el límit era real. Els telèfons es tornen a connectar quan el Wi-Fi passa a la xarxa mòbil, i un portàtil pot portar un túnel al sistema operatiu i un altre dins d'una aplicació del proveïdor, cosa que compta com dues sessions d'una sola màquina.

Deixa de compartir una identitat entre dispositius que funcionen junts

La solució duradora és estructural. Doneu a cada dispositiu el seu propi certificat amb un nom comú únic, o el seu propi compte, i anoteu quina persona i quina màquina el té. A OpenVPN això vol dir un certificat de client per dispositiu, amb --duplicate-cn desactivat tret que vulgueu comportament de presa; a WireGuard, un parell de claus per dispositiu, generat allà i mai copiat.

Clonar un perfil per saltar-se un límit de dispositius trenca la revocació: revocar una còpia talla cada dispositiu que la comparteix, i el registre ja no pot dir quina màquina va fer què. Si el límit és comercial, la solució honesta és una plaça afegida; si és política interna, demaneu una segona identitat amb els mateixos drets d'accés.

Verifiqueu en un ordre fix

Proveu la reparació de la mateixa manera cada vegada, perquè el resultat signifiqui alguna cosa.

  • Tanca la sessió a cada dispositiu i confirma que la llista activa del servidor és buida; una entrada que no es neteja és una sessió antiga, no un error del client.
  • Connecta els dispositius d'un en un i mira la llista entre connexions.
  • Si dos han de funcionar junts, confirma que les dues files porten identitats diferents i que totes dues mantenen l'encaixada de mans fresca.
  • Repetiu-ho després d'un pas de Wi-Fi a mòbil, ja que una reconnexió pot crear un segon registre.

Si el dispositiu vell encara cau quan es connecta el nou, la passarel·la aplica una regla per identitat per a la qual no us han concedit cap excepció. Porteu a l'operador els noms dels dispositius, les marques de temps i la llista de sessions actives; això converteix una queixa vaga en una pregunta de política que poden respondre.

Articles relacionats