Сначала решите, при чём тут вообще DNS

Фраза «сайт не открывается» накрывает слишком много разных поломок, и DNS — только один их слой. Сопоставить симптом с причиной дешевле, чем перебирать настройки наугад.

  • Зарубежный сайт резолвится в 127.0.0.1, 0.0.0.0 или адрес, явно не имеющий отношения к сервису. Классическая подмена ответа.
  • Первая загрузка висит несколько секунд, дальше всё нормально: какой-то резолвер не отвечает, и запрос повторяется после таймаута.
  • Часть имён не открывается, а тот же сервис по IP доступен. Маршрут в порядке, ломается разрешение имени.
  • Прокси работает, а несколько сайтов всё равно не грузятся. Разрешение может идти мимо прокси, а может быть и вовсе ни при чём.
Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы

Задайте один вопрос двум резолверам

Самая быстрая проверка — спросить одно имя дважды: через тот DNS, которым система пользуется сейчас, и у публичного сервера, названного явно.

nslookup www.example.com
nslookup www.example.com 8.8.8.8
dig +short www.example.com @1.1.1.1

Одна сторона отдаёт рабочий адрес, другая 127.0.0.1 или посторонний диапазон: разрешение на пути по умолчанию почти наверняка подменяют. Оговорка: открытый порт 53 к 8.8.8.8 тоже подделывается по дороге, так что сравнение доказывает различие ответов, а не подлинность второго.

Если обе стороны согласны, но обе медленные, дело не в содержании ответа, а в маршруте. nslookup повторяет запрос после таймаута, поэтому команда, которая несколько секунд ничего не печатает, и есть сигнал.

При включённом Fake-IP адрес и должен быть поддельным

Когда dns.enhanced-mode стоит в fake-ip, система получает заглушку, которую ядро придумывает на месте из диапазона fake-ip-range, обычно 198.18.0.0/16. Вид 198.18.x.x — не подмена: настоящий запрос уходит уже со стороны узла.

Поэтому системный nslookup здесь почти бесполезен: заглушку вы получите в любом случае, а ping по ней ничего не доказывает. Реальный результат смотрите в списке соединений — там видно имя назначения и выбранный выход.

Кеш, браузерный DoH и правильный на вид ответ

  1. После любой правки DNS сбрасывайте кеш. В Windows это ipconfig /flushdns; в macOS нужен приём с mDNSResponder, точная команда менялась от версии к версии; в Linux всё зависит от того, systemd-resolved у вас или dnsmasq. Без этого вы проверяете старую запись.
  2. Браузеры резолвят сами. Secure DNS в Chrome и DNS over HTTPS в Firefox обходят системный резолвер, так что на время диагностики их выключают, иначе командная строка и браузер описывают разные миры.
  3. У клиента тоже есть кеш. После правки nameserver или nameserver-policy перезагрузите профиль и закройте старые записи в списке соединений.

Один случай стоит вынести отдельно: nslookup возвращает обычный IP, а страница всё равно не грузится. Значит, имя разрешилось. Дальше смотрят, какому правилу соответствует соединение, через какой выход оно ушло и жив ли сам узел.

Не меняйте три вещи одновременно. Сбросьте кеш, поправьте одну настройку, проверьте снова. Иначе в день, когда всё заработает, вы не поймёте, что именно помогло, и в следующий раз застрянете ровно там же.