Вопрос или проблема
Я изучаю сеть в 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:
-
/etc/NetworkManager/dnsmasq.d/
— Это место, которое NetworkManager использует для своих собственных конфигураций dnsmasq. Часто используется для специфических конфигураций клиентских устройств или соединений. -
/etc/dnsmasq.d/
— В общих системах dnsmasq рассматривает этот каталог для дополнительных конфигурационных файлов. Хотя NetworkManager не использует этот каталог по умолчанию, вы можете сконфигурировать dnsmasq через этот каталог.
Применение
-
Проверка установленных пакетов: Убедитесь, что у вас установлены необходимые пакеты, включая
dnsmasq
иnetwork-manager
. Если нет, установите их:sudo apt-get update sudo apt-get install dnsmasq network-manager
-
Редактирование конфигурации: Добавьте ваши специфические настройки в каталог, используемый NetworkManager для конфигурации dnsmasq (
/etc/NetworkManager/dnsmasq.d
). Для создания или изменения настроек используйте команду:sudo nano /etc/NetworkManager/dnsmasq.d/имя_файла.conf
Например, добавьте следующую строку для настройки размера кеша DNS:
cache-size=150
-
Перезапуск служб: После внесения изменений необходимо перезапустить NetworkManager, чтобы активировать новые настройки:
sudo systemctl restart NetworkManager
-
Проверка состояния: Убедитесь, что dnsmasq запущен и использует правильные конфигурационные файлы:
ps ax | grep dnsmasq
Проверьте наличие параметра
--conf-dir=/etc/NetworkManager/dnsmasq.d
в выводе. Это подтвердит, что NetworkManager управляет настройками dnsmasq. -
Диагностика и отчетность: Если что-то не работает так, как ожидалось, проверьте журналы ошибок в
/var/log/syslog
или используйтеjournalctl
для диагностики. Также полезно проверять файлы в/etc/resolv.conf
, которые могут указывать на источники DNS, используемые на данный момент.
На этом установка и настройка dnsmasq в системе Mint 18 с NetworkManager завершена. Такой подход позволяет использовать возможности dnsmasq в сочетании с удобством управления сетевыми конфигурациями, которое предоставляет NetworkManager. Вы всегда можете экспериментировать с различными опциями в конфигурационных файлах, соблюдая осторожность, чтобы не нарушить сетевые настройки системы.