Struggling to figure out this problem. On a CentOS 7 host, I start the docker daemon with --ipv6 --fixed-cidr-v6="2001:db8:a:b:1::/80"
and all IPv6 connectivity to/from the host dies.
With docker running, from the host running Docker a ping6 -c 3 ipv6.google.com
gives:
PING ipv6.google.com(ya-in-x64.1e100.net (2607:f8b0:4002:c03::64)) 56 data bytes
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
To get IPv6 working again, I stop dockerd then issue a systemctl restart network
to reset the network interfaces. Interestingly that the docker0
network interface remains, but the IPv6 network works after the systemctl restart network
Anyone seen this issue before? The host has a static /64 IPv6 address. I am using the server’s actual IPv6 /64 address (not 2001:db8 as shown above), and giving Docker a /80 space within the host’s /64 network. I have done this before on a CentOS 6 host, without any problems. That one got its IPv6 addressing automatically from its router, though (not statically set like this one is)
The CentOS version is 7.3.1611, Docker version 1.12.3. Sysctl settings:
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
I also tried net.ipv6.conf.eth0.accept_ra
setting of 0
and 1
.
I want to use IPv6 because it gives me direct routing to containers without using NAT.