Tengo serios problemas para habilitar IPv6 en Docker.
Medio ambiente
- El anfitrión está ejecutando Debian Jessie.
- Es un servidor virtual (KVM).
- eth0 tiene una dirección configurada estáticamente como w: x: y: z :: 1 en una red como w: xy: z :: / 64, que mi empresa de hosting me asignó.
- Mi host es capaz de usar IPv6 sin ningún problema: hacer ping al mundo exterior funciona, un sitio web que se ejecuta en un contenedor (Puerto 80 vinculado al host: 80) es accesible a través de ipv6.
Problema
¡Sin embargo, no puedo acceder al mundo exterior desde dentro de los contenedores! Mi puente docker0 NO tiene una dirección IPv6 después de reiniciar la ventana acoplable con los siguientes parámetros. No hay ruta ni puerta de enlace tampoco (no tiene sentido sin una dirección ipv6).
Configuración de My Docker: Docker se inicia con estos parámetros en DOCKER_OPTS
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --ipv6 --fixed-cidr-v6=w:x:y:z:a::/80"
Algunos parámetros de configuración del host ipv6:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
Aquí está una de las redes que creé yo mismo:
root@wopr:~# docker network inspect wopr6
[
{
"Name": "wopr6",
"Id": "ddc192d4af2a8edc809975e84cf3e4cb82c24d4cfe970dd8e3fc7d6ff31e20ee",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.23.0.0/16",
"Gateway": "172.23.0.1/16"
},
{
"Subnet": "w:x:y:z:a:0:0:0/80",
"Gateway": "w:x:y:z:a::1"
}
]
},
"Internal": false,
"Containers": {
"dff30ab1496a4c3689ad6da0837fdb6cf7ea1a5b32312116214313b5b14ed07e": {
"Name": "happy_varahamihira",
"EndpointID": "8cd4ed4b91d8421171ec8cc771bbe7b7d81f05dc9f4679f20c642c2e828ec475",
"MacAddress": "02:42:ac:17:00:02",
"IPv4Address": "172.23.0.2/16",
"IPv6Address": "w:x:y:z:a::2/80"
}
},
"Options": {},
"Labels": {}
}
]
Aquí hay información del interior del contenedor, que se menciona anteriormente:
Direcciones
root@dff30ab1496a:/# ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
332: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet6 2a03:4000:6:2158:a::2/80 scope global nodad
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe17:2/64 scope link
valid_lft forever preferred_lft forever
Rutas
root@dff30ab1496a:/# ip -6 r
2a03:4000:6:2158:a::/80 dev eth0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
default via 2a03:4000:6:2158:a::1 dev eth0 metric 1024
Silbido
PING ipv6.l.google.com (2a00:1450:4001:811::200e): 56 data bytes, id 0x0011 = 17
--- ipv6.l.google.com ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
¿Qué me estoy perdiendo?
fuente
ndppd
demonio para automatizar esto.