24.09.2025 19:29, Mark VanDyke wrote:
>>> The following relevant portion in my working networking config.
>>
>> You did not show any of the systemd/networkd conf files.
>
> True. Let me start over.
>
> In the "old" situation I configure the system with "legacy scripts" as
> they call it, which do not use networkd beyond putting .link units in
> /etc/systemd/network: networking is setup separately and dhcp is handled
> by dhcpcd.
>
> In the "new" situation I am trying to use systemd. In my previous email
> I shared the NixOS config that generates the unit files but in hindsight
> I shouldn't have assumed that everyone is familiar with NixOS. And, I
> see in the archives of this list that the formatting of my first turned
> up horrible, so I'll try a different mail client - hopefully this one
> will work better.
>
>> What software are you using for dhcp?
>
> So let me start over and try better descriptions. First the old
> situation, in which the wan device (a vlan ethernet link) is setup by
> NixOS and is assigned the IPv6 address 2001:db8:effe:ffff::fe/128. Then
> it runs dhcpcd:
>
> dhcpcd.conf:
> ----
> hostname
> option domain_name_servers, domain_name, domain_search
> option classless_static_routes, ntp_servers, interface_mtu
> nohook lookup-hostname
>
> denyinterfaces ve-* vb-* lo peth* vif* tap* tun* virbr* vnet* vboxnet*
> sit*
> allowinterfaces wan
>
> waitip 4
> waitip 6
>
> option host_name
>
> hostname
> clientid
> persistent
> option rapid_commit
> option domain_name_servers, host_name
> nooption interface_mtu
> slaac private
> nohook lookup-hostname
> noipv4ll
>
> interface wan
> nooption interface_mtu
> ipv6rs
> ia_pd 1/::/48
Why? It is not used later to configure the downlink interface.
> ----
>
> 'ip -6 addr show dev wan' shows two IP addresses:
> 2001:db8:effe:ffff::fe/128
> fe80::somethingsomething/64
>
> 'ip -6 route show default' shows:
> default via fe80::2 dev wan proto ra metric 1006 pref high
>
> Then radvd is started with this radvd.conf for my LAN (vlan 10, bridge
> vbr10):
> ----
> interface vbr10
> {
> AdvSendAdvert on;
>
> prefix 2001:4c3b:8631:10::/64
So, it announces the fixed prefix unrelated to the uplink delegated
prefixes.
> {
> AdvAutonomous on;
> AdvOnLink on;
> AdvPreferredLifetime 54800; # 18 hours
> AdvValidLifetime 604800; # 7 days
> };
>
> RDNSS fe80::76:35ff:fefb:1001
> {
> AdvRDNSSLifetime 14400; # 4 uur
> };
> };
> ---
>
> This gives me working IPv6 on my router and on my LAN.
>
>
> So now the new situation. Here is the .network unit which ultimately
> results in partially configured non-working IPv6:
>
You forgot to explain what non-working means. But at the very least -
you need the second xxx.network to configure your downlink interface to
send RA, with [IPv6SendRA] and [IPv6Prefix] sections matching your radvd
configuration. And of course anything else required to configure IPv6
address on this interface.
> 15-wan.network: configure the vlan interface
> ----
> [Match]
> Name=wan
>
> [Link]
> RequiredForOnline=true
>
> [Network]
> DHCP=yes
> DHCPPrefixDelegation=true
> IPv6AcceptRA=true
> IPv6PrivacyExtensions=true
> LinkLocalAddressing=ipv6
> # I tried both with and without this line:
> Address=2001:db8:effe:ffff::fe/128
>
> [DHCPv4]
> # working dhcpv4
> ClientIdentifier=mac
> RapidCommit=true
> UseHostname=false
> UseMTU=false
>
> [DHCPv6]
> PrefixDelegationHint=::/48
> RapidCommit=true
>
> [IPv6AcceptRA]
> # I tried both with and without this line:
> Token=static:::ffff:0:0:fe
> UseAutonomousPrefix=false
> UseDNS=false
> ----
>
>
>> In my case my ISP provides a PPPoE interface that does a lot of the
>> heavy lifting.
>> You have ethernet without the PPPoE it seems.
>
> Yeah idk about PPPoE, here my the router is connected to a XS-010X-Q, a
> simple fiber to ethernet converter pretty much, with internet on a vlan.
> It isn't really relevant to any of this; my goal is to use systemd
> instead of dhcpcd / dhclient, for IPv6 as well which if I understand
> correctly should be doable.
>
>> Then I use /etc/systemd/networkd .conf for the internal and external
>> interfaces.
>>
>> I can get ISC kea dhcp to work for ipv4, but not integrate with bind.
>> So I'm still on ISC dhcpv4 until I have time to fix the integration.
>> The IPv6 is doing prefix deligation and that is all in the .conf
>> files.
>
> It looks like you're setting up your networking with systemd and then
> relying on an external dhcp client to set up your connection. My
> question is about how to let systemd handle that part too.
>
> I appreciate your mail, it helped me sort my thoughts,
>
> Mark