Casa e ufficio usano entrambi 192.168.1.x: e adesso?
Quando casa e ufficio condividono 192.168.1.0/24, l’accesso riesce e il traffico arriva al dispositivo sbagliato. Rinumerate il lato che possedete, oppure procuratevi una sottorete tradotta.
Esaminate quattro controlli: verso quale indirizzo si risolve il nome, quale prefisso usa la rete locale, quale rotta il kernel sceglie per quella destinazione e che cosa risponde all’estremità remota. L’accesso VPN non è uno di questi, perché si completa a prescindere da quale rete vince. Eseguite i controlli in ordine e la sovrapposizione diventerà visibile al secondo passo invece che al quarto.
Un accesso riuscito dice che il tunnel è attivo; non dice nulla su dove punta un indirizzo particolare.
Un indirizzo, due macchine
Un host sceglie un percorso dalla sua tabella di routing e dalle sue regole di policy, usando l’indirizzo di destinazione. Niente gli dice che una richiesta al salto 192.168.1.20 è destinata al server dell’ufficio e non a un dispositivo nella stanza accanto. Quando entrambe le reti sono nello stesso intervallo privato, vince la rotta più specifica e tutto il resto dipende da quale voce una riconnessione ha installato per caso. Niente nell’indirizzo stesso porta questa distinzione.
ip route get 192.168.1.20
Quella ricerca indica l’interfaccia e il salto successivo scelti dal kernel, che è il secondo controllo dell’elenco. Confrontate i prefissi locale e remoto prima di fare qualsiasi altra cosa. Se la LAN locale è 192.168.1.0/24 e il sito remoto è anch’esso 192.168.1.0/24, la sovrapposizione è il risultato, e nessuna opzione del client la ripara.
Rinumerate il lato che controllate
Un router personale è di solito il lato più facile da spostare. Scegliete un intervallo che non entri in collisione con le reti remote che usate davvero, e notate che anche 10.x.x.x non è automaticamente libero, perché molti siti lo usano. Pianificate il cambiamento: i lease DHCP, gli indirizzi riservati, le code di stampa e tutto ciò che ha un indirizzo codificato richiedono attenzione. Fate la rinumerazione in una finestra in cui potete recuperare il router senza la VPN.
Controllate prima l’elenco dei prefissi remoti, non dopo. Scegliere un nuovo intervallo che entra in collisione con un altro sito ufficio produce lo stesso problema con più lavoro investito.
Quando nessuno dei due lati può cambiare
Se nessuna delle due reti può essere rinumerata, le opzioni rimanenti vivono sul server. Un gateway può tradurre una rete remota in una sottorete diversa per i client VPN, usando NAT basato su policy o una variante bidirezionale, così che il client veda un indirizzo univoco. È un progetto di gateway e non uno switch che ogni client desktop fornisce, e cambia quale indirizzo digitano gli utenti e quali nomi devono corrispondere. Una rotta copiata da un forum non può distinguere due destinazioni identiche.
Gli intervalli di indirizzi privati restano privati; il problema è il riutilizzo, non gli intervalli stessi.
Dimostrate quale macchina ha risposto
openssl s_client -connect 192.168.1.20:443 -servername office.example 2>/dev/null | openssl x509 -noout -subject
Dopo ogni modifica, provate insieme la risorsa dell’ufficio e i dispositivi locali. Se un dispositivo domestico familiare risponde dove dovrebbe esserci il server dell’ufficio, oppure il certificato TLS nomina l’host sbagliato, fermatevi e identificate la destinazione prima di continuare. Ottenere una risposta da quell’indirizzo non stabilisce quale macchina l’abbia inviata. Controllare il soggetto del certificato è uno dei pochi segnali affidabili disponibili in quel momento.
Non sostituite gli indirizzi privati dell’ufficio con indirizzi pubblici arbitrari che non controllate. Questo scambia una sovrapposizione con un problema di routing e proprietà, peggiore e più difficile da spiegare.
Annotate il prefisso locale, il prefisso remoto e la modifica che l’ha risolto. La prossima sovrapposizione sembrerà diversa ma seguirà lo stesso schema.