Я настраиваюПи-отверстиев моей домашней сети. У моего маршрутизатора есть два места, в которых указана опция настройки DNS. По умолчанию одно из этих мест заполнено адресом самого маршрутизатора ( 192.168.1.1
), другое установлено на восходящий DNS моего провайдера ( 79.79.79.79
). Мне сказали, что это первое, что я должен изменить на IP моего Pi-hole, а другое оставить как есть.
Если я правильно понимаю, означает ли это, что при поступлении запроса Pi-hole получает его, и если он локальный (т. е. я хочу получить доступ к NAS с именем хоста «Foo»), то он передаст запрос DHCP-серверу маршрутизатора, который будет знать, какой IP-адрес назначен этому имени хоста, поскольку у него есть собственный DNS?
Однако если запрос внешний, то мой Pi-hole будет использовать DNS-сервер верхнего уровня, настроенный в самом PiHole, и пропустит тот, который указан в маршрутизаторе ( 79.79.79.79
).
Теоретически это, похоже, работает, однако, у меня вопрос: почему я могу пинговать устройства по имени хоста из CMD на любом компьютере с Windows, если теоретически Pi-hole должен помешать этому, поскольку DHCP-сервер работает на самом маршрутизаторе и отключен на Pi-hole?
Как и где здесь задействован DHCP, и какая часть моей сети отвечает за то, что IP-адрес x.x.x.x
принадлежит хосту с именем «Foo»?
решение1
Использует ли маршрутизатор отдельный DNS для DHCP-запросов при использовании Pi-hole?
Нет ...
DHCP работает следующим образом:
Система, которой нужен IP-адрес, отправляеттранслироватьиз сетевой карты.
Прослушивающий DHCP-сервер принимает широковещательную рассылку и отвечает.
Происходит некоторое согласование, и система, которой нужен IP-адрес, получает аренду, а также дополнительную информацию, называемую опциями.
Существует множество «опций» DHCP, одна из которых — IP-адрес(а) доступных для использования DNS-серверов.
Итак, до 4-го пункта выше, нет общения ни с чем, кроме DHCP-сервера. После того, как система получает DNS IP-адреса от DHCP-сервера,затемон может говорить по DNS.
Означает ли это, что при получении запроса Pi-hole, если он локальный (т.е. я хочу получить доступ к NAS с именем хоста «Foo»), передаст запрос DHCP-серверу маршрутизатора, который будет знать, какой IP-адрес назначен этому имени хоста, поскольку у него есть собственный DNS?
Я думаю, что Pi-Hole использует dnsmasq
- это небольшая программа, которая отвечает на запросы DNS - ее можно напрямую настроить и отвечать на пользовательские сопоставления IP-адресов с доменами для локальных систем, таких как ваш NAS, и она может передавать другие запросы DNS чему-либо еще.
Это «что-то еще», вероятно, является чем-то, что обрабатывает все фильтры, а затем, если что-то не заблокировано, пересылает это на DNS вашего интернет-провайдера или другой внешний DNS, указанный вами (например, Google и т. д.).
почему я могу пинговать устройства по имени хоста из CMD на любом компьютере Windows
Windows может использоватьNetBIOSдля разрешения имен компьютеров, а также DNS. Это старый одноранговый протокол конца 80-х/начала 90-х годов, который появился еще до того, как TCP/IP перестал быть автоматическим на ПК. Этот протокол может работать как с центральным сервером WINS, так и без него. Это не должно ускользать от вашей локальной сети.