Оказалось, что мои настройки верны, но они не использовались.
>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 ... Я провел еще несколько тестов, чтобы убедиться, что это так.
Я решил проблему, но сделал это следующим образом:
dns
в /etc/NetworkManager/NetworkManager.conf
/etc/NetworkManager/dnsmasq.d/dnsmasq.conf
в /etc/dnsmasq.conf
/etc/resolvconf/resolv.conf.d/head
... см. ниже для списка файлов) dnsmasq -d -R -q
(Я хотел регистрировать запросы на экране, чтобы я мог видеть что происходило). $ cat /etc/dnsmasq.conf
cache-size=1000
listen-address=127.0.1.1
server=8.8.8.8
server=/abcprivate.net/nn.nn.nn.nn
cache-size=1000
$ cat /etc/resolvconf/resolv.conf.d/head
nameserver 127.0.1.1
$ cat /etc/systemd/system/dnsmasq.service
[Unit]
Description=SystemD - Dnsmasq is a Domain Name System (DNS) forwarder
Requires=network-manager.service
[Service]
Type=simple
ExecStart=/usr/sbin/dnsmasq -d -q -R
Вы можете попробовать это в файле своего служебного модуля:
ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'
Он будет несколько более хрупким, чем рекомендуемый шаблон регистрации в STDOUT, потому что если файл журнала is rotated tail
не обязательно будет снова подключать файловый дескриптор, пока служба не будет перезапущена.
Насколько мне известно, нет встроенной функции для отслеживания файла журнала. Это то, что могут делать другие системы журналирования, такие как rsyslog
.