Docker启用IPV6导致宿主机IPV6地址失效问题处理
问题原因:Docker启用IPV6后会清理动态IPV6的默认路由,导致默认路由丢失;
修复方法:
手动添加这个IPv6默认路由
ip -6 route add default via ipv6网关 dev 网卡名称
修改现有IPv6的默认路由
ip -6 route change default via ipv6网关 dev 网卡名称
查看ipv6的路由
ip -6 route show
Docker启用IPV6配置,编辑 /etc/docker/daemon.json 加上以下内容。(如果没有这个文件直接创建)
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/120",
"ip6tables": true,
"experimental": true
}
重启docker服务
systemctl restart docker
查看主机网卡的docker网口是否有ipv6地址
ifconfig
测试容器是否访问外网ipv6
docker run --rm -it busybox ping -6 -c4 ipv6-test.com
查看容器网卡是否有ipv6地址
docker run --rm -it busybox ifconfig