Рейтинг:1

Разрешения DNS контейнера работают только после перезапуска dnsmasq

флаг cn

[Обновление] добавление версий ПО

У меня есть домашний сервер, на котором работает докер и DNS/DHCP для моей домашней сети. Все работает довольно хорошо, за исключением одного: контейнеры не могут выполнять разрешение DNS после перезагрузки. Как только я перезапускаю dnsmasq, он сразу начинает работать.

если я загляну в journalctl, я увижу это сообщение: 29 октября, 23:56:15 hub.mi.casa dnsmasq[425]: Игнорирование запроса из нелокальной сети

я считать этот докер создает некоторые сетевые интерфейсы, которые dnsmasq не подбирает после запуска, хотя в документах dnsmasq четко указано ...

В системах, которые его поддерживают, dnsmasq связывает групповой адрес, даже если он прослушивает только некоторые интерфейсы. Затем он отбрасывает запросы, на которые не должен отвечать. Это имеет то преимущество, что работает, даже когда интерфейсы приходят и уходят и меняют адрес. [...] (от: --bind-интерфейсы)

... так что я думаю, что это должен работай.

Конфигурация системы:

  • Debian Яблочко (11.1)
  • Docker v20.10.10 (репозитории Docker), без специальных настроек (DOCKER_OPTS и т. д.)
  • dnsmasq v2.85 (репозитории Debian)
  • systemd-разрешение активный, но DNSStubListener=нет установлен
  • systemd-networkd управляет сетью (статический IP-адрес)

Я не могу понять, что здесь делать, у кого-нибудь есть идеи? я сделал Найди Отчет об ошибке RedHat который описывает в значительной степени именно то, что я испытываю, хотя это должно быть решено.

Я действительно не хочу запускать dnsmasq после докера, потому что система и вся моя сеть прекрасно работают без докера, но не без dnsmasq.

Файлы конфигурации

dnsmasq.conf

# ОСНОВНЫЕ НАСТРОЙКИ

порт=53
домен необходим
расширить хосты
фиктивный-приват
неразрешенный
без хозяев

сервер=127.0.0.1#8053

# НАСТРОЙКА DHCP

DHCP-диапазон = 192.168.1.150,192.168.1.200,12ч
домен = mi.casa
местный=/fritz.box/

# установить параметры dhcp ("dnsmasq --help dhcp" для списка)
dhcp-option=опция:маршрутизатор,192.168.1.1
dhcp-опция = опция: DNS-сервер, 192.168.1.13
dhcp-option=опция:домен-поиск,mi.casa

# назначение статических IP-адресов с использованием DHCP (пример)
dhcp-host=aa:cc:dd:ff:ee:33,hass.mi.casa,192.168.1.20

# записи статического IP-адреса (пример)
адрес=/hub.mi.casa/192.168.1.13

/etc/systemd/сеть/10-static.network

[Соответствовать]
Имя=ru*

[Сеть]
Адрес=192.168.1.13/24
Шлюз=192.168.1.1
DNS=192.168.1.13#8053 # это пи-дыра, работающая в системе
Домены=mi.casa
Рейтинг:0
флаг cn

святой моли, я нашел решение здесь, в почти двухстрочном комментарии от @mosvy под несколько связанный вопрос. исходя из этого, у меня даже есть два решения.

цель вроде бы отключить ограничение обслуживать только локальные сети. кажется, есть два пути.

решение 1

# dnsmasq.conf - добавьте это - спасибо @mosvy
кроме интерфейса = my_dummy_interface

да, это на самом деле my_dummy_interface, этого имени не существует (его можно было бы также назвать "smurfydurfy"). поэтому dnsmasq связывает и ответы на всех интерфейсах автоматически, кроме одного... который никогда не появляется.

решения 2

# dnsmasq.conf - добавьте это
адрес прослушивания = 127.0.0.1,192.168.1.13

то же самое, судя по всему, он привязывается к этим адресам и отвечает на все запросы независимо от происхождения.

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

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