I want to setup IPv6 prefix delegation on a machine with only a single ethernet port and then request a set number of addresses and route them on the same device only.

From what I have read so far online, normally the setup is that you have an "external" network device, where you configure things like:


and then on the internal device you set some other options:



However, since I don't have any "internal" devices here, I am thinking what the best approach here is. One thing that would make sense to me is to make a "bridge" device, where I set all the flags for the internal network and then have multiple virtual devices attached to the bridge which would then each get an IPv6 address from the prefix.

However, as soon as I set up a simple bridge device, e.g. something called pdbr, things start falling apart. The device becomes visible, though it shows that it's 'DOWN', and I can add some veth devices to it, but they don't get an IPv6 address. Rebooting the system causes it to hang.

I'm kind of stuck on how to proceed further. This is all running on a headless raspberry pi 4 with bullseye on it. The lack of a screen makes it somewhat difficult to see what's going on.

I also have the feeling there should be an easier solution. Simply adding multiple IP addresses on the device, however, is not an option.

  • Let's see if I get this right: you want the have multiple IPv6 addresses on a single interface, but for some reasons a static configuration does not work? Also, the config-snippets you posted don't look likae an interfaces file. Does Debian 11 on ARM use netplan or some other fancy new tool?
    – OttoEisen
    Jul 22 at 19:48
  • Yes, I need to have multiple IPv6 addresses, but the modem/router I use (Fritz!Box) has a very limited interface and it only allows opening up the primary address on a device, as well as delegated prefixes. Simply adding an IPv6 address to the interface gives no option to open the firewall. The config snippets are used for systemd-networkd. Jul 22 at 19:58
  • Sorry, I'm not familiar with systemd-networkd. Assuming that some sort of virtualization is involved, these links may help, but they assume "old-school" /et/network/interfaces configurations: for the external stuff link for the internal stuff. and link for the internal stuff.
    – OttoEisen
    Jul 22 at 20:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.