Назад | Перейти на главную страницу

Как включить IPv6 в Docker?

Я использую докер на хосте только IPv6.

Я сделал это как документ

/etc/docker/daemon.json
{
  "ipv6": true,
  "fixed-cidr-v6": "xxxx:xxxx:xxxx:xxxx::/64"
}

Перезагрузите докер.

Создать новую сеть

docker network create --ipv6 --subnet=xxxx:xxxx:xxxx::/64 awx

Подключите запущенное приложение внутри докера к новой сети

сеть докеров подключается awx awx_web

Из Вот Я знаю, что должен делать эти две вещи

Я побежал ip -6 route получил

unreachable ::/96 dev lo metric 1024 error -113 pref medium
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/24 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/24 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/32 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/28 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/32 dev lo metric 1024 error -113 pref medium
unreachable 2002:xxxx::/19 dev lo metric 1024 error -113 pref medium
xxxx:xxxx:xxxx::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
xxxx:xxxx:xxxx::/64 dev br-xxxxxxxx metric 1024 pref medium
xxxx:xxxx:xxxx:xxxx::/64 dev lan0 proto kernel metric 256 pref medium
xxxx:xxxx:xxxx:xxxx::/64 dev docker0 proto kernel metric 256 pref medium
xxxx:xxxx:xxxx:xxxx::/64 dev docker0 metric 1024 pref medium
unreachable xxxx:xxxx::/32 dev lo metric 1024 error -113 pref medium
fb80::/64 dev lan0 proto kernel metric 256 pref medium
fb80::/64 dev docker0 proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev br-xxxxxxxx proto kernel metric 256 pref medium
fb80::/64 dev xxxxxxxxxxx proto kernel metric 256 pref medium
default via xxxx:xxxx:xxxx:xxxx::ffff dev lan0 metric 1 pref medium

Затем побежал

# /usr/sbin/sysctl net.ipv6.conf.lan0.proxy_ndp=1
(sccessed)
# ip -6 neigh add proxy $(docker inspect --format {{.NetworkSettings.Networks.awx.GlobalIPv6Address}} awx_web) dev lan0
(sccessed)

Проверяю значение IPv6Address в контейнере awx_web

# docker inspect --format {{.NetworkSettings.Networks.awx.GlobalIPv6Address}} awx_web
xxxx:xxxx:xxxx::2

Авторизуйтесь в проверке веб-контейнера ip a также можно найти этот IP (xxxx: xxxx: xxxx :: 2). Но не могу пинговать удаленный сервер по IPv6 в контейнере.

Есть ли dev lan0 прямо в ip -6 neigh add proxy команда?

Почему сети не соединились?

Я читал это статья. Это хорошее объяснение, но все сети находятся в контейнерах. Я хочу подключиться из контейнера к внешнему удаленному физическому хосту с тем же сегментом IPv6.