[systemd-devel] networkd: Delegated prefix advertised only once?
Radosław Kintzi
radek at k4i.pl
Wed Oct 9 14:21:00 UTC 2024
Hello.
I'm not sure if this is the right place to ask this sort of question, but I'm
having trouble configuring my router for a home network. Here is the setup:
My ISP provided me with a usual "router" that acts as a modem, router,
hotspot, and switch all in one. I will refer to this device as a Wi-Fi device
to differentiate it from the router I am trying to set up. The router is
a small PC with four Ethernet interfaces. It runs Archlinux (fresh
installation) with Systemd 256.6. The router is connected to the Wi-Fi device
using an Ethernet cable.
There is also a third device, a laptop with an updated Archlinux, which I will
refer to as a client. It is connected to the router using Ethernet cable.
My ISP supports IPv6 prefix delegation; however, I'm struggling to make it
work correctly. The problem is that the client device only acquires an address
from the delegated network when the networkd daemon on the router is
restarted. If the client is unplugged and then plugged back into the router,
or if its network daemon is restarted, or the `networkctl reconfigure enp*`
command is executed, it fails to assign an address to the interface.
>From the logs I attached below, particularly the tcpdump.log file, it appears
that the router advertises the delegated network only once on a downlink. I'm
not sure if this is normal behavior, an issue, or the root of the problem. I'm
not a network expert and would appreciate any help you can offer. Please let
me know if there is more information I should provide to debug the problem.
I have attached router-networkd.log.gz, client-networkd.log.gz, and
tcpdump.log.gz files, all captured at the same time. Around 14:53:52,
I reconfigured the interface using the command `networkctl reconfigure enp*`.
Bellow I share router and client configuration:
Router's `/etc/systemd/netword/15-uplink.network`:
```
[Match]
Name=enp2s0
[Network]
DHCP=yes
IPv6AcceptRA=yes
IPv6Forwarding=yes
[DHCPv6]
WithoutRA=solicit
PrefixDelegationHint=::/56
```
Router's `15-downlink.network`:
```
[Match]
Name=enp3s0
[Network]
DHCP=no
DHCPPrefixDelegation=yes
IPv6SendRA=yes
IPv6AcceptRA=no
IPv6Forwarding=yes
[DHCPPrefixDelegation]
UplinkInterface=enp2s0
SubnetId=1
Announce=true
```
Client's `20-wired.network`:
```
[Match]
Name=enp*
[Network]
DHCP=yes
IPv6AcceptRA=yes
[DHCPv4]
RouteMetric=100
[DHCPv6]
RouteMetric=100
[IPv6AcceptRA]
RouteMetric=100
UseDNS=yes
```
The laptop is also connected to the Wi-Fi network via the wlan0 interface, but
it makes no difference if it isn't connected. Also note that IPv6Forwarding is
enabled in `networkd.conf`.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: client-networkd.log.gz
Type: application/gzip
Size: 3289 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20241009/f90cbff5/attachment.gz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: router-networkd.log.gz
Type: application/gzip
Size: 6677 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20241009/f90cbff5/attachment-0001.gz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tcpdump.log.gz
Type: application/gzip
Size: 2783 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20241009/f90cbff5/attachment-0002.gz>
More information about the systemd-devel
mailing list