«A» хочет разрешить google.com с помощью DNS-сервера 1 или 2 (как установлено в настройках IPv4 на сетевой карте). Но DNS-сервер 3 находится между «A» и любым DNS-сервером. Будет ли сервер 3 пытаться ответить на запрос DNS? Или запрос будет игнорироваться до тех пор, пока не достигнет намеченного целевого DNS-сервера?
У каждого компьютера есть список рекурсивных DNS-серверов, с которыми нужно связаться.
Когда ему нужно разрешить имя, он свяжется с одним из этих серверов (обычно с первым в списке и переключается на второй, только если первый вообще не ответил).
Конечно, как и все, что движется в открытом виде по сети, любой элемент на пути может перехватить либо запрос, либо ответ и переписать его.
Такое бывает, и это называется «лживый DNS». Например, у некоторых интернет-провайдеров может возникнуть соблазн переписать ответы NXDOMAIN (когда запрашиваемый ресурс не существует), чтобы вместо этого указать вам на общую страницу поисковой системы или что-то подобное.
Клиент может или не может легко увидеть это, если это произойдет в общем случае. Только если запрашиваемый ресурс использует DNSSEC, клиент может проверить, что ответ не был изменен при передаче. Или, для большей безопасности, потребуется использовать DNS через TLS или DNS через HTTPS, если он проверяет удаленный сертификат. Взгляните на программное обеспечение dnssec-trigger
на основе unbound
.