169.254 über ein VPN: Die Adresse war nie routbar
Ein Link-Local-Ziel wird verworfen, bevor es den Tunnel erreicht, daher erweitert eine zusätzliche Route nur den Fehler. Entscheiden Sie zwischen Subnetz-Reparatur und Bridge.
Sie tragen die Route ein, der Tunnel kommt hoch, und der Ping auf die Gegenseite stirbt trotzdem mit Totalverlust statt mit «network unreachable». Dieser Unterschied zählt, denn er weist von der Routingtabelle weg auf die Adresse selbst. Ein 169.254-Ziel ist Link-Local, und Link-Local-Reichweite endet konstruktiv am ersten Hop, nicht wegen einer Fehlkonfiguration.
Die Entscheidung, die daraus folgt, ist eng und sollte ausdrücklich fallen: das Subnetz auf der Serverseite reparieren oder das Layer-2-Segment erweitern, damit die Adresse wieder lokal sinnvoll wird. Alles andere, auch eine breitere Route, verteilt nur denselben Fehler auf mehr Ziele.
Die Adresse ist nicht ohne Route, sie ist nicht routbar
IPv4-Link-Local-Adressen vergibt sich ein Host selbst, wenn nichts Besseres antwortet; daher kommt die automatische private Adressierung unter Windows und die entsprechende Rückfalllösung anderer Systeme. Der Bereich wird auf jedem Link gleichzeitig genutzt, und genau deshalb funktioniert er: Zwei Hosts im selben Segment sprechen ohne jede Abstimmung.
Dieselbe Eigenschaft ist der Grund, warum ein Router diese Pakete nicht zwischen Netzen weiterleiten darf. Ein Paket an ein Link-Local-Ziel zu empfangen und über eine andere Schnittstelle hinauszuschicken, würde Mehrdeutigkeit erzeugen, weil «lokal» beim Sender und «lokal» beim Empfänger verschiedene Orte sind. Keine Nachschlageoperation könnte entscheiden, welches der beiden gemeint war. Weiterleitung ist hier keine Richtlinienoption, die ein Administrator einschalten kann; die Adressklasse schließt sie aus.
Ein Gateway, das 169.254.1.10 als über den Tunnel erreichbar einträgt, verlangt vom Kernel also etwas, was das Adressformat verbietet. Das Paket wird verworfen, lange bevor es den entfernten Host erreicht, und keine Routenspezifität ändert das.
Warum ein Tunnel das Reichweitenproblem sichtbar macht
Eine TUN-Schnittstelle transportiert IP-Pakete zwischen zwei Partnern und hat kein gemeinsames Segment hinter sich. Es gibt keinen Broadcast, kein ARP für die Gegenseite und keine Nachbarschaftserkennung, die ein Link-Local-Ziel in eine Link-Layer-Adresse auflösen könnte.
Die Symptome passen genau, sobald man weiß, wonach man sucht. Die Route steht in der Tabelle, ping meldet Totalverlust statt eines unerreichbaren Netzes, und die Nachbartabelle zeigt einen unvollständigen oder fehlgeschlagenen Eintrag. Ein Mitschnitt am Tunnel zeigt das Paket hinausgehen, was den Blick auf das ferne Ende statt auf die Adressklasse lenkt.
Unter Windows gibt es ein zweites, scheinbar unabhängiges Symptom mit derselben Wurzel: Ein Adapter, dem nur eine Link-Local-Adresse bleibt, hat kein brauchbares Gateway, sodass die Netzwerkerkennung die Verbindung nicht einordnen kann und das Firewall-Profil auf öffentlich fällt. Der Tunnel ist nicht die Ursache; die Adresse ist es.
Entscheiden Sie mit drei Fragen
Die Wahl zwischen Subnetz-Reparatur und Bridge hängt an drei Bedingungen, und jede davon kann sie entscheiden, bevor Sie eine Konfigurationsdatei öffnen.
| Question | If yes | If no |
|---|---|---|
| Can the far-side host be given a routable address? | Change the host or fix DHCP and route normally | Continue to the next question |
| Does the device accept a static address at all? | Assign one from the site's real prefix | Bridging is the only remaining option |
| Can you accept broadcast crossing the tunnel? | A bridge is viable for a small segment | Replace the device or accept no remote access |
Die meisten Fälle enden bei der ersten Frage. Ein Host mit Link-Local-Adresse heißt meist, dass DHCP nicht geantwortet hat, ein Kabel oder VLAN falsch ist oder jemand die Adresse von Hand eingetragen hat. Das zu reparieren ist billiger als jede Tunnelarbeit und beseitigt das Problem für jeden künftigen Client, nicht nur für diesen.
Prüfen Sie die Serverseite, bevor Sie etwas annehmen. Führen Sie ip addr show und ip route auf dem Host aus und arp -n oder route print -4 auf dem Client, um zu sehen, ob das Präfix überhaupt existiert oder nur ein alter Eintrag es behauptet.
Was eine Bridge kostet, wenn sie die richtige Antwort ist
Eine physische Schnittstelle mit einem TAP-Adapter zu bridgen macht den entfernten Client zum Teil der lokalen Broadcast-Domäne. Dann funktionieren Broadcast und Nachbarschaftserkennung, und eine Link-Local-Adresse wird wieder sinnvoll, weil der Client wirklich lokal an diesem Link ist.
Die Kosten sind real und sollten genannt werden, bevor jemand zustimmt. Broadcast-Verkehr überquert den Tunnel, der Client ist für jeden Zweck dem lokalen Segment ausgesetzt und nicht nur den Diensten, die er braucht, und der Server muss nun Frames weiterleiten statt Pakete zu routen. Für einen Laboraufbau oder ein Gerät ohne routbaren Konfigurationsweg ist das ein vernünftiger Tausch, für Fernzugriff eine schlechte Voreinstellung.
Wenn Sie bridgen, brauchen Sie beide Hälften: die Bridge auf dem Server und eine Route im Clientprofil, die sagt, welche Ziele auf der Gegenseite liegen. Eine Bridge allein lässt den Client raten, und eine Route allein kann keine Adressklasse reparieren.