在 docker 容器中启用 ipv6 转发
Enable ipv6 forwarding in docker container
我正在尝试使用 Docker 在两个网络之间为 IPv6 设置防火墙(我知道还有其他技术可以做到这一点,但我想使用 docker)。我 运行 遇到的主要问题是我找不到在防火墙容器内启用 IPv6 转发的方法。
从 dockerd 参考资料[1] 我知道有一些选项可以为 IPv4 启用此功能,但有 none 用于 IPv6。是这个功能还不被支持,还是我做错了什么?
我的 daemon.json 看起来像这样:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64",
"ip-forward": true
}
[1] https://docs.docker.com/engine/reference/commandline/dockerd/
在您的 docker-compose.yml 添加:
sysctls:
net.ipv6.conf.all.disable_ipv6: 0
net.ipv6.conf.all.forwarding: 1
在我修改我的 /etc/docker/daemon.json
以包含 experimental
和 ip6tables
后,这对我有用,如下所示:
{
"ipv6": true,
"experimental": true,
"ip6tables": true,
"fixed-cidr-v6": "fd07:a:b:c::/64",
...
}
我正在尝试使用 Docker 在两个网络之间为 IPv6 设置防火墙(我知道还有其他技术可以做到这一点,但我想使用 docker)。我 运行 遇到的主要问题是我找不到在防火墙容器内启用 IPv6 转发的方法。
从 dockerd 参考资料[1] 我知道有一些选项可以为 IPv4 启用此功能,但有 none 用于 IPv6。是这个功能还不被支持,还是我做错了什么?
我的 daemon.json 看起来像这样:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64",
"ip-forward": true
}
[1] https://docs.docker.com/engine/reference/commandline/dockerd/
在您的 docker-compose.yml 添加:
sysctls:
net.ipv6.conf.all.disable_ipv6: 0
net.ipv6.conf.all.forwarding: 1
在我修改我的 /etc/docker/daemon.json
以包含 experimental
和 ip6tables
后,这对我有用,如下所示:
{
"ipv6": true,
"experimental": true,
"ip6tables": true,
"fixed-cidr-v6": "fd07:a:b:c::/64",
...
}