Perché solo un client VPN si connette dietro lo stesso router
Il secondo portatile va in timeout mentre il primo funziona. Confrontate il registro del server, il comportamento di traversata del router e se i due dispositivi condividono un'identità.
Due portatili si trovano sulla stessa rete domestica, e la VPN dell'ufficio ne accetta esattamente uno. Il secondo o va in timeout o attende che il primo si disconnetta, e nessuno ha toccato un'impostazione del client tra i due tentativi. Le credenziali sono le stesse che funzionavano un minuto fa, ed è l'indizio che l'autenticazione non è il guasto. Tre meccanismi producono questo schema, e il registro del server stesso dice a quale state assistendo.
Leggete il registro del gateway prima di toccare un client
La registrazione del server dei due tentativi risponde alla prima domanda, e lo fa in uno di tre modi. Se il secondo tentativo non compare mai in quel registro, il pacchetto non è mai arrivato all'ascoltatore, e il problema è del router domestico o del percorso del fornitore. Se il registro annota un tentativo e lo rifiuta, il tunnel è arrivato, quindi la questione è identità, licenza o limite di sessioni, non qualcosa sul filo. Se il registro annota una sessione riuscita mentre il client segnala ancora un errore, guardate il percorso di ritorno o il fatto che due client ricevano lo stesso indirizzo di tunnel.
Un hotspot da telefono separa queste famiglie a basso costo: eseguite il secondo client sui dati mobili mentre il primo resta connesso. Il successo lì indica la rete domestica, e lo stesso errore lì indica il gateway, il che lascia innocente il router. Nessuno dei due risultati è conclusivo da solo, ma ciascuno elimina metà dello spazio di ricerca in un solo tentativo.
Annotate il risultato prima di cambiare qualsiasi cosa, perché le tre uscite del registro portano a tre riparazioni senza rapporto. Una nota che nomina quale delle tre avete visto vale più di uno screenshot di un errore del client.
Che cosa fa il router con GRE e NAT-T
PPTP è il colpevole classico: il canale di controllo è TCP 1723 mentre il percorso dei dati è GRE, il protocollo IP 47. Molti router domestici includono un aiutante PPTP che segue una sola connessione di controllo, così un secondo client dietro lo stesso NAT apre il proprio canale di controllo e poi non riceve alcun percorso dati. Inoltrare una porta TCP con il numero 47 non fa nulla per GRE, perché GRE è un numero di protocollo e non una porta.
L2TP su IPsec si comporta diversamente per concezione: IKE usa UDP 500, la traversata NAT sposta il carico protetto su UDP 4500, e l'incapsulamento esiste proprio perché più client dietro un indirizzo possano raggiungere lo stesso gateway. Questa concezione non impedisce a un gateway o a un dispositivo intermedio di imporre un limite di sessioni per indirizzo, e dal divano i due guasti sembrano identici. Il protocollo nativo di SoftEther ha la stessa classe di problema: un router senza traversata funzionante accetta il primo client dalla LAN e scarta il secondo. Provate l'ALG o l'interruttore di traversata del router in entrambe le posizioni, perché un aiutante scritto per un client più vecchio può corrompere pacchetti che uno attuale invia.
nc -vz 203.0.113.5 1723
sudo tcpdump -ni any proto gre
Limiti di identità che sembrano limiti di trasporto
Il router non è l'unico sospetto, e il registro lo distingue dall'alternativa. Quando un server OpenVPN fissa un nome comune a un indirizzo di tunnel, entrambi i dispositivi ricevono quell'indirizzo, e senza duplicate-cn la sessione più recente spinge fuori quella più vecchia. Abilitare quell'opzione lascia entrambi connessi ma li lascia con un'identità, un certificato e una decisione di revoca, il che è peggio di quanto sembri. Il secondo dispositivo non potrà più essere revocato da solo, così un interruttore di comodità rimuove in silenzio un controllo che potreste servire più tardi.
Leggete il giornale del server e il suo file di stato insieme, perché uno mostra la decisione di autenticazione e l'altro chi è connesso adesso. Due voci con lo stesso nome comune e un indirizzo virtuale confermano una collisione di identità e non un limite del router. I gateway commerciali aggiungono limiti propri, come un piano che consente una sola sessione simultanea, un conteggio di licenze o una regola che consente una sessione per indirizzo pubblico, e nessuna impostazione del router cambia nulla di questo.
sudo journalctl -u openvpn-server@server -n 60 --no-pager
cat /run/openvpn/server.status
Fate corrispondere la riparazione alla voce del registro
Un rifiuto nel registro richiede credenziali separate per dispositivo, un limite più alto da chi gestisce il servizio, o un secondo endpoint di gateway per una macchina. Se nessun secondo tentativo raggiunge mai il server, la riparazione duratura è un router che inoltra il protocollo e tiene più di una sessione, o un trasporto che il router gestisce bene, come un singolo flusso TCP o UDP. Scegliere tra questi è una decisione sulla vita dell'hardware, non sulle impostazioni del client.
Non copiate il profilo di un dispositivo funzionante sulla seconda macchina e considerate il lavoro finito. Questo trasforma un problema di connessione in un problema di controllo degli accessi, perché un portatile smarrito non si distingue più dalla copia ancora in uso. Nasconde anche il guasto originale, che torna nel momento in cui compare un terzo dispositivo.
Verificare due sessioni attive
Collegate entrambi i dispositivi contemporaneamente, avviate l'applicazione prevista su ciascuno, poi ricollegate uno di essi e ripetete. Una seconda icona che compare per un istante non dimostra nulla sul traffico, e una sessione che cade dopo dieci minuti è un altro difetto con un altro responsabile. Confrontate ciò che il server riporta alla fine con ciò che gli utenti hanno visto, perché questi due resoconti spesso non concordano.
Se entrambe le sessioni sopravvivono e portano traffico, la correzione tiene, e la nota che avete scritto all'inizio diventa il resoconto di ciò che non andava. Se ne sopravvive una sola, tornate al primo passaggio e verificate quale delle tre uscite del registro avete adesso, perché la risposta può essere cambiata. Gli aiutanti del router possono mascherare un problema che ricompare su un'altra rete, mentre un limite per indirizzo segue l'utente e non il dispositivo. Provare da una seconda rete è il modo meno costoso per scoprire quale di queste cose avete davvero corretto.