-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPv6 only works when network is host driver, and does not work when network is bridge driver #1026
Comments
on my local machine at home, using debian 12 repo, i can route ipv6 with prefix delegation. ip6tables blocks icmp pings to the containers, but i can allow this. forwarding rules are created, too.
even ports are opened via ip6tables.
try smaller subnet, like ipv6/80 and add a whole :\abcd: group e.g.
but with the docker repo version i cannot change default bridge cidr in /etc/docker/daemon.json anymore. after restart it fails and im stuck with the existing cidr in the default bridge. |
Similar issue Incorrect IPV6 prefix address assigned to container interface #931
In my situation the IPv6 addresses that are being assigned to the container are technically correct, but do not have proper connectivity. I believe I need a separate issue because of this.
cat /etc/docker/daemon.json
cat /etc/netplan/50-cloud-init.yaml
X has replaced a fully provisioned IP space, redacted to comply with github community guidelines.
Expected behavior
Containers aware of external IPv6 space, and ICBM ping would work.
Actual behavior
Network unreachable.
Known information:
1- Host can ping ipv6 space
2- Container on host network can ping ipv6 space
3- Container on bridge defined network (so all my containers can talk to eachother and the outside world) cannot ping ipv6 space
ping ipv6.google.com
PING ipv6.google.com(sfo07s26-in-x0e.1e100.net (2607:f8b0:4005:802::200e)) 56 data bytes
64 bytes from sfo07s26-in-x0e.1e100.net (2607:f8b0:4005:802::200e): icmp_seq=1 ttl=55 time=1.47 ms
64 bytes from sfo07s26-in-x0e.1e100.net (2607:f8b0:4005:802::200e): icmp_seq=2 ttl=55 time=1.52 ms
docker run -it --rm busybox ping ipv6.google.com
PING ipv6.google.com (2607:f8b0:4005:802::200e): 56 data bytes
ping: sendto: Cannot assign requested address
Now using host driver
docker run -it --rm --network=host busybox ping ipv6.google.com
PING ipv6.google.com (2607:f8b0:4005:802::200e): 56 data bytes
64 bytes from 2607:f8b0:4005:802::200e: seq=0 ttl=55 time=1.740 ms
64 bytes from 2607:f8b0:4005:802::200e: seq=1 ttl=55 time=1.600 ms
attempt to make a ipv6 aware bridge (see cat of /etc/docker/daemon.json above)
sudo docker network create --ipv6 ipv6test
Error response from daemon: could not find an available, non-overlapping IPv6 address pool among the defaults to assign to the network
note, following command is redacted, unredacted command sent to daemon and returned without error.
sudo docker network create --ipv6 --gateway="2X05:7280:6::1" --subnet="2X05:7280:6::2/64" ipv6test
e33cd837d7ba91fdc112b0cd76c4bb773d01a591657be51c0886401e6c645adc
sudo docker network inspect ipv6test
[
{
"Name": "ipv6test",
"Id": "0228670d15bd3c5063103fe2840cbb83d9741b837dfeeaef1ba0d3936603f102",
"Created": "2020-06-01T20:29:09.254618852-07:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.23.0.0/16",
"Gateway": "172.23.0.1"
},
{
"Subnet": "2X05:7280:6::2/64",
"Gateway": "2X05:7280:6::1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
docker run -it --rm --network=ipv6test busybox ping ipv6.google.com
PING ipv6.google.com (2607:f8b0:4005:802::200e): 56 data bytes
^C
--- ipv6.google.com ping statistics ---
7 packets transmitted, 0 packets received, 100% packet loss
Steps to reproduce the behavior
1- Provision IPv6 addresses
2- install docker
3- attempt to make a ipv6 aware network
4- attempt to ping ipv6 only space.
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.)
Reproduced on two seperate dedicated server hosts, though both were of similar host operating systems (ubuntu and debian).
I can reproduce this on a hetzner vps, and can send the login details to a dev if needed. No confidential material exists on the vps and they provision their vps's with a /64 ipv6 space.
The text was updated successfully, but these errors were encountered: