Можно ли настроить NetworkManager или dnsmasq на прослушивание 0.0.0.0, когда dnsmasq запускается процессом NetworkManager?
Я заметил, что все, что я вставил,/etc/NetworkManager/dnsmasq.d/00-example.confфайл, например:
listen-address=0.0.0.0
dnsmasq запускается NetworkManager со следующими аргументами:
/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
Есть идеи, как изменить--listen-адресвариант ?
решение1
Я думаю, что вы используете Ubuntu, вот что здесь происходит:dnsmasqиспользуется Сетевым менеджером какплагиндля кэширования локальных DNS-запросов, вот почему это предопределено в командной строке:
--listen-address=127.0.0.1
Итак, чтобы создать конфигурацию для вашегоместныйсеть, вам нужно будет отключить dnsmasq по умолчанию, закомментировав строку под указанным выше файлом/etc/NetworkManager/NetworkManager.conf:
#dns=dnsmasq
После этого перезапустите NM:
systemctl restart NetworkManager
Затем вам нужно будет установитьстандартныйверсию dnsmasq и используйте ее в своих целях.
ДОПОЛНИТЕЛЬНЫЙ: После установки стандартной версии на одном из ваших серверов, это будет ваш DNS-сервер, он должен иметьзафиксированныйip, поскольку вы используете DHCP-сервер для своей сети, наконец, чтобы ваш DNS-сервер прослушивал все егоipsне только наloopback (127.0.0.1) ** следует поместить в файл конфигурации **/etc/dnsmasq.conf:
listen-address=0.0.0.0
решение2
Я тоже с этим боролся. Думаю, у Реды Салиха, вероятно, есть правильный ответ. Но я уже потратил много времени, пытаясь подчинить NetworkManager своей воле, и наконец-то добился того, что он заработал. Просто хотел добавить свой ответ:
- Убедитесь, что у вашего хоста статический IP. Если вы используете DHCP (даже со статическим распределением), DnsMasq подберет нежелательные настройки, такие как использование другого DNS-сервера для локальных адресов.
- Не вводите локальные IP-адреса в
/etc/hosts
, так как они не будут прочитаны. Используйтеaddn-hosts
опцию с другим файлом. - Укажите
dhcp-option=3
свой шлюз, если он отличается от хоста Dnsmasq (у меня он другой). - НЕ устанавливайте
dhcp-option=6
(если вы не знаете, что делаете) - Чтобы переопределить
listen-addr
настройку, принудительно заданную NetworkManager, можно использоватьinterface
настройку в файле conf. У меня есть свой набор,interface=eth0,lo
который для меня эквивалентенlisten-addr=0.0.0.0
. Другие настройки (например, dhcp-host) являются обычными и не требуют дополнительного упоминания.