Was für ein mühsames Vorhaben...
Vorbemerkung:
Es ist enorm hilfreich, beim Rumspielen mit der Netzwerkkonfiguration eine Konsole und ein Backup/Snapshot zu haben.
Zu schnell hat man sich nämlich auch mal ausgesperrt.
Bevor ich mich traue, am Router was zu ändern, teste ich das lieber erstmal mit einem Client.
Hier ist das mein Rustdesk-Server, der an ens5 = DMZ hängt.
Der erste Versuch mit wide-dhcpv6-client ist gescheitert.
Selbst mit einer Minimalkonfiguration hat er keine Adresse vom Router bekommen.
Das habe ich nur ansatzweise weiter verfolgt und das Programm wieder deinstalliert.
Der nächste Versuch mit dhcpcd war dann schon deutlich erfolgreicher.
Nach dem Installieren konnte ich ohne jede weitere Konfiguration ens3 von dhcpcd neu zuweisen lassen.
Also habe ich da - durch einen Snapshot abgesichert - dhclient deinstalliert und die VM neu gestartet.
Et voila - IPv4 und IPv6 sind da und ein ping -6 ins Internet ging auch.
Jetzt der Router.
Da ergibt sich eine Schwierigkeit:
Wenn man nach Informationen zu Linux DHCP Clients sucht, beschäftigen sich die allermeisten Treffer nur mit IPv4.
Und beim Rest taucht in der Regel irgendwo /etc/network/interfaces auf.
Die wird aber beim dhcpcd gar nicht mehr benutzt.
Dort ist alles in der /etc/dhcpcd.conf konfiguriert.
Das habe ich gemerkt, als ich ohne dhclient neu gebootet hatte und nicht mehr an die DMZ kam.
Ohne Eintrag für ens5 hat der dhcpcd dafür natürlich eine Autokonfiguration mit einer 169.254er-Adresse gemacht.
Deshalb hier meine aktuelle Konfiguration, die ich am Ende der /etc/dhcpcd.conf eingefügt habe:
Code:
# use the interface connected to WAN for Prefix Delegation
interface ens3
ipv6rs
iaid 1
ia_pd 2 ens5/0/64 # request prefixes
#interface ens4
# noipv6
interface ens5
static ip_address=172.16.69.1/24
Mehr ist tatsächlich nicht erforderlich, nicht einmal ein Skript zur Übernahme der Prefix Delegation von ens3 nach ens5.
Das ist mir sehr sympatisch.
Genauso, dass das Programm als Dienst läuft und eine Service-Datei mitbringt und damit mit systemctl verwaltet wird.
Und dass man einzelne Interfaces gezielt mit dem CLI beeinflussen kann.
Nebeneffekte:
Beim Booten hat
ifup@ens3.service ein Problem.
ifup scheitert aus irgendeinem mir noch nicht bekannten Grund.
Das bleibt jetzt aber erstmal liegen, weil auch mit dem Fehler alles funktioniert.
mosquitto.service wollte auch nicht mehr beim Boot starten.
Nach dem Boot ging ein händischer Start aber ohne Probleme.
Die Analyse brachte als Fehler, dass er sich nicht an eines der Interfaces binden konnte.
Da hatte ich gleich ens5 im Verdacht, weil das ja erst vom dhcpcd konfiguriert wird.
Der Service hat nur das Netzwerk als Abhängigkeit.
Also habe ich eine /etc/systemd/system/mosquitto.service.d/service.conf angelegt:
Code:
[Unit]
After=dhcpcd.service
Requires=dhcpcd.service
Jetzt spielt der auch wieder und versorgt die Shellys im Gastnetz mit Kommandos.
So weit schon mal.
Gruß
Claus
P.S.: radvd ist jetzt übrigens auch nicht mehr erforderlich