Warum eine DHCP-Reservierung keine statische IP für Ihren VPN-Server ist
Eine Reservierung passt zu einem Client-Identifikator, nicht zu einem Gerät, und sie macht Ihre öffentliche IP nie statisch. Was die Adresse eines Heim-VPN-Servers wirklich verschiebt.
Ich habe eine Heim-VPN-Box von WLAN auf Ethernet umgestellt, und ihre „permanente“ Adresse änderte sich noch am selben Abend. Am Router war nichts kaputt. Die Reservierung hatte zum WLAN-Adapter gepasst, und dieser Adapter war nicht mehr im Pfad.
Dieselbe Fehlvorstellung hat eine zweite Hälfte. Die LAN-Adresse zu fixieren, ändert nichts an der Adresse, mit der sich Ihre Freunde verbinden, und sie hat nichts mit dem privaten Pool zu tun, den das VPN an die Clients vergibt. Drei Adressen, drei getrennte Fehlerbilder, und nur eines davon ist Aufgabe einer Reservierung.
Eine Reservierung passt zu einem Client, nicht zu einem Gerät
In DHCPv4 hängt die Reservierung an der Hardwareadresse des Clients; in DHCPv6 an einer DUID, die der Client behalten soll. Das Feld hostname ist ein Etikett für Menschen. Der Router vergleicht tatsächlich die Kennung, die in der Anfrage ankommt.
Lesen Sie den Eintrag als Bedingung: Wenn diese Kennung fragt, gib ihr diese Adresse. Verlängerungen behalten dieselbe Lease, solange die Übereinstimmung hält, und ein Neustart fragt einfach erneut. Ändert sich die Kennung, verfehlt die Anfrage die Reservierung, und der Client nimmt, was der dynamische Pool anbietet. Kein Fehler, keine Warnung, nur eine andere Adresse.
OpenWrt zeigt die Form deutlich. Ein config host-Block in /etc/config/dhcp verbindet einen Namen, eine MAC und eine Adresse, und die Dokumentation zu statischen Leases erklärt, wie dieser Eintrag mit dem Pool zusammenspielt. Andere Router verstecken dieselben drei Felder hinter anderen Bezeichnungen.
Wo die Übereinstimmung still durchfällt
Hardware zu tauschen ist der häufige Fall. Wechseln Sie die NIC, oder verschieben Sie die Maschine zwischen Ethernet und WLAN, und die Adresse, die der Router sieht, ändert sich mit. Die alte Reservierung bleibt in der Liste und sieht weiterhin richtig aus.
Eine Neuinstallation ist der zweite Fall, und sie beißt bei IPv6 am härtesten. Eine frische Installation kann eine neue DUID erzeugen, während die alte IPv4-Lease noch gilt, also überlebt die v4-Adresse eine Weile, und der v6-Eintrag greift nicht mehr, ohne dass jemand etwas sichtbar bearbeitet.
Der dritte Fall ist eine festgelegte Client-Kennung. Mehrere DHCP-Clients erlauben es, statt der MAC eine Kennungszeichenkette zu setzen. Fällt diese Einstellung bei einem Upgrade oder einem Neuschreiben der Konfiguration weg, verschwindet die Übereinstimmung, obwohl die Maschine nicht umgezogen ist.
Der vierte Fall ist Doppelung: ein alter Block und ein neuer Block für denselben Host. Der Server antwortet mit der Regel, die passt, oft mit der Pooladresse, die Sie vermeiden wollten. Löschen Sie den alten Eintrag, statt einen zweiten hinzuzufügen.
Konfiguration auf dem Host und was sie kostet
Die Adresse auf dem Host zu setzen, nimmt die Frage nach der Übereinstimmung ganz heraus. Die Schnittstelle kommt mit dieser Adresse hoch, ob DHCP antwortet oder nicht, und genau das wollen Sie von einer Maschine, die nach einem Router-Neustart erreichbar sein muss.
Der Preis ist Eigentum. Sie liefern jetzt Präfix, Gateway und Resolver, und Sie müssen die Adresse selbst außerhalb des dynamischen Pools halten. Unter Ubuntu mit netplan trägt /etc/netplan/01-vpn.yaml sie:
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.50.10/24]
routes:
- to: default
via: 192.168.50.1
nameservers:
addresses: [192.168.50.1]NetworkManager-Nutzer erreichen denselben Zustand mit nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.50.10/24 ipv4.gateway 192.168.50.1, dann nmcli con up "Wired connection 1". Wenden Sie netplan beim ersten Versuch mit netplan try an statt mit netplan apply; ein vertipptes Gateway nimmt die Box vom Netz und lässt Sie nach einer Konsole greifen.
Behalten Sie trotzdem eine passende Reservierung. Sie ist nicht überflüssig. Der Eintrag hält die Adresse auf der Routerseite fest und hindert den DHCP-Server daran, diese Adresse an ein Gastgerät zu vergeben, falls jemand den Pool später vergrößert.
Eine stabile LAN-Adresse ist kein öffentlicher Endpunkt
Richten Sie die Portweiterleitung auf 192.168.50.10, und die Regel übersteht jede Änderung auf der LAN-Seite. Eine stabile Internetadresse gibt sie Ihnen nicht. Ihre öffentliche IP gehört dem Provider und kann sich bei einem Reconnect oder einem Modemtausch verschieben, wofür dynamisches DNS da ist.
Hinter Carrier-Grade-NAT gibt es gar keine öffentliche IPv4 zum Weiterleiten, und keine Reservierung erzeugt eine. Prüfen Sie zuerst die WAN-Seite des Routers: Liegt die Adresse in einem geteilten Bereich, kann eingehende Weiterleitung nicht funktionieren, so sauber die Reservierung auch ist.
Die dritte Adresse ist der Tunnel-Pool, oft etwas wie 10.8.0.0/24. Diese Adressen existieren nur im Tunnel und erscheinen nie im LAN. Sie mit der LAN-Adresse des Servers zu verwechseln, ist der Weg, auf dem ein Port zu einem Client weitergeleitet wird, der nur online ist, solange er verbunden ist.
Prüfen Sie den Pfad in der Reihenfolge, in der er bricht
Fangen Sie am Router an. Vergleichen Sie den Eintrag in der Lease-Tabelle mit dem Ziel der Reservierung; hat der Server eine Pooladresse genommen, ist die Kennung falsch, und ip link show auf dem Host gibt Ihnen den Wert zum Vergleichen.
Dann der Host. ip -4 addr show eth0 sollte die erwartete Adresse und das Präfix melden. Eine zweite Adresse auf derselben Schnittstelle heißt meist, dass DHCP noch neben Ihrer statischen Konfiguration läuft.
Dann die Weiterleitung. Bestätigen Sie, dass das Ziel noch der Adresse entspricht, die Sie gerade geprüft haben, und dass etwas mit ss -lntp lauscht. Eine Weiterleitung auf einen geschlossenen Port sieht von außen genau wie eine kaputte Weiterleitung aus.
Schließen Sie von außen ab, an einem Telefon mit ausgeschaltetem WLAN. Dieser eine Test trennt „die lokale Adresse ist falsch“ von „die öffentliche Erreichbarkeit ist kaputt“, die beiden Probleme, die dieses Setup ständig vermischt.
Schreiben Sie die drei Adressen auf, LAN, öffentlich und Tunnel-Pool, und notieren Sie, welches System welche besitzt. Wenn nächsten Monat eine Verbindung scheitert, wissen Sie, welche Sie prüfen müssen, statt alle drei auf einmal zu ändern.