В двух словах:
Пересылка: просто передает DNS-запрос другому DNS-серверу (например, вашему провайдеру). Домашние маршрутизаторы используют пересылку для передачи DNS-запросов от клиентов вашей домашней сети на DNS-серверы вашего интернет-провайдера. Например, для foo.example.com сервер переадресации DNS сначала проверяет свой кэш (он уже задавал этот вопрос раньше), а если ответа нет в своем кеше, он запрашивает сервер пересылки (DNS-сервер вашего провайдера) для ответа, который отвечал бы либо кэшированным ответом, либо выполнял бы рекурсию, пока не выяснил ответ.
Рекурсия: DNS-сервер, получающий запрос, берет на себя задачу выяснить ответ на этот запрос, рекурсивно запрашивая авторитетные DNS-серверы для этого домена. Например, для foo.example.com рекурсор сначала запрашивает у корневых серверов, какие DNS-серверы отвечают за TLD .com, затем запрашивает эти серверы для example.com, а затем запрашивает серверы, например. com для foo.example.com, наконец, получив ответ на оригинальный запрос.
С точки зрения безопасности, вы должны разделить рекурсоры / серверы пересылки (обычно DNS-серверы, используемые для обслуживания группы клиентов) и авторитетные DNS-серверы (обычно они отвечают ТОЛЬКО за ответы на запросы в отношении доменов, для которых они являются полномочными - эти серверы НЕ будут работать рекурсивные запросы для всех).
Надеюсь, это немного прояснит ситуацию ...