Jeder dieser Berichte klingt gleich und bedeutet etwas anderes: Der Laptop beschwert sich über einen Adresskonflikt, aber nur manchmal, und meistens während das VPN aktiv ist. Drei verschiedene Fehler erzeugen diese Meldung: ein echtes Duplikat auf Ihrer eigenen Verbindung, eine Überlappung, bei der das entfernte Netzwerk Ihren LAN-Bereich nutzt und nichts dupliziert wird, und ein Tunnel, der eine Adresse an zwei Peers ausgegeben hat. Die Reparatur unterscheidet sich jeweils, und die falsche verschiebt das Symptom, statt es zu beseitigen. Entscheiden Sie also, welcher Fall vorliegt, bevor Sie etwas ändern.

Drei Fehler mit einer Fehlermeldung

Ein Duplikat bedeutet, dass zwei Rechner im selben Segment dieselbe Adresse beanspruchen. Der Kernel bemerkt es, weil die Antwort auf seine eigene Sonde von einer anderen MAC kommt, und was danach passiert, hängt vom Stack ab: Linux protokolliert es, Windows deaktiviert die Schnittstelle und schreibt einen Eintrag ins Systemprotokoll, und ein DHCP-Client kann das Angebot ablehnen.

Eine Überlappung dupliziert überhaupt keine Adresse. Ihr LAN ist 192.168.1.0/24, das Büronetz ist ebenfalls 192.168.1.0/24, und nun zeigt die Route ins Büro auf Adressen, die auch Ihr Drucker und Ihr NAS sind. Im ARP-Sinne steht nichts in Konflikt; das Paket geht einfach an das falsche Gerät in einem der beiden Netze.

Eine Pool-Kollision ist der Fehler des Tunnels selbst. Zwei Peers wurden mit derselben Tunneladresse konfiguriert oder haben sie zugewiesen bekommen, sodass der Server sie beim Senden von Rückverkehr nicht unterscheiden kann. Einer der beiden Clients sieht einen funktionierenden Handshake und keine Daten, was wie ein Routingproblem klingt und keines ist.

Test 1: Liegt das Duplikat in Ihrem eigenen Segment?

Beginnen Sie mit einer Liste dessen, was Ihr Rechner tatsächlich hat, nicht dessen, was Sie konfiguriert zu haben glauben. Eine VPN-Adapteradresse ist privat für den Tunnel und nicht dieselbe Adresse, die Websites sehen, ein gemeinsam genutzter öffentlicher Ausgang ist also kein Konflikt.

ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'

Unter Windows liefern ipconfig /all und Get-NetIPAddress dieselben Informationen, der Nachbar-Cache steckt in arp -a. Liegt die strittige Adresse auf dem physischen Adapter und erscheint die Meldung ohne laufendes VPN, ist das VPN Zuschauer und Sie sollten aufhören, es zu diagnostizieren.

Um ein Duplikat zu beweisen statt zu raten, prüfen Sie die Adresse von einem Gerät, das sie nicht besitzt. arping -D sendet die Sonde mit einer Null-Quelladresse, eine Antwort von einer unerwarteten MAC beweist also, dass ein anderer Host bereits für diese Adresse antwortet.

sudo arping -D -I eth0 -c 3 192.168.1.50

Suchen Sie den Eigentümer dann über den Netzwerkadministrator, statt selbst eine andere Adresse zu wählen. Statische Zuordnungen, die nur in jemandes Notizen leben, Drucker mit fester Adresse und Reservierungen auf dem DHCP-Server sind die üblichen Verdächtigen, und ein ausgeschaltetes Gerät besitzt seine Lease weiterhin.

Test 2: Überlappen sich die beiden Netze?

Vergleichen Sie das Präfix, das der Tunnel Ihnen gibt, mit den Präfixen Ihrer eigenen Schnittstellen. Ist der entfernte Bereich gleich Ihrem LAN oder enthält es, liegt eine Überlappung vor, und der Hinweis ist, dass ein ohne VPN erreichbarer Host verschwindet oder Ihr eigener Drucker auf eine Büroadresse antwortet.

ip route get 192.168.1.10
ip -br addr show

Die Routenabfrage sagt Ihnen, welche Schnittstelle der Kernel verwenden würde, und diese Antwort ist die ganze Diagnose. Steht dort der Tunnel für eine Adresse, die zu Ihrem lokalen Drucker gehört, haben Sie eine Überlappung, und keine Lease-Erneuerung ändert das.

Es gibt drei ehrliche Auswege, und meist ist nur einer für Sie verfügbar. Die Gegenseite kann den Verkehr für das überlappende Subnetz maskieren, sodass Ihr Client nur die Tunneladresse des Servers sieht. Der Tunnel kann ein schmaleres entferntes Präfix tragen, das nicht mit Ihrem LAN kollidiert. Oder der Client kann per Quelladresse mit Policy-Regeln routen, was funktioniert, aber fragil und schwer an einen Kollegen zu übergeben ist.

Das Büronetz umzunummerieren ist selten Ihre Entscheidung. Ihr eigenes LAN umzunummerieren, um die Kollision zu umgehen, ist ein größerer Eingriff, als die meisten erwarten, sobald Drucker, Kameras und statische Hosts beteiligt sind.

Test 3: Hat der Tunnel eine Adresse zweimal ausgegeben?

WireGuard hat keinen Adresspool. Jeder Peer wird über seinen öffentlichen Schlüssel und die Präfixe in AllowedIPs identifiziert, ein Duplikat entsteht also, wenn dieselbe Tunneladresse in zwei Peer-Einträge geschrieben wird oder dasselbe Schlüsselpaar auf zwei Rechnern installiert ist.

wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transfer

Traffic-Zähler sind hier die nützliche Spalte: Ein Peer mit frischem Handshake, aber ohne Übertragung, ist entweder falsch adressiert oder wird von einem anderen Eintrag überschattet, der dasselbe Präfix beansprucht. Setzen Sie ein Präfix auf genau einen Peer und geben Sie jedem Gerät sein eigenes Schlüsselpaar.

OpenVPN hat einen Pool, und die häufige Kollision ist ein gemeinsames Clientprofil mit einer festen Zeile --ifconfig, die auf einen zweiten Rechner kopiert wurde. Dann fordern beide Clients dieselbe Tunneladresse an, und der Server nimmt die Sitzung, die er zuerst verarbeitet. Die Pool-Erschöpfung mit --duplicate-cn erzeugt ein ähnliches Ergebnis, wenn mehrere Sitzungen eines Zertifikats um einen Eintrag konkurrieren.

Lesen Sie dafür das Serverprotokoll statt das Client-Protokoll. Der Server weiß, welche Sitzung welche Adresse belegt hat, und wiederholte Adressen dort sind als Warnungen sichtbar, die den Client nie erreichen.

An der Quelle reparieren, dann beide Geräte erneut prüfen

Die Reihenfolge zählt. Beheben Sie zuerst ein LAN-Duplikat, denn ein Client, der keine Adresse halten kann, kann auch keinen Tunnel halten. Beheben Sie dann die Zuweisung auf der VPN-Seite, denn eine clientseitige Änderung an einer Pool-Zuweisung wird beim nächsten Verbinden rückgängig gemacht. Zuletzt die doppelten Identitäten: getrennte Schlüsselpaare bei WireGuard, getrennte Zertifikate oder mindestens getrennte Profile bei OpenVPN.

Auf dem Client ist der mechanische Teil kurz. Geben Sie eine DHCP-Lease frei und erneuern Sie sie, oder lassen Sie die Adresse für eine Reservierung auf dem Server ändern. Tippen Sie keine zufällige Adresse ein, die frei aussieht.

sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renew

Prüfen Sie dann von beiden Enden, nicht von einem. Bestätigen Sie das Gateway, dann den Dienst, den Sie tatsächlich brauchen, dann verbinden Sie erneut und wiederholen Sie es. Waren zwei Geräte beteiligt, prüfen Sie beide: Das Verschieben einer Adresse hinterlässt beim anderen veraltete Nachbareinträge oder eine alte Lease, die später wieder auftaucht.

Was Sie unterwegs nicht tun sollten

Bringen Sie das Symptom nicht zum Schweigen. Die Erkennung doppelter Adressen ist es, die Sie davon abhält, eine bereits verwendete Adresse zu übernehmen, und sie abzuschalten verwandelt einen sichtbaren Konflikt in zeitweiligen Paketverlust, der viel schwerer zu verfolgen ist. Dasselbe gilt für das Annehmen einer Zertifikatswarnung von einem unerwarteten Host: Das ist überhaupt kein Adressproblem, und darüber hinwegzuklicken verbirgt einen anderen Fehler.

Ändern Sie auch die Adressierung eines verwalteten Netzes nicht auf eigene Faust. Notieren Sie die ursprüngliche Einstellung, fragen Sie den Eigentümer, wenn die Adresse zentral vergeben wird, und halten Sie die Änderung klein genug, um sie zurückzunehmen. Die RFC-5227-Regeln zur Erkennung von Adresskonflikten erklären, was eine korrekte Sonde beweist, was man wissen sollte, bevor man einen Konflikt für echt erklärt.

Ähnliche Artikel