Dnsmasq: как использовать DNS-серверы, полученные по DHCP от провайдера?
Здравствуй, All
Работает dnsmasq на роутере.
Серверы DNS прописаны прямо в конфигурационном файле dnsmasq.conf:
server=xx.xx.xx.xx
server=yy.yy.yy.yy
Это неудобно, потому что DNS-серверы время от времени меняются или отваливаются.
Как мне настроить dnsmasq таким образом, чтобы он получал DNS-серверы при помощи DHCP от провайдера?
На роутере настройки сетевой карты прописаны в простом файле interfaces:
--------------------------------------------------
allow-hotplug enp2s0
iface enp2s0 inet dhcp
--------------------------------------------------
Valentin Barbolin,
Я создал папку, как в ответе на superuser.com:
/etc/resolver
В нее положил файл dev
-----------------------------------
nameserver 127.0.0.1
-----------------------------------
В Debian не работает.
В ответе на superuser.com речь об OS X.
Также не очень понятна связь между папкой /etc/resolver и dnsmasq
Для операционной системы debian в /etc/dnsmasq.conf указано, что
# Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
#resolv-file=
# By default, dnsmasq will send queries to any of the upstream
# servers it knows about and tries to favour servers to are known
# to be up. Uncommenting this forces dnsmasq to try each query
# with each server strictly in the order they appear in
# /etc/resolv.conf
#strict-order
То есть, по умолчанию, он берет dns из/etc/resolv.conf. Попробуй просто убрать настройки DNS серверов из конфига dnsmasq.
Valentin Barbolin дал правильный ответ. У меня почему-то resolv.conf был пустой. После обновления по DHCP в нем появились DNS-сервера. Я закомментировал строки server= в dnsmasq.conf, и заработало.
Если у вас не используется NetworkManager, а используется dhclient или dhcpcd, напишите хуки, которые бы правили конфигурационный файл и перезапускали dnsmasq.
Valentin Barbolin дал правильный ответ. У меня почему-то resolv.conf был пустой. После обновления по DHCP в нем появились DNS-сервера. Я закомментировал строки server= в dnsmasq.conf, и заработало.