Рейтинг:1

Fedora 34 — невозможно разрешить какое-либо имя внутри контейнеров докеров

флаг ua

я на Fedora 34 (= хост-система), и у меня есть проблема в моих контейнерах докеров, не разрешающих какой-либо домен. На разрешении хоста работает без проблем.

Вот что я пробовал:

  • перезагрузить и переустановить докер
  • отключить брандмауэр
  • перезагрузить машину
  • перезапустить днс
  • разные образы докеров
  • явная настройка dns в докере (см. ниже)
  • используя сетевой режим в докере (см. ниже)
  • отключение ipv6

Однако я не могу получить имя, разрешенное в любом контейнере:

~ docker запустить busybox nslookup google.com 
Сервер: 8.8.8.8
Адрес: 8.8.8.8:53

Неавторитетный ответ:
Название: google.ru
Адрес: 142.251.36.174

*** Не могу найти google.com: нет ответа

Как описано, он работает на хосте:

~ nslookup google.com
Сервер: 127.0.0.53
Адрес: 127.0.0.53#53

Неавторитетный ответ:
Название: google.ru
Адрес: 142.251.36.206
Название: google.ru
Адрес: 2a00:1450:4016:809::200e

Что также странно, даже работа с сетью хостов или явная настройка dns не помогает:

Пробовал настроить с hosts dns (здесь даже написано, что время ожидания истекло...)

~ docker run --dns 127.0.0.53 busybox nslookup google.com
;; время соединения истекло; нет доступа к серверам

Пробовал через гугл днс:

~ docker run --dns 8.8.8.8 busybox nslookup google.com
Сервер: 8.8.8.8
Адрес: 8.8.8.8:53

Неавторитетный ответ:
Название: google.ru
Адрес: 142.251.36.238

*** Не могу найти google.com: нет ответа

Пробовал с хост-сетью:

 ~ docker run --network="host" busybox nslookup google.com
Сервер: 8.8.8.8
Адрес: 8.8.8.8:53

Неавторитетный ответ:
Название: google.ru
Адрес: 142.251.36.238

*** Не могу найти google.com: нет ответа

У меня кончились идеи... кто-нибудь подскажет, что здесь происходит?

Дополнительная информация: Раньше это работало, насколько я помню, я ничего не менял в своей системе, что могло бы повлиять на это.

Рейтинг:2
флаг cn

Но вы получаете ответ, две строки после Неавторитетный ответ: являются результатом (142.251.36.238 — действительный IP-адрес для Google).

Судя по всему, вы не получаете ответа IPv6.

Вы можете просто запустить:

docker запустить busybox nslookup -type=A google.com

И он должен просто вернуть IP-адрес без ошибки.

Я подозреваю, что поведение nslookup по умолчанию в busybox могло измениться, чтобы возвращать адреса как IPv4, так и IPv6, поэтому, похоже, это изменилось.

Johannes Hinkov avatar
флаг ua
Да, это тоже правильный ответ, спасибо!
Рейтинг:1
флаг ar

Можете ли вы попробовать запустить команду nslookup с указанным DNS-сервером? Как в: nslookup google.com 8.8.8.8или в вашем случае: докер запустить busybox nslookup google.com 8.8.8.8. Это поможет нам устранить возможные проблемы с сетью в Docker bridge.

Johannes Hinkov avatar
флаг ua
Вот результат: `~ docker run busybox nslookup google.com 8.8.8.8 Сервер: 8.8.8.8 Адрес: 8.8.8.8:53 Неавторитетный ответ: Название: google.ru Адрес: 142.251.36.238 *** Не могу найти google.com: нет ответа `
Johannes Hinkov avatar
флаг ua
Дополнительная информация: я подключил другую систему с совершенно новой Fedora 34, такое же поведение. Также пробовал разные сети (домашняя/рабочая)
jonasclaes avatar
флаг ar
Хорошо, так как это все еще дает вам ошибку, это означает, что что-то действительно не так. Я думаю о системном времени, это правильно?
jonasclaes avatar
флаг ar
На самом деле, я нашел похожую проблему. Не могли бы вы попробовать запустить `docker run busybox nslookup -type=a google.com`? Другая проблема: https://stackoverflow.com/questions/52663711/how-should-i-interpret-a-cant-find-from-nslookup-inside-a-docker-busybox-c
Johannes Hinkov avatar
флаг ua
Да, это сработало сразу! `~ docker запустить busybox nslookup -type=a google.com Сервер: 8.8.8.8 Адрес: 8.8.8.8:53 Неавторитетный ответ: Название: google.ru Адрес: 142.251.36.238 `
jonasclaes avatar
флаг ar
Итак, это просто ошибка в последней версии busybox в Docker. Я хотел бы отослать вас к проблеме, которую я разместил 1 комментарий назад. Я думаю, это решается тогда?
Johannes Hinkov avatar
флаг ua
Да, это помогло, спасибо!
Рейтинг:0
флаг cn
Jun

Для тех, у кого такая же проблема в Alpine Linux, это действительно известная ошибка busybox> 1.28 с записями IPv6. Устанавливается временное решение инструменты привязки получить еще один нслукап двоичный:

apk update && apk add инструменты привязки

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.