Как настроить dnsmasq на Mint-18 с помощью NetworkManager?

Вопрос или проблема

Я изучаю сеть в Linux. Меня очень смущает расположение файлов конфигурации. То, что я читаю в интернете, не соответствует тому, как настроена моя машина.

Я использую Mint 18. Я использую Network-Manager и dnsmasq.

На странице настройки dnsmasq упоминается, что dnsmasq можно настроить в /etc/dnsmasq.conf. У меня этого файла нет…

Однако у меня есть /etc/dnsmasq.d/network-manager, и есть также /etc/NetworkManager/dnsmasq.d/

Я думаю (хотя я не знаю), что /etc/NetworkManager/dnsmasq.d — это место, куда я должен поместить свой конфигурационный файл. Это связано с плагинами NetworkManager?

Если да, то что такое /etc/dnsmasq.d? Должен ли я поместить свой конфигурационный файл сюда?

Поэтому, выполнив ps ax | grep dnsmasq, я смог увидеть, откуда берется конфигурационный файл и какие конфигурации используются в данный момент…

>ps ax | grep dnsmasq
 1273 ?        S      0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Как видно, --conf-dir=/etc/NetworkManager/dnsmasq.d

В Linux Mint выполнение whereis dnsmasq указывает на /etc/dnsmasq.d, в котором есть файл README, описывающий, что конфигурационные файлы могут быть добавлены в этот каталог и как изменить каталог конфигурации по умолчанию:

# Все файлы в этом каталоге будут прочитаны dnsmasq как 
# конфигурационные файлы, за исключением тех, имена которых заканчиваются на 
# ".dpkg-dist", ".dpkg-old" или ".dpkg-new"
#
# Это можно изменить, отредактировав /etc/default/dnsmasq

Ответ или решение

Настройка dnsmasq на Mint 18 с использованием NetworkManager может быть непростой задачей, особенно если вы только начинаете изучать сетевые аспекты операционной системы Linux. В данной статье мы подробно рассмотрим, как правильно настроить dnsmasq, учитывая особенности конфигурационных файлов и взаимодействие с NetworkManager.

Теория

Dnsmasq — это легковесный DNS, DHCP, TFTP и PXE сервер, который часто используется на маломощных системах для обеспечения сетевых услуг. NetworkManager — это программное обеспечение, которое управляет сетью на системах Linux, упрощая пользовательские взаимодействия и обеспечивая удобный интерфейс для управления соединениями.

Когда вы используете NetworkManager вместе с dnsmasq на Linux Mint 18, практическое размещение конфигурационных файлов может вызывать путаницу. Стандартный файл конфигурации для dnsmasq, как правило, находится в /etc/dnsmasq.conf, однако, в вашем случае этот файл отсутствует. Вместо этого система использует различные каталоги, такие как /etc/NetworkManager/dnsmasq.d.

Пример

При использовании команды ps ax | grep dnsmasq, вы получили вывод, подтверждающий, что dnsmasq в вашей системе работает с использованием конфигурационных директорий: --conf-dir=/etc/NetworkManager/dnsmasq.d. Это также означает, что NetworkManager берет на себя управление dnsmasq и используют свои собственные конфигурации.

На Mint 18 по умолчанию могут существовать два потенциальных местоположения конфигурационных файлов для dnsmasq:

  1. /etc/NetworkManager/dnsmasq.d/ — Это место, которое NetworkManager использует для своих собственных конфигураций dnsmasq. Часто используется для специфических конфигураций клиентских устройств или соединений.

  2. /etc/dnsmasq.d/ — В общих системах dnsmasq рассматривает этот каталог для дополнительных конфигурационных файлов. Хотя NetworkManager не использует этот каталог по умолчанию, вы можете сконфигурировать dnsmasq через этот каталог.

Применение

  1. Проверка установленных пакетов: Убедитесь, что у вас установлены необходимые пакеты, включая dnsmasq и network-manager. Если нет, установите их:

    sudo apt-get update
    sudo apt-get install dnsmasq network-manager
  2. Редактирование конфигурации: Добавьте ваши специфические настройки в каталог, используемый NetworkManager для конфигурации dnsmasq (/etc/NetworkManager/dnsmasq.d). Для создания или изменения настроек используйте команду:

    sudo nano /etc/NetworkManager/dnsmasq.d/имя_файла.conf

    Например, добавьте следующую строку для настройки размера кеша DNS:

    cache-size=150
  3. Перезапуск служб: После внесения изменений необходимо перезапустить NetworkManager, чтобы активировать новые настройки:

    sudo systemctl restart NetworkManager
  4. Проверка состояния: Убедитесь, что dnsmasq запущен и использует правильные конфигурационные файлы:

    ps ax | grep dnsmasq

    Проверьте наличие параметра --conf-dir=/etc/NetworkManager/dnsmasq.d в выводе. Это подтвердит, что NetworkManager управляет настройками dnsmasq.

  5. Диагностика и отчетность: Если что-то не работает так, как ожидалось, проверьте журналы ошибок в /var/log/syslog или используйте journalctl для диагностики. Также полезно проверять файлы в /etc/resolv.conf, которые могут указывать на источники DNS, используемые на данный момент.

На этом установка и настройка dnsmasq в системе Mint 18 с NetworkManager завершена. Такой подход позволяет использовать возможности dnsmasq в сочетании с удобством управления сетевыми конфигурациями, которое предоставляет NetworkManager. Вы всегда можете экспериментировать с различными опциями в конфигурационных файлах, соблюдая осторожность, чтобы не нарушить сетевые настройки системы.

Оцените материал
Добавить комментарий

Капча загружается...