J'ai de sérieux problèmes pour activer IPv6 dans Docker.
Environnement
- L'hôte exécute Debian Jessie.
- C'est un serveur virtuel (KVM).
- eth0 a une adresse configurée statiquement comme w: x: y: z :: 1 dans un réseau comme w: xy: z :: / 64, qui est attribuée à mon par mon hébergeur.
- Mon hôte est capable d'utiliser IPv6 sans aucun problème: Pinging le monde extérieur fonctionne, un site Web fonctionnant sur un conteneur (Port 80 lié à l'hôte: 80) est accessible via ipv6.
Problème
Je ne peux cependant pas accéder au monde extérieur depuis l'intérieur des conteneurs! Mon pont docker0 n'a PAS d'adresse IPv6 après le redémarrage de docker avec les paramètres ci-dessous. Il n'y a pas de route ni de passerelle non plus (cela n'a pas de sens sans une adresse ipv6).
Ma configuration Docker: Docker est démarré avec ces paramètres dans DOCKER_OPTS
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --ipv6 --fixed-cidr-v6=w:x:y:z:a::/80"
Certains paramètres de configuration d'hôte ipv6:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
voici l'un des réseaux que j'ai créés moi-même:
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": {}
}
]
Voici quelques informations de l'intérieur du conteneur, qui sont mentionnées ci-dessus:
Adresses
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
Itinéraires
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
Ping
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'est-ce que je rate?
ndppd
démon pour automatiser cela.