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

Как настроить сеть IPv6 для подключения к удаленному хосту внутри локального контейнера докеров?

Заметка: IPv6-адрес в этом вопросе не настоящий IP.


Есть два сервера

На node1 установлен AWX по docker-compose, поэтому реальное приложение находится в контейнере.

Его можно подключить от узла 1 к узлу 2

[root@node1] ping6 123a:a4b5:0102:t234:cd91:3:0:2
PING 123a:a4b5:0102:t234:cd91:3:0:2(123a:a4b5:0102:t234:cd91:3:0:2) 56 data bytes
64 bytes from 123a:a4b5:0102:t234:cd91:3:0:2: icmp_seq=1 ttl=64 time=0.319 ms

Бегать ip -6 route на узле 1, найдено

default via 123a:a4b5:0102:t234::ffff dev lan0 metric 1 pref medium

Устанавливать 123a:a4b5:0102:t234 в /etc/docker/daemon.json

{
  "ipv6": true,
  "fixed-cidr-v6": "123a:a4b5:0102:t234::ffff/64"
}

Перезагрузите докер. Из docker network inspect bridge нашел

...
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": true,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                },
                {
                    "Subnet": "123a:a4b5:0102:t234::/64",
                    "Gateway": "123a:a4b5:0102:t234::1"
                }
            ]
        },
...

Связано awx_web докеру bridge сеть

docker network connect bridge awx_web

Войти в awx_web проверка контейнера ip, сгенерированный этот IPv6

441: eth1@if442: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 123a:a4b5:0102:t234:0:242:ac11:2/64 scope global nodad
       valid_lft forever preferred_lft forever
    inet6 [secret]/64 scope link
       valid_lft forever preferred_lft forever

Он может пинговать сам по себе (123a: a4b5: 0102: t234: 0: 242: ac11: 2), но не может пинговать IPv6 на узле 2

sh-4.4# ping6 123a:a4b5:0102:t234:cd91:3:0:2
PING 123a:a4b5:0102:t234:cd91:3:0:2(123a:a4b5:0102:t234:cd91:3:0:2) 56 data bytes
From 123a:a4b5:0102:t234:cd91:3:0:2: icmp_seq=1 Destination unreachable: Address unreachable

Как настроить сеть, чтобы она работала в этом случае?