Настройте 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
,