Контекст
Я успешно установил DNSMasq на машину Debian, и, похоже, все работает. Вот что я сделал:
sudo apt-get install dnsmasq
файл обновления /etc/dnsmasq.d/home.dns
со следующим содержанием:
# General configuration
domain-needed
bogus-priv
domain=dummy.home
dhcp-range=192.168.0.10,static,48h
dhcp-option=3,192.168.0.1
# Device IPs
dhcp-host=00:00:5e:00:52:41,desktop,192.168.0.10
dhcp-host=00:00:5e:00:52:12,android,192.168.0.11
192.168.0.1 - это IP-адрес моего маршрутизатора интернет-провайдера.
выключить DHCP на моем маршрутизаторе интернет-провайдера
sudo service dnsmasq restart
Это все здорово, но я новичок в нетворкинге и у меня куча вопросов:
как DNSMasq взаимодействует с маршрутизатором? Я имею в виду, как он сообщает маршрутизатору, что с этого момента он должен начать использовать DHCP-сервер DNSMasq? Есть ли для этого специальный протокол, посредством которого DNSMasq взаимодействует с маршрутизатором, или это сам DHCP?
почему мне не пришлось настраивать свои устройства (телефон с Android и настольный компьютер) для использования DNS-сервера DNSMasq? [Ответ на этот вопрос может быть таким же, как и в предыдущем вопросе, но в любом случае ...]
есть ли способ использовать DNSMasq только для DNS и заставить DHCP-сервер маршрутизатора «разговаривать» или «использовать» DNS-сервер DNSMasq? Таким образом, мне не нужно было бы выключать DHCP-сервер маршрутизатора.
Как я уже сказал, я новичок, но нигде в сети не нашел ответов на эти вопросы. Заранее спасибо!
DNSmasq не требует связи с вашим маршрутизатором. Служба DNSmasq только что взяла на себя службу DNS и DHCP, и ваш маршрутизатор больше не должен ее предоставлять. Поскольку вы отключили службу DHCP на своем маршрутизаторе, только DHCP-сервер компьютера, на котором работает DNSmasq, будет отвечать на запросы DHCP.
Ваши DHCP-клиенты (телефон и настольный компьютер Android) получают всю необходимую информацию от DHCP-сервера, такую как IP-адрес и маска сети, DNS-сервер и маршрутизатор по умолчанию. Из man dnsmasq
:
По умолчанию dnsmasq отправляет некоторые стандартные параметры DHCP-клиентам, сетевая маска и широковещательный адрес устанавливаются такими же, как хост, на котором запущен dnsmasq, а DNS-сервер и маршрут по умолчанию устанавливаются на адрес машины, на которой запущена dnsmasq.
В вашем случае вы установили
dhcp-option=3,192.168.0.1
который говорит клиентам использовать 192.168.0.1
как маршрут по умолчанию. DNSmasq также подберет конфигурацию в /etc/resolv.conf формируют машину, на которой он работает, чтобы настроить восходящие DNS-серверы для разрешения адресов вне вашей локальной сети.
Вы можете запустить DHCP-сервер на другом сервере, чем ваш DNS-сервер. Но вам нужно будет отслеживать клиентов, их IP-адреса и соответствующие имена. В небольших сетях вы можете легко назначать статические IP-адреса и имена, но это не то, что вам нужно. Существует также возможность динамического обновления записей DNS с сервера DHCP, что называется динамическими обновлениями DNS (DDNS), но требует дополнительной настройки.