从 docker 容器 ping 公共 ipv6 dns

从 docker 容器 ping 公共 ipv6 dns

docker 容器在 VPS(ubuntu 18.10)上运行。

我能做什么:

ping -6 2001:4860:4860::8888从主机

ping -6 <docker container ipv6 address从主机

ping -6 <hosts ipv6 address>来自docker容器

ping 8.8.8.8来自docker容器

我不能做的事情:

ping -6 2001:4860:4860::8888来自docker容器

当我执行上述命令时,什么也没有发生。当我最终中止命令时,我得到了以下输出:

4 packets transmitted, 0 received, 100% packet loss, time 62ms

docker 容器已分配 ipv6 地址。到目前为止我所做的工作:

$ip -6 route add 2001:db8:1::/64 dev docker0
$ sysctl net.ipv6.conf.default.forwarding=1
$ sysctl net.ipv6.conf.all.forwarding=1

如果您需要任何进一步的信息,请告诉我。

答案1

好的,只需使用这个解决方法即可修复它: https://github.com/robbertkl/docker-ipv6nat

  • 按照文章中提到的将 ipv6 子网更改为 ULA-range。
  • 重启docker.service
  • 运行两个图像

相关内容