Настройте LXC для использования определенного DNS-сервера вместо DNSMASQ

Из коробки контейнеры LXC подключаются к работающему экземпляру dnsmasq, который запускается с lxc-net оказание услуг.

В моем случае я использую локальный несвязанный DNS-сервер, который подключается к ncdns, что позволяет мне просматривать домены.bit, которые зарегистрированы через Namecoin.

Два из этих конфликтов. Мои контейнеры LXC зависят от dnsmasq для DNS, который работает на порту 53. В то же время мой unbound сервер должен работать на 53-м порту, чтобы я смог добраться до доменов.bit. (см. комментарии к этому посту, так как вероятность включения сервера имен в resolv.conf с использованием нестандартного порта невозможна; я также спросил об этом на канале IRC и в основном узнал, что указание resolv.conf на DNS-сервер на нестандартном порту является в принципе не возможно).

Поэтому мне нужно создать комбинированный DNS-сервер, который поддерживает LXC, а также может разрешать домены.bit и запускать THAT на порту 53.

Можно предположить, что мой unbound Сервер рекурсивно разрешает домены.bit и перенаправляет все остальные домены на мой маршрутизатор, поэтому он может эффективно разрешать все домены.

Вопросы следующие:

1: Как вы скажете lxc-net НЕ запускать dnsmasq?

2: я предполагаю unbound не будет работать как DNS-сервер для моих контейнеров LXC без дальнейшей настройки. Как мне настроить unbound так что он делает то, что dnsmasq делает для моих контейнеров lxc? (Ответом на этот вопрос может быть либо расположение файлов conf dnsmasq, которые он использует при запуске lxc-net (которых я еще не нашел), чтобы я мог попытаться скопировать эту конфигурацию в unbound, либо некоторая другая документация, содержит ту же информацию, что и файлы dnsmasq conf, используемые lxc-net)

1 ответ

Решение

Хорошо, я думаю, что понял. Я приму этот ответ, но отметьте мои слова, я отправлю другой вопрос, если в будущем это окажется неэффективным.

Я все еще использую 3 (!) DNS-сервера на этом компьютере: dnsmasq как это было с LXC (не совсем "как это было", см. ниже), а также ncdns DNS-сервер Namecoin и unbound,

Опять же, я могу запустить только 1 DNS-сервер на порту 53, поэтому мне нужно выбрать один или другой для этого порта. Я могу либо взять мой unbound настроить и расширить его, чтобы сделать то, что dnsmasq или наоборот. Поскольку dnsmasq, по-видимому, уже сложно сконфигурирован для работы с LXC, а также служит в качестве DHCP-сервера, который не может выполнить несвязанный сервер, я решил взять его за отправную точку.

Я создал /etc/dnsmasq.conf файл со следующим содержанием:

listen-address=127.0.0.1
resolv-file=/etc/resolv.dnsmasq.conf
server=/bit./127.0.0.1#5301

Первая строка позволяет dnsmasq прослушивать мой локальный адрес, разрешая имена не только для контейнеров LXC, но и для моего ПК. Во второй строке указывается dnsmasq использовать специальный файл resolv, который я скопировал и вставил из resolv.conf (и который, если кого-то волнует, указывает на IP-адрес моего маршрутизатора). Третья и последняя строка добавляет .bit домен-заглушка, для которого запросы пересылаются на мой unbound сервер работает на порту 5301.

Я также изменил свой файл resolv.conf на простой

nameserver 127.0.0.1

так что все DNS-запросы выполняются dnsmasq,

Другие вопросы по тегам