Mdns: getent возвращает только локальный адрес канала ipv6Linux

Ответить Пред. темаСлед. тема
Anonymous
 Mdns: getent возвращает только локальный адрес канала ipv6

Сообщение Anonymous »

У меня есть 2 контейнера systemd-nspawn (nginx и nginx2), подключенных к мосту. Оба контейнера включены, получают адрес IPv4 через DHCP и настраивают себя с использованием локального адреса канала IPv6. Я хочу иметь возможность использовать многоадресный DNS между ними, т. е. nginx.local и nginx2.local.
Как-то, используя nginx2.local в конфигурации nginx nginx (первый контейнер) не работал:

Код: Выделить всё

[crit] 336#336: *68 connect() to [fe80::bce2:aeff:fe0b:7e45]:80 failed (22: Invalid argument) while connecting to upstream
Я попробовал выполнить ping-запрос nginx2 от nginx, который разрешил nginx2.local на IPv6LL-адрес nginx2:

Код: Выделить всё

> ping nginx2.local
PING nginx2.local (fe80::bce2:aeff:fe0b:7e45) 56 data bytes
^C
--- nginx2.local ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1056ms

Команда ping завершается неудачно, поскольку она пытается использовать адрес IPv6LL без указания области действия. ping fe80::bce2:aeff:fe0b:7e45%eth0 работает нормально.
Команда ping завершается неудачно, поскольку она пытается использовать адрес IPv6LL без указания области действия.
Команда ping завершается неудачей, поскольку она пытается использовать адрес IPv6LL без указания области действия. ping fe80::bce2:aeff:fe0b:7e45%eth0 работает нормально.
p>
Если копнуть глубже, getent ahosts также дает только адрес IPv6LL:

Код: Выделить всё

getent ahosts nginx2.local
fe80::bce2:aeff:fe0b:7e45 STREAM nginx2.local
fe80::bce2:aeff:fe0b:7e45 DGRAM
fe80::bce2:aeff:fe0b:7e45 RAW
Я запустил захват tcpdump одновременно с командой getent и заметил следующее:

Код: Выделить всё

22:28:01.372448 IP6 nginx.mdns > ff02::fb.mdns: 0 AAAA (QM)? nginx2.local. (30)
22:28:01.372960 IP nginx.mdns > mdns.mcast.net.mdns: 0 A (QM)? nginx2.local. (30)
22:28:01.373246 IP6 nginx2.local.mdns > ff02::fb.mdns: 0*- [0q] 1/0/0 (Cache flush) AAAA fe80::bce2:aeff:fe0b:7e45 (52)
22:28:01.373495 IP nginx2.local.mdns > mdns.mcast.net.mdns: 0*- [0q] 1/0/0 (Cache flush) A 172.20.13.115 (40)
Это означает, что nginx получил ответ на адрес IPv4 И IPv6LL nginx2, но getent показал мне только адрес IPv6LL. Почему он не возвращает адрес IPv4, несмотря на ответ на запрос?

Подробнее здесь: https://stackoverflow.com/questions/786 ... al-address
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»