@alexmsk

Как сделать контейнер Docker доступным через ipv6?

Не получается сделать контейнер Docker сделать доступным через ipv6.

Что сделал:
1. Настроил на сервере ipv6. (имеется только один адрес). Проверил. Сем сервер по ipv6 пингуется и доступен по ssh.

2. Добавил поддержку ipv6 в Docker
root@i:~# cat /etc/docker/daemon.json 
{
  "ipv6": true,
  "fixed-cidr-v6": "fd12:3456:789a:1::/64"
}

3. Внес изменения в sysctl:
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.eth0.accept_ra=2


4. Опубликовал порты контейнера в том числе по адресам :::80, :::443 и т.д.

root@i:~# docker container list
CONTAINER ID   IMAGE                                    COMMAND                  CREATED        STATUS        PORTS                                                                                                                 NAMES
d2415a267196   test_traefik:latest   "/entrypoint.sh trae…"   34 hours ago   Up 32 hours   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:5555->5555/tcp, :::5555->5555/tcp   test_traefik_1


При этом с самого контейнера ничего недоступно через ipv6

# ping ipv6.google.com
PING ipv6.google.com (2a00:1450:4010:c0d::8b): 56 data bytes
ping: sendto: Network unreachable


и сами порты контейнера недоступны по ipv6. C ipv4 все в порядке.

Подскажите, в чем может быть проблема?
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 1
vesper-bot
@vesper-bot
Любитель файрволлов
fc00::/7 это строго локальные адреса, наподобие 10.0.0.0/8 в ipv4, чтобы с них что-то куда-то отправить, нужно настроить ipv6 NAT на стороне роутера (в данном случае на хосте). Ещё - нужно проверить, что в контейнере адаптеру назначен ipv6-адрес, чего у вас, кажется, не наблюдается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы