Вопрос или проблема
Верно ли, что если созданный DNS сервер не смог разрешить запросы, то Шлюз по умолчанию будет действовать как DNS сервер, используя DNS IP-адреса в своем маршрутизаторе?
Я пытался настроить DNS сервер и удалить все DNS IP-адреса в пересылателях. Я также указал IP адрес созданного мной DNS сервера в поле Первичный DNS в сетевом адаптере. Поскольку я удалил все DNS IP как пересылатели, я ожидал, что клиент не сможет его разрешить. Но он по-прежнему пингует www.google.com? Кстати, я очистил DNS.
IP адрес DNS сервера – 10.0.2.4, в то время как Шлюз по умолчанию для DNS сервера и клиента одинаковый – 10.0.2.1
Вам будет легко ответить на вопрос самостоятельно – установите инструмент для захвата пакетов (например, Wireshark или tcpdump) на ваш DNS сервер и дайте ему отслеживать процесс разрешения DNS. Он покажет точно, какие серверы запрашиваются.
Верно ли, что если созданный DNS сервер не смог разрешить запросы, то Шлюз по умолчанию будет действовать как DNS сервер, используя DNS IP-адреса в своем маршрутизаторе?
Нет. Если вы вручную настроили разные DNS серверы в Windows, то он будет только использовать эти серверы – он не будет автоматически использовать шлюз. Нет правила, что шлюзы должны предоставлять DNS.
(Тем не менее, будьте осторожны, так как как IPv4, так и IPv6 имеют отдельные страницы настроек “DNS сервера”. Даже если вы установите IPv4 на ручной, все еще возможно, что IPv6 останется на “автоматическом” и продолжит получать объявление “DNS сервера” от вашего шлюза. Всегда проверяйте ipconfig /all
, чтобы убедиться, что он не показывает нежелательные DNS серверы.)
Я пытался настроить DNS сервер и удалить все DNS IP-адреса в пересылателях. Я также указал IP адрес созданного мной DNS сервера в поле Первичный DNS в сетевом адаптере. Поскольку я удалил все DNS IP как пересылатели, я ожидал, что клиент не сможет его разрешить. Но он по-прежнему пингует www.google.com?
Если ваш софт DNS сервера имеет настройки forwarder
, это обычно означает, что сервер также способен выполнять полный итеративный процесс запроса самостоятельно.
Другими словами – ваш сервер делает ровно то же самое, что и “пересылатели”. (Вы уже видели этот процесс объясненным в другой теме.)
Но обратите внимание, что в отличие от примера, приведенного в посте davidgo, DNS серверы на самом деле не нуждаются в том, чтобы искать список “корневых серверов” на первом этапе – они уже имеют этот список встроенным. Это означает, что пересылатели совершенно ненужны для функционирования процесса.
Ответ или решение
Вопрос об обмене ролей шлюза по умолчанию и DNS-сервера
Введение
Вам может показаться, что шлюз по умолчанию может выполнять функции DNS-сервера, особенно если вы столкнулись с проблемами в настройках своего DNS-сервера. Важно рассмотреть, как это работает на практике и что происходит в случае сбоя конфигурации.
Фактическая роль шлюза по умолчанию
Шлюз по умолчанию (например, маршрутизатор) не является DNS-сервером по своей природе. Однако многие современные маршрутизаторы могут предоставлять эту функцию как дополнительную опцию, используя конфигурации своих DNS-переключателей. В вашем случае, если вы настроили ваше устройство так, чтобы оно использовало ваш собственный DNS-сервер (например, с IP-адресом 10.0.2.4), шлюз не будет переключаться на свои собственные настройки DNS автоматически, если это не было явно указано.
Конфигурация DNS-сервера
Вы упомянули, что удалили все IP-адреса DNS в качестве форвардеров на вашем DNS-сервере. Это действие подразумевает, что ваш сервер не будет пересылать запросы к другим DNS-серверам. Однако, как показано вашей наблюдательностью, клиенты все еще могут разрешать доменные имена, например, www.google.com
. Это может быть связано с тем, что ваш DNS-сервер, даже без настроенных форвардеров, имеет встроенные функции для выполнения итеративных запросов.
Причина продолжающегося разрешения доменных имен
Если ваш DNS-сервер разработан для осуществления полного процесса запроса, он может обращаться к корневым DNS-серверам самостоятельно, несмотря на отсутствие форвардеров. Каждый DNS-сервер имеет предустановленный список корневых DNS-серверов, что позволяет ему выполнять запросы на разрешение доменных имен без необходимости опираться на форвардеры.
Проверка конфигурации
Если вы заметили, что по-прежнему можете пинговать www.google.com
, это может указывать на то, что ваш клиент (например, ПК) все еще обращается к другому DNS-серверу, которое может быть установлено в IPv6-параметрах. Проверьте настройки вашего сетевого адаптера, выполнив команду ipconfig /all
. Это позволит вам удостовериться, что нет конфигураций, которые могут добавлять дополнительные DNS-серверы в список разрешения имен.
Итог
Таким образом, хотя ваш сервер DNS может не иметь заданных форвардеров, он все же может выполнять функции разрешения имен автономно. Проблема может также заключаться в том, что клиент использует другие вне зависимости от настроек DNS. Шлюз по умолчанию, как правило, не будет автоматически брать на себя функции DNS, если так не запрограммировано. Рекомендуется всегда проверять настройки сети и производить диагностику, чтобы убедиться в правильности конфигурации.
Если после всех проверок остаются вопросы, использование инструмента захвата пакетов, например, Wireshark, может дать вам всю необходимую информацию о DNS-запросах и ответах, что поможет глубже понять, что происходит на уровне сети.