January 26, 20251 yr Sorry to dig up an old thread but I'm new to UNRAID and I am stuck on step 2 from @bonienl post from 2021. Step 1: Completed. The UNRAID server has both IPV4 and IPV6 address. Step 2: My Docker settings only shows IPV4 not both IPV4 and IPV6. I am running UNRAID 7.0.0. The reason I'm trying to get docker containers IPV6 addresses is because I want to use pi hole as a DNS server but cannot point networked IPV6 devices to an IPV4 only DNS. Any hints / tips appreciated. Thank you.
October 20, 2025Oct 20 for anyone still want to get ipv6 on br0 working, HumanTechDesign step was mostly correct!On 12/13/2022 at 4:52 AM, HumanTechDesign said:For everyone looking for a solution to assign static local addresses via SLAAC to their containers on a separate VLAN here is quick walkthrough:Generate an ULA prefix (preferably actually random e.g. via some online tools)Enter the prefix as an advertised route for the interface in your router (in opnsense - and probably pfsense) this is done via a "Virtual IP"Configure Unraid's networking with automatic IPv6 on the VLAN interface with the docker containers (see above) - preferably turn off privacy extensions to generate "truly stable" addresses - however, I believe that this only affects the IPv6 adress of the interface in Unraid, not of the underlying docker containersActivate IPv6 networking in the docker settings for that interface (this should already show the new ULA prefix from your router prefilled!)add the line --sysctl net.ipv6.conf.all.disable_ipv6=0 as an additional parameter to the containeradd the line --mac-address xx:xx:xx:xx:xx:xx (with a MAC address of your choosing) as an additional parameter to the container (not sure if that is neccessary, but I wasn't sure if an update/restart of a container might generate new MAC address)Start the containerPing the container (or run something like ifconfig in the container) to find out the ULA of the container (should start with something like fc... or fd... - NOT the fe... address)Use that ULA as a stable IPv6 for that containerBut the reason everybody keep adding --sysctl net.ipv6.conf.all.disable_ipv6=0 or --sysctl net.ipv6.conf.eth0.use_tempaddr=2 is because docker network br0 was already created with ipv6 disabled!AKAIPv6 privacy extensions == --sysctl net.ipv6.conf.eth0.use_tempaddr flagNetwork protocol has IPv6 == --sysctl net.ipv6.conf.all.disable_ipv6=0 flagYou don't need to set it manually. All you need is recreate the br0 docker network, as docker doesn't support edit existing networks.So, after step 4, the more elegant way to do is:docker network inspect br0 to find all the containers that uses br0. You have to remove those containers. Not just stop it. Double check to see if you have anything valuable, containers should be stateless so it should be fine.docker network rm br0 remove your br0 docker network.restart your docker in unraid docker settingdocker network inspect br0 yay it's been recreated with right ipv6 subnet too!docker container inspect <container name> | grep GlobalIPv6Address to get your container ipv6 addresson another computer, ping it ip -6 fxxx:xxxx:xxxx and you should be all set! No more --sysctl on every single containersP.S. If are on a different VLAN than your main network and run tcpdump -i br0 icmp6 and 'ip6[40] == 134'and you don't see any RA messages after you enable IPv6 (and your router already has prefix delegation enabled), your ISP likely only delegated a single /64. :( In that case you cannot assign additional global IPv6 subnets to other VLANs — you’ll need to use ULA (Unique Local Addresses) statically. Edited October 20, 2025Oct 20 by just_cat
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.