Я использую Debian Jessie и пытаюсь настроить dnsmasq в качестве кэширующего DNS-сервера. Я использовал руководство, чтобы придумать следующее /etc/dnsmasq.conf
:
listen-address=127.0.0.1
bind-interfaces
domain-needed
bogus-priv
no-hosts
dns-forward-max=150
cache-size=1000
neg-ttl=3600
resolv-file=/etc/resolv.dnsmasq
no-poll
Делать sudo service dnsmasq restart
не удается, и это не начнется, говоря мне
Mar 26 17:13:01 user dnsmasq[26743]: dnsmasq: syntax check OK.
Mar 26 17:13:01 user dnsmasq[26746]: dnsmasq: only one resolv.conf file allowed in no-poll mode.
Хорошо, довольно странно, что конфиг прямо из руководства не удался. Я просто уберу no-poll
опцию, чтобы посмотреть, работает ли она. На этот раз все начинается нормально, но разрешение DNS явно не удается. Соответствующие файлы:
/etc/resolv.conf
:
nameserver 127.0.0.1
/etc/resolv.dnsmasq
:
nameserver 8.8.8.8
/var/run/dnsmasq/resolv.conf
:
nameserver 127.0.0.1
Третий файл, по-видимому, является действующим файлом dnsmasq resolv.conf, поскольку добавление строки сервера имен в то время, когда dnsmasq уже работает, приводит к немедленному запуску разрешения DNS. Похоже, это проигнорировало мою /etc/resolv.dnsmasq
. Я также попытался добавить строку сервера имен в my /etc/resolv.conf
и удалить resolv-file
строку in /etc/dnsmasq.conf
, но она сразу же перезаписывается на то, что вы видите выше при выполнении sudo service dnsmasq restart
.
Что происходит с dnsmasq и нужно ли настроить dnsmasq в качестве кэширующего DNS-сервера?
no-poll
основном говорит, чтобы игнорировать resolv-file
. При запуске требуется любой новый файл, так что это будет /etc/resolv.conf
в вашем случае (потому что он перезаписывается, когда что-то меняется).
server=8.8.8.8
свой конфиг dnsmasq?