sonie69
Goto Top

DNSMasq, FritzBox, IPv6 und VLAN Routing über Raspberry PI

Ich könnte Hilfe gebrauchen, komme hier mit der Konfiguration nicht weiter:

Ich möchte IPv6 mittels eines Raspberry PI auf verschiedene VLAN mittels RA verteilen:

mein Provider stellt mir dafür leider nur eine /62 bereit:

IPv6-Präfix: 2a02:b98:4731:d174::/62, Gültigkeit: 56680/56680s

auf meinem Raspberry PI habe ich DNSMasq installiert und verschiedene VLAN eingerichtet:

eth0 für FritzBox und Server
eth0.2(vlan2) für Computer
eth0.3(vlan3) für Kinder
eth0.4(vlan4) für SmartHome
eth0.5(vlan5) für Gäste

was mit IPv4 problemlos funktioniert, will mit ipv6 überhaupt nicht.ipv6 bei eth0 läuft, bei den vlan nicht:

da ich nur ein /62 habe, muss ich irgendwie den constructor anpassen, es stehen mir also nur 4 netzwerke zur verfügung. habe das schon versucht:

dnsmasq.conf:
dhcp-range=::100,::200,constructor:eth0,slaac,64,24h
dhcp-range=tag:eth0.2,2a02:b98:4731:d175::100,2a02:b98:4731:d175::100,constructor:eth0.2,ra-stateless,slaac
dhcp-range=tag:eth0.3,2a02:b98:4731:d176::100,2a02:b98:4731:d176::200,constructor:eth0.3,ra-stateless,slaac
dhcp-range=tag:eth0.4,2a02:b98:4731:d177::100,2a02:b98:4731:d177::300,constructor:eth0.4,ra-stateless,slaac

das gibt aber die fehlermeldung, dass der constructor nicht verbunden werden kann:
FATAL ERROR in dnsmasq core: prefix must be zero with "constructor:" argument at line 20 of /etc/dn>  

kann mir jemand sagen, wie ich das konfigure, dass der construktor +x verwendet wird?

Content-ID: 7592149590

Url: https://administrator.de/contentid/7592149590

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

7426148943
7426148943 20.06.2023 aktualisiert um 14:14:25 Uhr
Goto Top
Ich mach das persönlich immer über dhcpcd und radvd, Geschmackssache:

dhcpcd.conf
# ...
# first generaly disable router solicitations
noipv6rs
# following config is for eth0
interface eth0
# enable router solicitation on uplink
ipv6rs
# request prefix and assign to interfaces
ia_pd 1 eth0.2/0/64/1 eth0.3/1/64/1 eth0.4/2/64/1 eth0.5/3/64/1
und radvd.conf
interface eth0.2 {
  AdvSendAdvert on;
  MinRtrAdvInterval 10;
  MaxRtrAdvInterval 30;
  AdvDefaultPreference medium;
  prefix ::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
    AdvValidLifetime 604800;
    AdvPreferredLifetime 86400;
  };
};

interface eth0.3 {
  AdvSendAdvert on;
  MinRtrAdvInterval 10;
  MaxRtrAdvInterval 30;
  AdvDefaultPreference medium;
  prefix ::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
    AdvValidLifetime 604800;
    AdvPreferredLifetime 86400;
  };
};
# usw.

Zeppel
Sonie69
Sonie69 20.06.2023 um 14:47:17 Uhr
Goto Top
danke für die Info. aber ich habe festgestellt, dass meine config noch gar keine internen ip aus dem präfix für die vlan herleitet. ohne die dürfte das nicht gehen. wie bekommen denn die vlan ihre ipv6 zugewiesen?
aqui
aqui 20.06.2023 aktualisiert um 14:59:04 Uhr
Goto Top
Deshalb meckert auch dnsmasq über die falsche Pool Syntax der Subinterfaces...
dhcp-range=tag:eth0.2,::100,::200,constructor:eth0.2,ra-stateless,slaac
dhcp-range=tag:eth0.3,::100,::200,constructor:eth0.3,ra-stateless,slaac
dhcp-range=tag:eth0.4,::100,::200,constructor:eth0.4,ra-stateless,slaac

Lesetip zum Thema v6 Routing auf dem RasPi: https://danrl.com/ipv6/
7426148943
7426148943 20.06.2023 aktualisiert um 16:38:24 Uhr
Goto Top
Zitat von @aqui:

Deshalb meckert auch dnsmasq über die falsche Pool Syntax der Subinterfaces...
dhcp-range=tag:eth0.2,::100,::200,constructor:eth0.2,ra-stateless,slaac
dhcp-range=tag:eth0.3,::100,::200,constructor:eth0.3,ra-stateless,slaac
dhcp-range=tag:eth0.4,::100,::200,constructor:eth0.4,ra-stateless,slaac

Und die Range-Angabe VON-BIS ist bei Stateless SLAAC auch überflüssig und lässt sich durch ein "::" ersetzen.
dhcp-range=tag:eth0.2,::,constructor:eth0.2,ra-stateless,slaac
# ...
# ..
danke für die Info. aber ich habe festgestellt, dass meine config noch gar keine internen ip aus dem präfix für die vlan herleitet. ohne die dürfte das nicht gehen. wie bekommen denn die vlan ihre ipv6 zugewiesen?
Wie oben schon in meiner Config mit dhcpcd geschrieben, dhcpcd holt dir einen Prefix vom vorgelagerten Router und weist es den Interfaces zu. Für die RA-Advertisements nutze ich dann statt dnsmasq , radvd das ist der einizge Unterschied, ist aber Jacke wie Hose welches du von beiden nutzt.
DNSMASQ nutzt dann diese Adresse um auf dem Interface den jeweiligen Prefix per Multicast auf dem Interface zu advertisen.
DNSMASQ ist kein DHCP-Client sondern ein Server und ein Server bekommt kein Prefix von einem anderen Router, dafür brauchst du einen DHCP-Client .
Sonie69
Lösung Sonie69 20.06.2023 um 17:18:16 Uhr
Goto Top
läuft erstmal, vielen Dank für die Unterstützung. Jetzt würde ich dennoch Klärung vorziehen.

ich verwende jetzt dhcpcd um die IPv6 auf die VLAN zu bekommen, aber sollte ich die IPv4 im dhcpcd.conf für die vlan eintragen, bekommt diese keine ipv6.

#Beispiel
interface eth0.2
static ip_address=192.168.172.10/24

Ich kann also die vlan nur unter /etc/network/interfaces.d/konfigurieren.
#vlan172
auto eth0.2
    iface eth0.2 inet static
	vlan-raw-device eth0
	address 192.168.172.10/24
	gateway 192.168.172.10

im dnsmasq funktioniert diese config:
#ipv6 dhcp
dhcp-range=eth0.2,::,constructor:eth0.2,ra-stateless,slaac
eigentlich wollte ich aber ra und kein slaac, dann funktioniert es aber nicht mehr...

kann man das noch schöner machen?
7426148943
7426148943 20.06.2023 aktualisiert um 17:49:27 Uhr
Goto Top
Du musst dich entscheiden was du als Network-Manager bzw- Addresszuweisung benutzt entweder die inferfaces.d oder dhcpcd nicht beides gleichzeitig. DHCPCD in der Config nur für die Interfaces aktivieren die man auch mit Funktionen von dhcpcd versehen möchte.
Siehe Manual unter denyinterfaces oder allowinterfaces
Und ipv6only / noipv4 um auf dem Interface bspw. nur IPv6 Config anzupassen ohne bestehende IPv4 zu verändern.
https://www.daemon-systems.org/man/dhcpcd.conf.5.html

eigentlich wollte ich aber ra und kein slaac, dann funktioniert es aber nicht mehr...
Du sprichst in Rätseln, ra ist ein RouterAdvertisement und SLAAC nur eine Methode die auf RouterAdvertisements aufbaut.
kann man das noch schöner machen?
In welcher Hinsicht?? Erläutere doch bitte den Kontext.
aqui
aqui 20.06.2023 aktualisiert um 17:58:50 Uhr
Goto Top
aber sollte ich die IPv4 im dhcpcd.conf für die vlan eintragen, bekommt diese keine ipv6.
Ist ja auch kein Wunder wenn du ihnen erst gar keine v6 Adress gibst?!
# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private
# slaac hwaddr

# Example static IP configuration:
interface eth0
static ip_address=172.16.12.1/24
static ip6_address=2100:ba8:8404:00aa:bade:affe:cafe:1/64
static routers=172.16.12.254
static domain_name_servers=172.16.12.1 2100:ba8:8404:1::35 
Sonie69
Sonie69 20.06.2023 um 17:52:10 Uhr
Goto Top
scheinbar habe ich doch größere verständnisprobleme. ich dachte slaac ist ein serverless protocol, bei welchem sich zwei systeme auf eine mögliche ip einigen, während bei RA vom router der range vorgegeben wird.

dhcpcd zu benutzen war jetzt nicht die gewünschte lösung, da ich die konfig jetzt verteilt habe in /etc/init.d/networking und in der dhcpcd.conf.

ich denke, die beste lösung wäre, diesen configteil nach systemd zu portieren, da dies sowieso die zukünftige konfiguration für raspberry sein soll. hat da jemand zufällig ein beispiel wie ich diese zeile von dhcpcd nach systemd "konviertiere" also nachbaue?

ia_pd 1 eth0.2/0/64/1 eth0.3/1/64/1 eth0.4/2/64/1 eth0.5/3/64/1
aqui
aqui 20.06.2023 aktualisiert um 18:01:07 Uhr
Goto Top
ich dachte slaac ist ein serverless protocol
Ist es auch aber der Router muss ja ne feste v6 IP haben. (S.o. dhcpcd.conf) Wo sollen sonst SLAAC Infos und RAs herkommen?!
da ich die konfig jetzt verteilt habe in /etc/init.d/networking und in der dhcpcd.conf.
Sinnigerweise nutzt man nur eins.

Das o.a. Workshop Buch lesen und verstehen hilft wirklich! 😉

P.S.: Korrekte Rechschreibung (5) hilft allen hier beim Lesen des Threads!
7426148943
7426148943 20.06.2023 aktualisiert um 18:04:20 Uhr
Goto Top
Zitat von @Sonie69:

scheinbar habe ich doch größere verständnisprobleme. ich dachte slaac ist ein serverless protocol, bei welchem sich zwei systeme auf eine mögliche ip einigen, während bei RA vom router der range vorgegeben wird.
Bei SLAAC weist sich der Client anhand des Router Advertisements mit dem Prefix und seiner MAC oder dem Privacy Algorithmus selbst eine zu und schreit nur ins Netz um zu prüfen ob sie schon genutzt wird.
Bei Statefull-Configuration und DHCPv6 kannst du einen Range angeben.
ich denke, die beste lösung wäre, diesen configteil nach systemd zu portieren, da dies sowieso die zukünftige konfiguration für raspberry sein soll. hat da jemand zufällig ein beispiel wie ich diese zeile von dhcpcd nach systemd "konviertiere" also nachbaue?

ia_pd 1 eth0.2/0/64/1 eth0.3/1/64/1 eth0.4/2/64/1 eth0.5/3/64/1
Dann eben systemd-networkd auch kein Problem, siehe
https://man.archlinux.org/man/systemd.network.5.de
Unten auf der Seite stehen die Beispiele zur Prefix Delegation.

Beispiel 3. IPv6-Präfix-Delegierung (DHCPv6 PD)
# /etc/systemd/network/55-dhcpv6-pd-upstream.network
[Match]
Name=eth0
[Network]
DHCP=ipv6
# Die nachfolgende Einstellung ist optional, um auch einem delegierten Präfx der
# übergeordneten Schnittstelle eine Adresse zuzuweisen. Falls nicht notwendig,
# kommentieren Sie die nachfolgende Zeile und den Abschnitt [DHCPPrefixDelegation] aus.
DHCPPrefixDelegation=yes
# Falls das übergeordnete Netzwerk Router Advertisement mit gesetztem Bit »Managed«
# bereitstellt, dann kommentieren Sie die nachfolgende Zeile und die Einstellung
# WithoutRA= im Abschnitt [DHCPv6] aus.
IPv6AcceptRA=no
[DHCPv6]
WithoutRA=solicit
[DHCPPrefixDelegation]
UplinkInterface=:self
SubnetId=0
Announce=no
# /etc/systemd/network/55-dhcpv6-pd-downstream.network
[Match]
Name=eth0.2
[Network]
DHCPPrefixDelegation=yes
IPv6SendRA=yes
# Es wird erwartet, dass der Rechner als Router agiert. Daher ist es normalerweise
# nicht notwendig, Router Advertisement von anderen Rechnern im nachgeordneten Netzwerk zu
# empfangen.
IPv6AcceptRA=no
[DHCPPrefixDelegation]
UplinkInterface=eth0
SubnetId=1
Announce=yes
Sonie69
Sonie69 20.06.2023 um 18:23:53 Uhr
Goto Top
ich teste das mal, weil die dhcpcd scheinbar irgendwas nicht richtig macht.

mein /62 ist jetzt aufgeteilt in 2a02:b98:4736:a8c8, a8ca und a8cb, nicht benutzt wird a8c9? dafür habe ich ein neues netz: fd29:c94a:22df:11f6.... die Logik entzieht sich mir völlig, als das ich es verstehen könnte.
aqui
aqui 20.06.2023 aktualisiert um 18:49:25 Uhr
Goto Top
die Logik entzieht sich mir völlig, als das ich es verstehen könnte.
WELCHE spezifische "Logik" meinst du genau? dhcpcd.conf Syntax?, Subnetting?, RAs?, DHCPv6...?, SLAAC?... 🤔
Vielleicht können wir da Licht ins Dunkel bringen?!
Die o.a. dhcpcd Konfig rennt fehlerlos auf dem RasPi wie auch auf jedem anderen Linux Rechner.
Sonie69
Sonie69 20.06.2023 um 19:58:01 Uhr
Goto Top
natürlich hier sind die auszüge:

dhcpcd.conf
interface eth0
static ip_address=192.168.178.10/24
static routers=192.168.178.1
static domain_name_servers=192.168.178.10 fd00::dea6:32ff:feb3:ff62 

# first generaly disable router solicitations
noipv6rs
# following config is for eth0
ipv6rs
# request prefix and assign to interfaces
ia_pd 1 eth0.2/0/64/1 eth0.3/1/64/1 eth0.4/2/64/1 eth0.5/3/64/1

und /etc/network/interfaces.d/vlan
#vlan172
auto eth0.2
    iface eth0.2 inet static
	vlan-raw-device eth0
	address 192.168.172.10/24
	gateway 192.168.172.10

#vlan173
auto eth0.3
    iface eth0.3 inet static
	vlan-raw-device eth0
	address 192.168.173.10/24
	gateway 192.168.173.10

#vlan174
auto eth0.4
    iface eth0.4 inet static
	vlan-raw-device eth0
	address 192.168.174.10/24
	gateway 192.168.174.10
7426148943
7426148943 20.06.2023, aktualisiert am 21.06.2023 um 00:11:02 Uhr
Goto Top
Falsche Reihenfolge von noipv6rs schau dir noch mal meine Config der Router Solicitation genau an ... Das gehört vor den Interface Block denn sonst gillt es nur für das im Block genannte Interface !
Denn so deaktivierst du Routersolicitations nicht für andere Interfaces und die können sich von anderen Routern Adressen und Routing Informationen holen.
dafür habe ich ein neues netz: fd29:c94a:22df:11f6...
Das kommt von der Fritte, das verteilt sie per RA und DHCPv6 wenn sie kein globales Prefix am WAN bekommt.

Und endlich mal RTFM
https://www.daemon-systems.org/man/dhcpcd.conf.5.html
Da steht es haarklein zur ia_pd schön erklärt.
Aber wenn schon die Grundlagen fehlen und was so Begriffe wie Router Solicitation etc. in der Praxis bedeuten ist das wohl vergebene Mühe hier.
Schade das die Jugend heutzutage keine Manuals mehr liest 😐.
Sonie69
Sonie69 21.06.2023 aktualisiert um 08:23:49 Uhr
Goto Top
du hast ja recht. schande über mich.

noipv6rs # Routing-Anfrage deaktivieren

interface eth0
ipv6rs # Routing-Anfrage für eth0 aktivieren
ia_na 1 # Fordern Sie eine IPv6-Adresse an
ia_pd 2 eth1/0 # fordert einen PD an und weist ihn eth1 zu
ia_pd 3 eth2/1 eth3/2 # req ein PD und weisen Sie es eth2 und eth3 zu
aqui
aqui 21.06.2023 um 11:55:39 Uhr
Goto Top
Wenn der RasPi als Router arbeiten soll wäre es sinnvoll dem feste IPv6 Host Adressen aus deinen Netzen auf den Interfaces vorzugeben wie es in der Regel bei Routern ja üblich ist. Das fehlt in deinem Setup.
Sonie69
Sonie69 21.06.2023 um 13:04:18 Uhr
Goto Top
ich habe jetzt mal testweise auf systemd-networkd umgestellt, er braucht aber sehr lange, bis die ip-addressen da sind. so lange, das nginx ohne gültige ip wieder abbricht.
das problem ist die hier die zuweisung der interne fd00: auf welche nginx konfiguriert ist, da er nicht extern erreichbar sein soll. hat jemand eine idee?

10-guest-vlan.netdev
[NetDev]
Name=vlan174
Kind=vlan

[VLAN]
Id=4

11-untagged.network
[Match]
Name=eth0
Type=ether

[Network]
Description=lokales Netzwerk
DHCP=ipv6
Address=fd00::dea6:32ff:fe39:9de6
Address=192.168.178.12/24
Gateway=192.168.178.10
DNS=192.168.178.10
VLAN=vlan174

DHCPPrefixDelegation=yes

IPv6AcceptRA=no

[IPv6AcceptRA]
UseAutonomousPrefix=false

[DHCPv6]
WithoutRA=solicit

[DHCPPrefixDelegation]
UplinkInterface=:self
SubnetId=0
Announce=no

und 12-vlan.network
[Match]
Name=vlan174
Type=vlan

[Network]
Description=Machine Network
DHCP=ipv6
Address=192.168.174.12/24
DNS=192.168.174.10

# Link-local is necessary for IPv6
LinkLocalAddressing=ipv6
LLDP=false
EmitLLDP=false
IPv6AcceptRA=true
IPv6SendRA=false

[IPv6AcceptRA]
DHCPv6Client=true
Sonie69
Sonie69 21.06.2023 um 13:09:36 Uhr
Goto Top
Zitat von @aqui:

Wenn der RasPi als Router arbeiten soll wäre es sinnvoll dem feste IPv6 Host Adressen aus deinen Netzen auf den Interfaces vorzugeben wie es in der Regel bei Routern ja üblich ist. Das fehlt in deinem Setup.

das dachte ich zwar auch, aber soweit ich es verstanden habe, gibt es bei ipv6 kein nat mehr, daher muss ich eine ip über die fritz box beziehen und diese mit dem präfix weiterleiten, was ja jetzt auch funktioniert. wenn du da eine andere konfiguration kennst mit eigenen ipv6 freu ich mich sehr über ein sample.

vielen dank für jede art von unterstützung.
aqui
aqui 21.06.2023 um 13:33:08 Uhr
Goto Top
gibt es bei ipv6 kein nat mehr, daher muss ich eine ip über die fritz box beziehen und diese mit dem präfix weiterleiten, was ja jetzt auch funktioniert.
OK, das ist korrekt, das hattest du aber oben unterschlagen in deiner Beschreibung. face-sad
Die fd00 Adressierung ist prinzipbedingt unroutebar im Internet, die kannst du also nur lokal im RasPi routen. Sprich nur deine jeweils lokalen v6 Netze können einen Nginx erreichen der darin werkelt.

P.S.: Es wäre sehr hilfreich für alle beim Lesen wenn du Groß- Kleinschreibung beachtest!
7426148943
7426148943 21.06.2023 aktualisiert um 17:01:49 Uhr
Goto Top
Du machst hier mit systemd-networkd einen Mischmasch und würfelst einige Settings durcheinander wieder wohl wegen fehlendem Grundlagenwissen zu IPv6 face-confused ... Die Addressierung und Anlegen der Interfaces sollte vollständig auf systemd übertragen werden also auch das der VLAN-Interfaces etc. pp.

Hier ein funktionales Beispiel mit eth0 als Uplink von dem der Prefix bezogen wird und vlan10 auf eth1 als Downstream auf dem ein vlan10 als Client-Netz läuft

Man beachte natürlich die Dateiendungen, denn es gibt hier *.network und *.netdev !

/etc/systemd/network/10-eth0.network
Network-Config vom Uplink (eth0)
[Match]
Name=eth0

[Network]
DHCP=yes
IPv6AcceptRA=yes

[DHCPv6]
WithoutRA=solicit

/etc/systemd/network/20-eth1-vlan10.netdev
VLAN Interface erstellen (vlan10)
[NetDev]
Name=vlan10
Kind=vlan

[VLAN]
Id=10

/etc/systemd/network/30-eth1.network
Network-Config vom Downstream-Interface (eth1)
[Match]
Name=eth1

[Network]
VLAN=vlan10

LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no

/etc/systemd/network/40-eth1-vlan10.network
Network-Config vom VLAN Interface (vlan10)
[Match]
Name=vlan10
Type=vlan

[Network]
DHCPPrefixDelegation=yes
IPv6SendRA=yes
IPv6AcceptRA=no
LinkLocalAddressing=yes

[DHCPPrefixDelegation]
UplinkInterface=eth0
SubnetId=0
Announce=yes

Jetzt mit diesem Befehl die systemd Konfiguration neu einlesen und systemd-networkd neustarten
systemctl daemon-reload && systemctl restart systemd-networkd

Sicherstellen das Forwarding auf den Interfaces aktiviert ist
sysctl -w net.ipv6.conf.eth0.forwarding=1
sysctl -w net.ipv6.conf.vlan10.forwarding=1

ACHTUNG: Wenn eine Firewall im Hintergund aktiv ist bitte bei Tests erst mal abschalten und hinterher die Interfaces korrekt den Zonen zuordnen!

Klappt hier dann problemlos und ohne irgendwelchen Verzögerungen die du hier nennst ... Works as designed!

Im out now. Happy networking.

Zeppel
Sonie69
Sonie69 23.06.2023 aktualisiert um 16:54:59 Uhr
Goto Top
also die geposteten configs können nicht mehr funktionieren.

- DHCPPrefixDelegation heißt jetzt DHCPv6PrefixDelegation
- UplinkInterface gibt es nicht mehr

irgendetwas ist aber noch falsch, diese Vorgabe gibt bei mir Fehlermeldung:

[Match]
Name=vlan172
Type=vlan

[Network]
DNS=192.168.172.10
IPv6AcceptRA=true
IPv6SendRA=false
DHCPv6PrefixDelegation=yes

[Address]
Address=192.168.172.10/24
HomeAddress=true

[Route]
Destination=192.168.172.0/24

[DHCPv6PrefixDelegation]
UplinkInterface=eth0
SubnetId=1
Announce=yes
7426148943
7426148943 23.06.2023 aktualisiert um 15:42:29 Uhr
Goto Top
Wieder alles falsch ... 🙄 erstens muss IPv6SendRA im Downstream aktiviert werden also yes lauten, des weitreren IPv6AcceptRA auf no stehen wenn man in diesem vlan keine weiteren Router stehen hat die routen übernehmen sollen.
Des weiteren ist das ebenfall hier unsinnig
[Route]
Destination=192.168.172.0/24
Eine Host-Route wird automatisch für die in "Address" zugewiesene Subnetz angelegt!

Zur Fehlermeldung von systemd, deine systemd Version ist wohl zu alt, oder IPv6 für systemd-networkd deaktiviert worden.

Es bringt hier einfach nichts ohne das die IPv6 Grundlagen vorhanden sind.

Lies dir das von @aqui genannte PDF in Ruhe durch dann erledigt sich das Thema von selbst. Genügend Hilfestellung haben wir ja gegeben, aber wenn das gegenüber die grundlegende Funktionsweise der RAs nicht verinnerlicht hat ist das vergebene Mühe.
Sonie69
Sonie69 23.06.2023 um 16:57:00 Uhr
Goto Top
#- DHCPPrefixDelegation heißt jetzt DHCPv6PrefixDelegation
- UplinkInterface gibt es nicht mehr
7426148943
7426148943 23.06.2023 aktualisiert um 17:10:47 Uhr
Goto Top
Zitat von @Sonie69:

#- DHCPPrefixDelegation heißt jetzt DHCPv6PrefixDelegation
- UplinkInterface gibt es nicht mehr
Nö die aktuelle Doku ist hier eindeutig
https://www.freedesktop.org/software/systemd/man/systemd.network.html
Da gibt es kein DHCPv6PrefixDelegation
Und ein aktuelles systemd 253.3-3 bestätigt dies.
Selbst auf der Debian Man-Page von systemd gibt es die Direktive nicht
https://manpages.debian.org/bookworm/manpages-de/systemd.network.5.de.ht ...

Obige Config läuft hier auf nem plain vanilla Archlinux mit aktuellstem Kernel einwandfrei!
Sonie69
Sonie69 23.06.2023 um 17:19:15 Uhr
Goto Top
dann liegt es an meiner raspian, die hat build
ii systemd 247.3-7+deb11u2 arm64 system and service manager
ii systemd-sysv 247.3-7+deb11u2 arm64 system and service manager - SysV links
ii systemd-timesyncd 247.3-7+deb11u2 arm64 minimalistic service to synchronize local time with NTP servers

und die sollte eigentlich aktuell sein:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
7426148943
7426148943 23.06.2023 um 17:42:57 Uhr
Goto Top
also eine seeeeeeeehr alte systemd. face-smile.
aqui
aqui 23.06.2023 aktualisiert um 21:41:33 Uhr
Goto Top
Stimmt auch nicht, denn es rennt auf einem aktuellen Raspberry OS Bullseye ganz genau so wie oben beschrieben!
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os- ...
Sonie69
Sonie69 23.06.2023 um 22:23:45 Uhr
Goto Top
so langsam fang ich an an meinem verstand zu zweifeln:

ich habe die pakete aktualisiert:
ii systemd 253-3 arm64 system and service manager
ii systemd-dev 253-3 all systemd development files
ii systemd-sysv 253-3 arm64 system and service manager - SysV compatibility symlinks
ii systemd-timesyncd 253-3 arm64 minimalistic service to synchronize local time with NTP servers

die /config bearbeitet wie von zeppel vorgegeben:
cat 20-lan178-untagged.network
[Match]
Name=eth0
Type=ether

[Network]
Description=lokales Netzwerk
ConfigureWithoutCarrier=true
IPv6AcceptRA=yes
VLAN=vlan172
VLAN=vlan173
VLAN=vlan174
VLAN=vlan175

[DHCPv6]
WithoutRA=solicit

[Address]
Address=fd00::dea6:32ff:feb3:ff62/64

[Address]
Address=192.168.178.10/24

[Route]
Gateway=192.168.178.1

die vLan entsprechend:
[Match]
Name=vlan172
Type=vlan

[Network]
Description=Papa Network
DHCPPrefixDelegation=yes
IPv6AcceptRA=false
IPv6SendRA=true

[Address]
Address=192.168.172.10/24

[Route]
Destination=192.168.172.0/24

[DHCPPrefixDelegation]
UplinkInterface=eth0
SubnetId=1
Announce=yes

das forwarding kontrolliert - und was kommt raus:

3: vlan173@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether dc:a6:32:b3:ff:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.173.10/24 brd 192.168.173.255 scope global vlan173
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:feb3:ff62/64 scope link
valid_lft forever preferred_lft forever
4: vlan174@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether dc:a6:32:b3:ff:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.174.10/24 brd 192.168.174.255 scope global vlan174
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:feb3:ff62/64 scope link
valid_lft forever preferred_lft forever
5: vlan172@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether dc:a6:32:b3:ff:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.172.10/24 brd 192.168.172.255 scope global vlan172
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:feb3:ff62/64 scope link
valid_lft forever preferred_lft forever

keine ipv6 auf irgend einem vlan.
7426148943
7426148943 24.06.2023 aktualisiert um 07:44:49 Uhr
Goto Top
die /config bearbeitet wie von zeppel vorgegeben:
Tja, glaube du brauchst eine neue Brille.
Sonie69
Lösung Sonie69 04.09.2023 um 13:36:32 Uhr
Goto Top
man kann die config bearbeiten, wie man will... das bringt nichts, wenn der provider nicht mitbespielt.
aqui
aqui 04.09.2023 um 14:07:25 Uhr
Goto Top
Klassische Binsenweisheit die seit Jahrzehnten jeder Admin kennt... face-wink