Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Bonded Network connection not getting IPv6

Featured Replies

Trying to get home network up and running with IPv6 (SLAAC + DHCPv6 [O+A]). Still new, so please correct me if I'm wrong about something.

 

OPNSense is the router. radvd is running with advanced options handing out DNS server. Wireshark capture on another box seem to show that the Router Advertisements are working.

image.png.cc6dc519fb909fca9651e965a594c41f.png

 

my ISP is Comcast, and I've requested a /60 from them, which OPNSense has gotten and listed and is handing out. Other machines on my network are getting an IPv6 from the /60 subnet.

 

I'm running Unraid with 4 interface bonded together on eth0. When I changed Unraid fom `IPv4` to `IPv4 + IPv6`. The Network settings refresh with the DHCP v4 address, but the IPv6 address and default gateway are both blank.

 

If I SSH in, then it shows br0 getting an IPv6 address from the same subnet, but not the bond0 interface.

root@media-1:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
24: bond0: <BROADCAST,MULTICAST,PROMISC,MASTER,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::21b:21ff:fe3d:5460/64 scope link 
       valid_lft forever preferred_lft forever
25: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2601:****:****:****:7c63:e8ff:feac:ade5/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86384sec preferred_lft 14384sec
    inet6 fe80::7c63:e8ff:feac:ade5/64 scope link 
       valid_lft forever preferred_lft forever

 

What am I missing?

  • Author

sorry, typed too fast. Okay, `br0` is the main interface, I was wrong. bond0 is a member of br0. (which explains why I could get ipv6 traffic).

 

What lead me to believe I wasn't getting an address is on the Unraid Network Settings page, it's showing eth0's IPv4 address, but under IPv6, everything is blank.

image.thumb.png.f49bffe09fb747535ede0ce4ae93e065.png

  • Author
On 3/11/2022 at 3:58 PM, bonienl said:

br0 is the main interface and bond0 is a member of the bridge.

 

so attempting to get to the bottom of this

 

br0 is getting IPv4 and IPv6, however bond0 is showing as as only getting an IPv6 ULA, not a SLAAC address.

20: bond0: <BROADCAST,MULTICAST,PROMISC,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21b:21ff:fe3d:5460/64 scope link 
       valid_lft forever preferred_lft forever
21: bond0.1@bond0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0.1 state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
22: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.14/24 brd 10.0.0.255 scope global dynamic noprefixroute br0
       valid_lft 684484sec preferred_lft 598084sec
    inet6 ****:****:****:****:c38:5dff:fe00:4362/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86060sec preferred_lft 14060sec
    inet6 fe80::c38:5dff:fe00:4362/64 scope link 
       valid_lft forever preferred_lft forever
23: br0.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:1b:21:3d:54:60 brd ff:ff:ff:ff:ff:ff

 

Actually following your how-to here 

and in those screenshots it shows an address under IPv6 entries (greyed out), but on mine, there's no values at all.

Edited by Zxurian

The IPv6 assignment is correct.

This is my test server with a bonded interface (4 members) and bridge function enabled.

 

root@flora:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
18: bond0: <BROADCAST,MULTICAST,PROMISC,MASTER,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::a236:9fff:fe79:84ac/64 scope link 
       valid_lft forever preferred_lft forever
24: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 ****:****:****:101:a236:9fff:fe79:84ac/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86095sec preferred_lft 14095sec
    inet6 fe80::a236:9fff:fe79:84ac/64 scope link 
       valid_lft forever preferred_lft forever

 

The unusual part is the IPv6 address is not shown under the interface settings.

 

Q: what vlan number do you use for the br0.1 / bond0.1 interface? It should be 2 or higher (not 1).

 

  • Author
19 hours ago, bonienl said:

The IPv6 assignment is correct.

This is my test server with a bonded interface (4 members) and bridge function enabled.

 

The unusual part is the IPv6 address is not shown under the interface settings.

 

Q: what vlan number do you use for the br0.1 / bond0.1 interface? It should be 2 or higher (not 1).

 

A: That was me being dumb. Will reset to 2. I have no VLANs on my network yet, so the one on Unraid to get Docker IPv6 is the only VLAN I'd be running.

 

In order to diagnose the IPv6 issue, I'm going to just get rid of all VLANs for the time being. However... when I removed the VLAN, waited for it to refresh, lost the IPv6 information again. (I did see it briefly, however I'm unable to explain what triggered it)

* no IPv6 information on Settings -> Network page

28: bond0: <BROADCAST,MULTICAST,PROMISC,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21b:21ff:fe3d:5460/64 scope link 
       valid_lft forever preferred_lft forever
29: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.14/24 brd 10.0.0.255 scope global dynamic noprefixroute br0
       valid_lft 690882sec preferred_lft 604482sec
    inet6 ****:****:****:****:9c23:e7ff:fe43:6916/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86351sec preferred_lft 14351sec
    inet6 fe80::9c23:e7ff:fe43:6916/64 scope link 
       valid_lft forever preferred_lft forever

 

this is confirmed when I run `curl https://ifconfig.co` I get the reply of my Global IPv6 address (issued via SLAAC) that's listed under `br0`

 

so IPv6 looks like it's working from Unraid, but no IPv6 information is showing under Settings -> Network

Your syslog is spammed with this error every 10 seconds:

Mar 16 04:47:33 media-1 dhcpcd[24726]: br0: requesting DHCPv6 information
Mar 16 04:47:43 media-1 dhcpcd[24726]: br0: failed to request information

 

There is some misalignment between Unraid and your router OPNsense.

Difficult to say what is wrong because no other information is available.

I advice you to have a look at the OPNsense settings and try out different settings.

 

  • Author
14 hours ago, bonienl said:

Your syslog is spammed with this error every 10 seconds:

Mar 16 04:47:33 media-1 dhcpcd[24726]: br0: requesting DHCPv6 information
Mar 16 04:47:43 media-1 dhcpcd[24726]: br0: failed to request information

 

There is some misalignment between Unraid and your router OPNsense.

Difficult to say what is wrong because no other information is available.

I advice you to have a look at the OPNsense settings and try out different settings.

 

Thank you for the slap. Wasn't actually an OPNSense issue, but seeing you list the failure of DHCPv6 lead me to investigate some other things and went down a rabbit hole.

 

For those that encounter this in the future.

My OPNSense was setup with the following:

* WAN - IPv6 Configuration Type: DHCPv6

* * also requesting a prefix delegation size of 60 and sent IPv6 prefix hint

* LAN - IPv6 Configuration Type: Track Interface

* * Tracked IPv6 Interface is the WAN interface

* * checked Allow manual adjustment of DHCPv6 and Router Advertisements

* Services -> Router Advertisement, LAN

* * Router Advertisements set to Stateless (This sets O + A flags, which is what I want for Stateless DHCPv6. for clients, IPv6 is gotten from SLAAC, but then looks for a DHCPv6 server for additional information like DNS servers & suffix.

 

This setup was working (see initial post). RAs (Router Advertisements) were being sent out correctly with the correct information. The Problem was my DHCPv6 server was _not_ working, so while clients would get an IPv6 & gateway from the RA's, when they sent out a DHCPv6 request, they weren't getting a reply. This is apparently why Unraid was able to get an IPv6 address and _use_ it, but it would not show up under Settings -> Network because the DHCPv6 request never completed (I'm guessing). This was verified from Wireshark and seeing DHCPv6 Information Request packets, but no replies.

 

My DHCPv6 server is a Windows Server 2019 acting as AD, DHCP, DNS. DHCPv4 has been working without issue for years, this was only when I started getting into IPv6 that I noticed issues. Within Windows Server DHCP Service, when you're not using it to hand out IPv6 address, you do _NOT_ want to setup a scope. Instead only set the Server Options under IPv6 with what you want. It was only after playing around that I found that when right-clicking on IPv6, and going to Properties -> Advanced -> Bindings, that I saw that there were no interfaces listed.

Some extended digging later, apparently Windows Server DHCP service will _only_ bind to an interface with a static IP. Okay then. I then went to set a static IPv6 on my adapter, which I set to the same address it had gotten with SLAAC (whether this is correct or not, I don't know, someone else can overrule me). Set the gateway for the OPNSense IPv6, then set the DNS for the same as the static IPv6. Hit OK, OK. Go back to DHCP Service Bindings, aaand, still no interface. Went back into Network Adapter settings and discovered that the IPv6 Properties had reset itself _back_ to "Obtain IPv6 address automatically", but did keep the DNS server, and the Default Gateway was still there, just greyed out.

Some more extended digging, and apparently you need to manually disable _Router Discovery_ (not Advertisement) on the Network Interface, otherwise no matter what you do, Windows will reset the IPv6 Properties back to "Obtain an IPv6 address automatically", even though it'll let you fill in the fields. After running `netsh interface ipv6 set interface "<your adapter>" routerdiscovery=disabled`, I was able to finally set a static IPv6 on the adapter, and it actually saved it. Then went back into DHCP Service Bindings and my IPv6 interface was finally listed. After that DHCPv6 answers started flowing. Wireshark confirmed that both DHCPv6 Information Requests AND answers were flowing.

Went back into Unraid, and boom, there was the IPv6 information on the Settings -> Network page.

 

IPv6 has been a wild ride. Thank you @bonienl for your patience and giving me a hint towards what was the actual issue. Now to resume your other tutorial on docker IPv6.

  • 2 years later...

Thank you @Zxurian for your elaborate findings! I was also caught up on the logs being spammed by "br0: requesting DHCPv6 information" and you brought me to check a few things. In my case it was actually easier, as I actually don't run a DHCPv6 service in my network.

 

All my OPNsense settings are the same as yours. What I had to change was:

  • Services > Router Advertisements > LAN > Router Advertisements: Unmanaged

 

I had it on "Stateless" before. As far as I understand that told clients they should do SLAAC as well as make DHCPv6 requests. "Unmanaged" tells clients that they should only do SLAAC (and I guess that there is no DHCPv6 server available).

 

This is the description of the options inside of OPNsense:

Quote

Select which flags to set in Router Advertisements sent from this interface. Use "Router Only" to disable Stateless Address Autoconfiguration (SLAAC) and DHCPv6, "Unmanaged" for SLAAC (A flag), "Managed" for Stateful DHCPv6 (M+O flags), "Assisted" for Stateful DHCPv6 and SLAAC (M+O+A flags), or "Stateless" for Stateless DHCPv6 and SLAAC (O+A flags).

 

No my log is not spammed anymore! 🥳 For those interested, this is how the log looked like directly after the change:

Jul 17 11:13:56 NAS dhcpcd[1027]: br0: requesting DHCPv6 information
Jul 17 11:14:01 NAS dhcpcd[1027]: br0: fe80::5054:ff:fe2c:6e5f: no longer a default router
Jul 17 11:14:01 NAS dhcpcd[1027]: br0: deleting default route via fe80::5054:ff:fe2c:6e5f
Jul 17 11:14:01 NAS avahi-daemon[9346]: Withdrawing address record for 2001:9e8:4c7e:6200:6ebf:b5ff:fe02:897b on br0.
Jul 17 11:14:01 NAS avahi-daemon[9346]: Registering new address record for 2001:9e8:4c7e:6200:6ebf:b5ff:fe02:897b on br0.*.
Jul 17 11:14:01 NAS avahi-daemon[9346]: Registering new address record for fe80::6ebf:b5ff:fe02:897b on br0.*.
Jul 17 11:14:01 NAS avahi-daemon[9346]: Withdrawing address record for 2001:9e8:4c7e:6200:743:303f:90a6:531f on br0.
Jul 17 11:14:01 NAS avahi-daemon[9346]: Withdrawing address record for fe80::6ebf:b5ff:fe02:897b on br0.
Jul 17 11:14:01 NAS avahi-daemon[9346]: Registering new address record for 2001:9e8:4c7e:6200:743:303f:90a6:531f on br0.*.
Jul 17 11:14:01 NAS dhcpcd[1027]: br0: adding default route via fe80::5054:ff:fe2c:6e5f
Jul 17 11:14:01 NAS dnsmasq[14716]: reading /etc/resolv.conf
Jul 17 11:14:01 NAS dnsmasq[14716]: using nameserver 192.168.1.1#53
Jul 17 11:14:01 NAS dnsmasq[14716]: reading /etc/resolv.conf
Jul 17 11:14:01 NAS dnsmasq[14716]: using nameserver 192.168.1.1#53
Jul 17 11:14:01 NAS dnsmasq[14716]: using nameserver fe80::5054:ff:feaa:33d1%br0#53
Jul 17 11:14:06 NAS dhcpcd[1027]: br0: no advertising IPv6 router wants DHCP

 

Edited by Koelle
Made the @Zxurian the proper mentioning link

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.