Назад | Перейти на главную страницу

Как DNSMasq интегрируется с моим маршрутизатором?

Контекст

Я успешно установил DNSMasq на машину Debian, и, похоже, все работает. Вот что я сделал:

  1. установить DNSMasq с помощью sudo apt-get install dnsmasq
  2. файл обновления /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-адрес моего маршрутизатора интернет-провайдера.

  3. выключить DHCP на моем маршрутизаторе интернет-провайдера

  4. перезапустите службу DNSMasq с помощью sudo service dnsmasq restart

Это все здорово, но я новичок в нетворкинге и у меня куча вопросов:

  1. как DNSMasq взаимодействует с маршрутизатором? Я имею в виду, как он сообщает маршрутизатору, что с этого момента он должен начать использовать DHCP-сервер DNSMasq? Есть ли для этого специальный протокол, посредством которого DNSMasq взаимодействует с маршрутизатором, или это сам DHCP?

  2. почему мне не пришлось настраивать свои устройства (телефон с Android и настольный компьютер) для использования DNS-сервера DNSMasq? [Ответ на этот вопрос может быть таким же, как и в предыдущем вопросе, но в любом случае ...]

  3. есть ли способ использовать 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), но требует дополнительной настройки.