Correggi un conflitto di indirizzo IP locale dopo essersi connessi a una VPN
Il duplicato può trovarsi sulla tua LAN, arrivare da un intervallo remoto sovrapposto o essere stato assegnato due volte dal pool del tunnel. Verifica prima di rinumerare.
Ognuno di questi rapporti suona uguale e significa qualcosa di diverso: il portatile si lamenta di un conflitto di indirizzi, ma solo a volte, e soprattutto mentre la VPN è attiva. Tre guasti distinti producono quel messaggio: un duplicato reale sul tuo collegamento, una sovrapposizione in cui la rete remota usa il tuo intervallo LAN e nulla viene duplicato, e un tunnel che ha assegnato un indirizzo a due peer. La riparazione è diversa in ogni caso, e quella sbagliata sposta il sintomo invece di rimuoverlo. Quindi decidi quale caso hai prima di modificare qualsiasi cosa.
Tre guasti che condividono un messaggio di errore
Un duplicato significa che due macchine sullo stesso segmento rivendicano un indirizzo. Il kernel se ne accorge perché la risposta alla propria sonda arriva da un MAC diverso, e ciò che accade dopo dipende dallo stack: Linux lo registra, Windows disabilita l'interfaccia e scrive una voce nel registro di sistema, e un client DHCP può rifiutare l'offerta.
Una sovrapposizione non duplica alcun indirizzo. La tua LAN è 192.168.1.0/24, la rete dell'ufficio è anch'essa 192.168.1.0/24, e ora la rotta verso l'ufficio punta a indirizzi che sono anche la tua stampante e il tuo NAS. In senso ARP nulla è in conflitto; il pacchetto va semplicemente al dispositivo sbagliato su una delle due reti.
Una collisione nel pool è colpa del tunnel stesso. Due peer sono stati configurati con o hanno ricevuto lo stesso indirizzo di tunnel, quindi il server non riesce a distinguerli quando invia il traffico di ritorno. Uno dei due client vede un handshake funzionante e nessun dato, il che si legge come un problema di routing e non lo è.
Test 1: il duplicato è sul tuo segmento?
Inizia elencando ciò che la tua macchina ha davvero, non ciò che ricordi di aver configurato. Un indirizzo di adattatore VPN è privato del tunnel e non è lo stesso indirizzo che vedono i siti web, quindi un'uscita pubblica condivisa non è un conflitto.
ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'Su Windows le stesse informazioni arrivano da ipconfig /all e Get-NetIPAddress, con la cache dei vicini in arp -a. Se l'indirizzo contestato è sull'adattatore fisico e la lamentela compare senza la VPN in esecuzione, la VPN è uno spettatore e dovresti smettere di diagnosticarla.
Per dimostrare un duplicato invece di indovinare, sonda l'indirizzo da un dispositivo che non lo possiede. arping -D invia la sonda con un indirizzo sorgente nullo, quindi una risposta da un MAC inatteso dimostra che un altro host risponde già per quell'indirizzo.
sudo arping -D -I eth0 -c 3 192.168.1.50Poi trova il proprietario tramite l'amministratore di rete invece di scegliere tu un altro indirizzo. Le assegnazioni statiche che vivono solo negli appunti di qualcuno, le stampanti con indirizzo fisso e le prenotazioni sul server DHCP sono i colpevoli abituali, e un dispositivo spento possiede ancora il suo lease.
Test 2: le due reti si sovrappongono?
Confronta il prefisso che il tunnel ti dà con i prefissi sulle tue interfacce. Se l'intervallo remoto è uguale o contiene la tua LAN, il guasto è una sovrapposizione, e l'indizio è che un host raggiungibile senza la VPN scompare, o che la tua stampante risponde su un indirizzo dell'ufficio.
ip route get 192.168.1.10
ip -br addr showLa ricerca della rotta ti dice quale interfaccia userebbe il kernel, e quella risposta è tutta la diagnosi. Se indica il tunnel per un indirizzo che appartiene alla tua stampante locale, hai una sovrapposizione e nessun rinnovo del lease lo cambierà.
Ci sono tre vie d'uscita oneste, e di solito solo una è disponibile per te. Il lato remoto può mascherare il traffico della sottorete sovrapposta, così il tuo client vede solo l'indirizzo di tunnel del server. Il tunnel può trasportare un prefisso remoto più stretto che non collide con la tua LAN. Oppure il client può instradare per indirizzo sorgente con regole di policy, il che funziona ma è fragile e difficile da passare a un collega.
Rinumerare la rete dell'ufficio raramente è una tua decisione. Rinumerare la tua LAN per evitare la collisione è un cambiamento più grande di quanto la maggior parte delle persone si aspetti quando entrano in gioco stampanti, telecamere e host statici.
Test 3: il tunnel ha assegnato un indirizzo due volte?
WireGuard non ha un pool di indirizzi. Ogni peer è identificato dalla sua chiave pubblica e dai prefissi in AllowedIPs, quindi un duplicato appare quando lo stesso indirizzo di tunnel viene scritto in due voci peer o la stessa coppia di chiavi viene installata su due macchine.
wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transferI contatori di traffico sono la colonna utile qui: un peer che mostra un handshake recente ma nessun trasferimento o è indirizzato male o è oscurato da un'altra voce che rivendica lo stesso prefisso. Metti un prefisso su esattamente un peer e assegna a ogni dispositivo la propria coppia di chiavi.
OpenVPN ha un pool, e la collisione comune è un profilo client condiviso con una riga --ifconfig fissa copiata su una seconda macchina. Allora entrambi i client chiedono lo stesso indirizzo di tunnel, e il server accetta la sessione che elabora per prima. L'esaurimento del pool con --duplicate-cn produce un esito simile quando più sessioni di uno stesso certificato competono per una voce.
Per questo leggi il log del server invece del log del client. Il server sa quale sessione ha preso quale indirizzo, e gli indirizzi ripetuti lì sono visibili come avvisi che non raggiungono mai il client.
Ripara all'origine, poi ricontrolla entrambi i dispositivi
L'ordine conta. Correggi prima un duplicato di LAN, perché un client che non riesce a mantenere un indirizzo non riesce a mantenere nemmeno un tunnel. Poi correggi il provisioning sul lato VPN, perché una modifica lato client a un'assegnazione del pool viene annullata alla connessione successiva. Infine gestisci le identità duplicate: coppie di chiavi separate su WireGuard, certificati separati o almeno profili separati su OpenVPN.
Sul client la parte meccanica è breve. Rilascia e rinnova un lease DHCP, oppure chiedi che l'indirizzo venga cambiato sul server per una prenotazione. Non digitare un indirizzo casuale che sembra libero.
sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renewPoi verifica da entrambi i lati, non da uno. Conferma il gateway, poi il servizio che ti serve davvero, poi riconnettiti e ripeti. Se erano coinvolti due dispositivi, controlla entrambi: spostare un indirizzo lascia l'altro con voci dei vicini obsolete o un vecchio lease che riappare più tardi.
Cosa non fare lungo la strada
Non mettere a tacere il sintomo. Il rilevamento degli indirizzi duplicati è ciò che ti impedisce di prendere un indirizzo già in uso, e disattivarlo trasforma un conflitto visibile in perdita intermittente di pacchetti molto più difficile da rintracciare. Lo stesso vale per accettare un avviso di certificato da un host inatteso: non è affatto un problema di indirizzo, e superarlo nasconde un altro guasto.
Non cambiare nemmeno l'indirizzamento di una rete gestita per conto tuo. Registra l'impostazione originale, chiedi al proprietario quando l'indirizzo è assegnato centralmente, e mantieni la modifica abbastanza piccola da poterla annullare. Le regole RFC 5227 per il rilevamento dei conflitti di indirizzi spiegano cosa dimostra una sonda corretta, cosa che vale la pena sapere prima di definire reale un conflitto.