• [6.12.3] Docker ignores IPv6 addresses


    MaZeC
    • Minor

    I upgraded to 6.12.3, especially because of the in the wiki mentioned IPv6 issues and now I have another, more annoying one.
    If I try to start docker container with IPv6 addresses assigned to them, it will fail. 

     

    I have my addresses to my IPv6 dockers assigned, Unraid showed them in the docker-settings page, and they are enabled, yet in the container Settings they are not showing up as they did with version. 6.12.2!

    Unraid Network Settings of the Interface

    image.thumb.png.4e413e613163947af0e6d53d55321961.png

    Docker Settings Page

    image.thumb.png.6a4234052a8452736f91111f323283fb.png

    CLI output of the Interface

    root@Z-Storage:~# docker network inspect br0.69
    [
        {
            "Name": "br0.69",
            "Id": "5e996f4ad75df90ab9e36696dbd07f2095b09b601c835536bd961557fe2ab25f",
            "Created": "2023-07-16T22:18:30.879701979+02:00",
            "Scope": "local",
            "Driver": "macvlan",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": {},
                "Config": [
                    {
                        "Subnet": "10.10.0.0/24",
                        "Gateway": "10.10.0.1",
                        "AuxiliaryAddresses": {
                            "server": "10.10.0.9"
                        }
                    }
                ]
            },
            "Internal": false,
            "Attachable": false,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "ea72c624b391f6f0b2d5b067396bcec450acfb8e2f3c5d120769a73e0f710321": {
                    "Name": "duplicati",
                    "EndpointID": "8b9d474158493b514c860564df65f2eda086af1ccb93051fbd7852d07c950a7c",
                    "MacAddress": "02:42:0a:0a:00:17",
                    "IPv4Address": "10.10.0.23/24",
                    "IPv6Address": ""
                },
                "ed1a29238b7f3fee6eb08558f328cb7abea2124004f7227d9aa1ba26850a83ba": {
                    "Name": "ZH-Homepage",
                    "EndpointID": "2d76bf03a3668e2daad7cc95265f93f3ed5aa2cc059d3a10a4c9a5a39026ff61",
                    "MacAddress": "02:42:0a:0a:00:0c",
                    "IPv4Address": "10.10.0.12/24",
                    "IPv6Address": ""
                }
            },
            "Options": {
                "parent": "br0.69"
            },
            "Labels": {}
        }
    ]

    It shows that IPv6 is disabled. This is not good, because my Services-Network depends on IPv6!

    Container Settings Page

    image.thumb.png.599e592a15d094871235a39d04538c31.png

    On the Right, wehre the yellow marking is, is normally the IPv6 network of the container listed, which is missing!

    Diagnostics of 6.12.3

    z-storage-diagnostics-20230716-2231.zip

    They might be helpful.

     

    Rollback to 6.12.2

    Now I rolled back to 6.12.2 because I didn't want to change my configuration to IPv4! Here everything works as expected.

    image.thumb.png.1492ac84b089078a5107b07d41f3a39f.png

    Here how the container settings should look like! I have a additional Unique Local Address-Network announced for static addressing within my homenet.

     

    Here the same command as before but after the rollback.

    root@Z-Storage:~# docker network inspect br0.69
    [
        {
            "Name": "br0.69",
            "Id": "99be53f1356e2d70aacc6d91b414730f7d1dc14e70013de38b1f7a1113b55f28",
            "Created": "2023-07-16T22:48:51.744555435+02:00",
            "Scope": "local",
            "Driver": "macvlan",
            "EnableIPv6": true,
            "IPAM": {
                "Driver": "default",
                "Options": {},
                "Config": [
                    {
                        "Subnet": "10.10.0.0/24",
                        "Gateway": "10.10.0.1",
                        "AuxiliaryAddresses": {
                            "server": "10.10.0.9"
                        }
                    },
                    {
                        "Subnet": "fd4f:71d8:b745:45::/64",
                        "Gateway": "fd4f:71d8:b745:45::1",
                        "AuxiliaryAddresses": {
                            "server6": "fd4f:71d8:b745:45:ae1f:6bff:fee4:7c6a"
                        }
                    }
                ]
            },
            "Internal": false,
            "Attachable": false,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "2987cf58b40dc191c6637001f5ee904fe197cd3183dd59df4ad39253ccd25141": {
                    "Name": "Redis",
                    "EndpointID": "01adc1862ca009250c04e93ff66c19fdaf93249860c4fcb141cb6a3197d1294a",
                    "MacAddress": "02:42:0a:0a:00:07",
                    "IPv4Address": "10.10.0.7/24",
                    "IPv6Address": "fd4f:71d8:b745:45:f773:520b:7496:e57e/64"
                },
                "3b4aeb62425f68755edb0d3bad2819afabbbdfe43021507e359b53a39ec28d87": {
                    "Name": "Z-Media",
                    "EndpointID": "8c5a5f744ddcd01d4db0e1ed492f8321efd763bca50e9a063bebecdb8a22d4cc",
                    "MacAddress": "02:42:0a:0a:00:0b",
                    "IPv4Address": "10.10.0.11/24",
                    "IPv6Address": "fd4f:71d8:b745:45::f/64"
                },
                "41134e725c63f1a405efa8d54c330ba5ac273cbe52b5859794cc28df893d58b2": {
                    "Name": "gotenberg",
                    "EndpointID": "bbe9f5c14ea20f1a3095ba29b019d9ccae63f0addd1c8d8c03f792f46d130010",
                    "MacAddress": "02:42:0a:0a:00:03",
                    "IPv4Address": "10.10.0.3/24",
                    "IPv6Address": "fd4f:71d8:b745:45:29b2:8dc3:3846:415d/64"
                },
                "417b46043e0e78bae32fff5885d2bbb7b5ca05d22bf0d07241735a7037392244": {
                    "Name": "vaultwarden",
                    "EndpointID": "8334e6c3ecf2c5c7ad06153c9b952baeb97492044f4c52cdb553ea02c59750d0",
                    "MacAddress": "02:42:0a:0a:00:15",
                    "IPv4Address": "10.10.0.21/24",
                    "IPv6Address": "fd4f:71d8:b745:45:6263:70c2:74d3:55d/64"
                },
                "5679f9773f8ff78e69ce97de1c8307c780ad34798969b49447fc745f241e43db": {
                    "Name": "z-cloud",
                    "EndpointID": "30114e23d16bf480450e681cc79083585d92d3cc85191010cbf66cf5bf2ffe96",
                    "MacAddress": "02:42:0a:0a:00:08",
                    "IPv4Address": "10.10.0.8/24",
                    "IPv6Address": "fd4f:71d8:b745:45::f572:9/64"
                },
                "5685f9ece498142d6f988bee988ee2ad6a75800e28ee3ed336f9a57f4ca6d890": {
                    "Name": "maze-paperless-ngx",
                    "EndpointID": "e3d87cf7e068e3e6143b105f604e00fb4bc6fcd4db817d215cc716ec0ed6a067",
                    "MacAddress": "02:42:0a:0a:00:04",
                    "IPv4Address": "10.10.0.4/24",
                    "IPv6Address": "fd4f:71d8:b745:45:4d19:cabb:7c92:c4e8/64"
                },
                "8198827ded2d28cd7f477b97c83c6b14363506524474c81777186691f20d5bef": {
                    "Name": "navidrome",
                    "EndpointID": "231ff28551c7e69e9fbb9d2204a01f09548cdd2ea95ca221fb8e5fa6ad157722",
                    "MacAddress": "02:42:0a:0a:00:18",
                    "IPv4Address": "10.10.0.24/24",
                    "IPv6Address": "fd4f:71d8:b745:45::18/64"
                },
                "bb9ebf7130fa486ec871fc9ce55f453dae36ed019c8f663a43a9a62a8a0b9f2b": {
                    "Name": "paperless-ngx",
                    "EndpointID": "2d65e207a6d465977563d7476a99fdbc6094573bc8bd52d34800de5b4314f67e",
                    "MacAddress": "02:42:0a:0a:00:0a",
                    "IPv4Address": "10.10.0.10/24",
                    "IPv6Address": "fd4f:71d8:b745:45:cac5:7569:ffb4:c5c1/64"
                },
                "cc113428b4bca6e1d2d421c735f6d24bbfb3d4108036460b6e85d0019aa86e8c": {
                    "Name": "postgresql15",
                    "EndpointID": "85d39e1da2f2d87841391a75b41d64207538839e62cb64eac2f41d4ec25b5bcf",
                    "MacAddress": "02:42:0a:0a:00:05",
                    "IPv4Address": "10.10.0.5/24",
                    "IPv6Address": "fd4f:71d8:b745:45:2128:752b:59d4:8f37/64"
                },
                "ced45afb96e45062744a60d0b48140642e824f2a8c7b02c9ac594f5b3359c086": {
                    "Name": "Apache-Tika-Server",
                    "EndpointID": "de6748aa63dad1ba44dffe7b8eb946e700e00b52d7e94915e59019c3b40a2323",
                    "MacAddress": "02:42:0a:0a:00:02",
                    "IPv4Address": "10.10.0.2/24",
                    "IPv6Address": "fd4f:71d8:b745:45:5537:3bd0:2851:7d3/64"
                },
                "dc3b4e362af63719f79e1b5a674599a82eeed0ce0874921ddc6aa1601f1a49c2": {
                    "Name": "MariaDB-Official",
                    "EndpointID": "8270a1f63f2f0df3fb8226dbf15b39a0368208c37fb95cb733947fbad5fe37f4",
                    "MacAddress": "02:42:0a:0a:00:06",
                    "IPv4Address": "10.10.0.6/24",
                    "IPv6Address": "fd4f:71d8:b745:45:5054:ff:fe61:3c3e/64"
                },
                "ea72c624b391f6f0b2d5b067396bcec450acfb8e2f3c5d120769a73e0f710321": {
                    "Name": "duplicati",
                    "EndpointID": "bc8c16c057a689a15719cf3ad158a5b0fe40fc2e552a3e723e3000d8c6c8325a",
                    "MacAddress": "02:42:0a:0a:00:17",
                    "IPv4Address": "10.10.0.23/24",
                    "IPv6Address": "fd4f:71d8:b745:45::4/64"
                },
                "ed1a29238b7f3fee6eb08558f328cb7abea2124004f7227d9aa1ba26850a83ba": {
                    "Name": "ZH-Homepage",
                    "EndpointID": "a90db40c1047fa3adbe8f03a3d92f5dac639612f54a0cc5e1262971d4ef4e180",
                    "MacAddress": "02:42:0a:0a:00:0c",
                    "IPv4Address": "10.10.0.12/24",
                    "IPv6Address": "fd4f:71d8:b745:45::2/64"
                }
            },
            "Options": {
                "parent": "br0.69"
            },
            "Labels": {}
        }
    ]

     

     

    Please do not hesitate to ask questions if you have any and I hope this will be fixed soon.

    Thank you for reading and have a lovely day.




    User Feedback

    Recommended Comments

    Docker does not accept an IPv6 gateway which is a link local address (fe80::...)

     

    You need to change the gateway of br0.69 to something like: 2003:df:1f2c:8e45::1 (of course your router must have this address), like your correct example: fd4f:71d8:b745:45::1

     

    Alternatively: if you are using SLAAC, leave the gateway setting empty, and SLAAC will fill-in the link local address, which is then accepted by Docker (weirdness of Docker).

     

    • Like 1
    Link to comment
    2 hours ago, Freender said:

    Thanks for reporting an issue. I can confirm SLAAC IPv6 auto assignment doesn’t work as well

    So that I get this right, this is a 6.12.3 specific issue? 

    Link to comment
    8 hours ago, bonienl said:

    Docker does not accept an IPv6 gateway which is a link local address (fe80::...)

     

    You need to change the gateway of br0.69 to something like: 2003:df:1f2c:8e45::1 (of course your router must have this address), like your correct example: fd4f:71d8:b745:45::1

     

    Alternatively: if you are using SLAAC, leave the gateway setting empty, and SLAAC will fill-in the link local address, which is then accepted by Docker (weirdness of Docker).

     


    So do I understand correctly, this is an Issue?

     

    So, then what changed compared to 6.12.2 then? I have everything on auto-configuration, all addresses get advertised and Docker chooses the fd::/8 ULA Address for its assignments. And it works flawless. on 6.12.3, docker straight refuses to use IPv6 and in the "docker inspect network" command it clearly shows:

    Quote

    "EnableIPv6": false,

    Link to comment
    1 hour ago, MaZeC said:

    So, then what changed compared to 6.12.2 then? I have everything on auto-configuration, all addresses get advertised and Docker chooses the fd::/8 ULA Address for its assignments. And it works flawless. on 6.12.3, docker straight refuses to use IPv6 and in the "docker inspect network" command it clearly shows:

     

    There is indeed a regression error in 6.12.3.

    The docker networks are created without IPv6 subnets. From your log:

    Jul 16 21:23:21 Z-Storage rc.docker: created network br0 with subnets: 10.1.2.0/24; 
    Jul 16 21:23:22 Z-Storage rc.docker: created network br0.69 with subnets: 10.10.0.0/24; 

     

    I made a fix and tested this.

    Jul 17 09:55:24 flora rc.docker: created network br0 with subnets: 10.0.101.0/24; 2a02:xxxx:xxxx:101::/64; 
    Jul 17 09:55:25 flora rc.docker: created network br0.6 with subnets: 10.0.106.0/24; fd4f:71d8:b745:45::/64; 

     

    Docker network

    # docker network inspect br0.6
    [
        {
            "Name": "br0.6",
            "Id": "67e3be2092a4ec3e618f2c8088aad5148fcba6c1ac54e37c8c5029bd0d557f0b",
            "Created": "2023-07-17T09:55:25.314164209+02:00",
            "Scope": "local",
            "Driver": "ipvlan",
            "EnableIPv6": true,
            "IPAM": {
                "Driver": "default",
                "Options": {},
                "Config": [
                    {
                        "Subnet": "10.0.106.0/24",
                        "Gateway": "10.0.106.1",
                        "AuxiliaryAddresses": {
                            "server": "10.0.106.21"
                        }
                    },
                    {
                        "Subnet": "fd4f:71d8:b745:45::/64",
                        "Gateway": "fd4f:71d8:b745:45::1",
                        "AuxiliaryAddresses": {
                            "server6": "fd4f:71d8:b745:45:ae1f:6bff:fee4:7c6a"
                        }
                    }
                ]
            },

     

    I guess for the time being, you need to stay on 6.12.2 until a new version is released.

     

     

    • Like 1
    Link to comment

    Thank you for your reply. Great to see this getting fixed. I will try the new version as soon as it releases, or there is an rc available. Have a great day 🌞!

    Link to comment

    Met the same problem. Thank bonienl for pointing out that it works on 6.12.2.

     

    Temporary workaround:

    • Stop Docker service in Settings/DockerSettings.
    • Replace /usr/local/etc/rc.d/rc.docker line 282 (From Unraid 6.12.3) :
    IPV6=$(ip -br -6 addr show $NETWORK scope global|awk '{print $3}')

    With (From Unraid 6.12.2) :

    IPV6=$(ip -6 addr show $NETWORK mngtmpaddr|awk '/^ +inet6 /{print $2;exit}')
    [[ -z $IPV6 ]] && IPV6=$(ip -6 addr show $NETWORK scope global permanent|awk '/^ +inet6 /{print $2;exit}')
    • Start Docker service.

     

    Not sure, but the edit might not persist after reboot.

    • Like 1
    • Thanks 1
    Link to comment


    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
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.