Digitare l’endpoint VPN nell’elenco dei server di Minecraft sembra logico e fallisce ogni volta, perché quell’indirizzo termina il tunnel invece di ospitare il gioco. Un giocatore collegato allo stesso VPN ha già un percorso verso l’host del gioco, quindi la voce deve indicare l’host e la porta su cui il gioco resta in ascolto. Metti a posto questi due elementi e il resto del problema è la normale raggiungibilità del servizio, una lista di controllo molto più breve di quanto sembri all’inizio.

Due indirizzi, due compiti

Un indirizzo è infrastruttura pubblica: l’endpoint di trasporto che porta pacchetti cifrati tra i peer. L’altro è un indirizzo privato della macchina che esegue il server dedicato. Non sono intercambiabili, e sostituire l’uno con l’altro produce una connessione rifiutata o un timeout che sembra un problema di firewall.

RoleAddressWhere it belongs
Public transport endpoint203.0.113.40VPN client configuration, never the game
Game host on the VPN10.60.0.20Server address field, with the port
Player peer10.60.0.30Assigned by the tunnel, nothing to type

Con la porta predefinita, il giocatore digita 10.60.0.20:25565 e nient’altro. La pagina di download del server Java di Mojang indica 25565 come predefinita, e all’operatore che ha cambiato la porta bisogna credere invece di dubitarne sulla base di un vecchio tutorial.

Rendi quell’indirizzo un servizio reale

Un indirizzo raggiungibile è necessario e non sufficiente. Il server dedicato deve essere in esecuzione, deve essere compatibile con la versione eseguita dal client del giocatore e deve restare in ascolto su un indirizzo a cui il tunnel possa consegnare. Un processo legato solo a loopback non diventa raggiungibile perché qualcuno ha aggiunto un altro indirizzo alla macchina.

Verifica il listener prima di toccare un firewall:

ss -lntp | grep 25565
nc -vz 10.60.0.20 25565

La prima riga mostra a cosa si è effettivamente legato il processo, e la seconda se un peer può completare una stretta di mano TCP. Quando il binding è 127.0.0.1, nessuna quantità di configurazione VPN cambia l’esito, e quel singolo dettaglio spiega un numero sorprendente di segnalazioni «il VPN è rotto».

Politica dei peer, firewall e percorso di ritorno

Due domande di autorizzazione stanno sopra il listener. La configurazione dei peer del VPN deve consentire il traffico tra i due peer, e il firewall dell’host del gioco deve accettare la porta del gioco da quel peer. Tieni entrambi limitati al servizio di gioco e ai peer autorizzati invece di disattivare il firewall dell’host, che scambia una regola di due righe con un problema molto più grande. Le regole strette sono anche l’unica versione di questo che supera una revisione di sicurezza senza un paragrafo di giustificazione.

Poi ricorda che cosa dimostra un ping riuscito. Raggiungere il gateway VPN, o ricevere risposta dall’host del gioco, dimostra solo che l’ICMP ha attraversato il percorso. Una connessione di gioco richiede che la porta specifica sia aperta in entrambe le direzioni, e il percorso di ritorno conta quanto quello in uscita.

Quando il server sta dietro il gateway

L’esempio sopra ha il server di gioco come peer, il che mantiene banale il piano degli indirizzi. Se invece il server vive su una LAN dietro un gateway VPN, al giocatore serve l’indirizzo privato instradabile del server, al gateway serve l’inoltro configurato per quella LAN, e l’host della LAN ha bisogno di una rotta di ritorno verso il client incapsulato. Se manca il percorso di ritorno, la stretta di mano muore a metà strada, che è il guasto più confuso dei tre.

Non copiare l’indirizzo peer dell’esempio su un’altra macchina per imitare questa topologia. Gli indirizzi in un esempio descrivono ruoli, e riutilizzarne uno su due ruoli crea una sovrapposizione che l’instradamento non può risolvere.

Rilevamento, account e cosa non cambiare

Il rilevamento automatico della LAN è una comodità costruita sugli annunci. Un VPN instradato non deve trasportare quelle trasmissioni, quindi una voce assente nell’elenco LAN non dice nulla sul fatto che l’indirizzo privato esplicito funzioni. Digita l’indirizzo, poi giudica. Se si connette, la lacuna di rilevamento è un fastidio di usabilità e non un guasto, e può essere documentata come tale invece di essere indagata.

Mantieni intatte anche l’autenticazione normale dell’account e la politica di ammissione del gioco. Una rotta privata funzionante concede un percorso, non un’appartenenza, e nessun riordino delle priorità degli adapter sostituisce l’identificazione della destinazione che il client dovrebbe usare.

Articoli correlati