Рейтинг:0

Как разделить разрешение DNS на основе целевого домена?

флаг cn
WoJ

Примечание. Я прочитал два других вопроса (здесь и здесь), которые решают ту же проблему, но ни одно из решений не применимо к моему случаю.

я бегу Пи-дырка в док-контейнере в качестве моего DNS-сервера — для сервера, на котором он работает (Ubuntu 18.04), и остальной части моей домашней сети. Работает нормально, все решает как положено.

За исключением одного конкретного случая: когда запускается сам Pi-hile. Он хочет что-то проверить в Интернете и терпит неудачу, потому что разрешение DNS явно не работает.

Это не конец света, но это вызвало мой вопрос: могу ли я настроить systemd-разрешение чтобы он выбрал DNS-сервер на основе запрашиваемого домена?

Вопросы в моей вводной заметке упоминают способность делать разделенный DNS но я так понимаю, что DNS можно настроить только для каждой сетевой карты.. Иными словами, для одного интерфейса может быть только один DNS (или несколько резервных, я имею ввиду отсутствие возможности динамического выбора используемого).

Верно ли это понимание?

флаг in
Возможно ли иметь пользовательскую запись для домена в `/etc/hosts`? Это позволит вообще обойти потребность в DNS для этого одного домена, что может быть хорошо, если целевой IP-адрес не меняется.
флаг cn
WoJ
@matigo: проблема с этим решением заключается в том, что мне нужно будет перечислить все полные доменные имена служб, и это нужно будет поддерживать вручную. В какой-то момент я подумывал написать сценарий для заполнения `/etc/hosts` этой информацией, но я бы предпочел что-то более плавное.
muru avatar
флаг us
Что произойдет, если вы напишете собственный `resolv.conf` и смонтируете его внутри контейнера Pi-Hole в `/etc/resolv.conf`?
флаг cn
WoJ
@muru: так что имя, которое не работает во время запуска, принудительно разрешается, вы имеете в виду? Да, это идея, но целевой IP может измениться. Тем не менее, это исправление, и я время от времени проверял бы, все ли в порядке с этим ручным разрешением. Спасибо за подсказку (думаю, мое понимание того, как работает динамический/разделенный DNS, (к сожалению для меня) правильное, верно?)
muru avatar
флаг us
`resolv.conf` содержит конфигурацию DNS (например, серверы имен, поисковые домены и т. д.). Таким образом, по сути, вы просто настраиваете отдельную конфигурацию DNS для Pi Hole, вот и все — не жестко кодируя IP-адреса для некоторых доменов — это `/etc/hosts`.
флаг cn
WoJ
@muru: ааа, извините, я прочитал `/etc/hosts` вместо `/etc/resolv.conf`! Ах да, вот это уже очень хорошая идея :) Спасибо, сейчас попробую!

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

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