Я пытался использовать некоторые службы DNS, такие как OpenDNS, и независимо от того, что я делаю, запросы DNS не возвращают ожидаемых результатов. Наблюдая за трафиком пакетов на моем брандмауэре, я вижу, что запросы направляются на адрес предполагаемого DNS-сервера, а ответы возвращаются, но результаты не соответствуют ожидаемым, например, на тестовой странице OpenDNS всегда происходит сбой, даже если запросы выглядят как собираюсь на свои серверы.

Я подозреваю, что мой провайдер перехватывает DNS-запросы и отправляет их на свои собственные серверы. Есть ли способ проверить это? Есть что-то еще, что я мог бы упустить? Я пользуюсь беспроводным сервисом 3G от Sprint.

3 ответа3

1

Есть разные способы проверить, использует ли ваш провайдер прозрачный DNS-прокси. Это зависит от того, как ваш провайдер реализовал это. Мой провайдер перенаправляет все запросы порта 53 на свой собственный рекурсивный DNS-сервер (хотя они и не размещают рекламу на NXDOMAIN. Возможно они используют это для регистрации или, чтобы предотвратить туннелирование DNS). Я упомяну некоторые общие способы обнаружения.

  1. Самый простой способ - использовать Android-приложение Netalyzr или программу Windows Namebench от Google. Они сообщат вам, если ваш провайдер использует прокси-сервер DNS. Вам не нужны никакие технические знания для этого.

скриншот namebench

  1. Выполните поиск DNS для авторитетного сервера имен и проверьте, является ли ответ заслуживающим доверия. Для этого примера я буду использовать dig . Вы также можете использовать nslookup тоже. Если ответ является достоверным, dig отобразит флаг aa в ответе. Теперь a.ns.facebook.com является авторитетным NS fb.me. Если ваш провайдер перехватывает и перенаправляет запрос, вы не получите достоверного ответа.

    dig @a.ns.facebook.com fb.me (левый не перехватывает DNS)

копать авторитетный нс

  1. укажите IP-адрес, на котором не работает DNS-сервер, в качестве DNS-сервера при выполнении dig или nslookup . Вы все равно получите ответ, если ваш провайдер перехватит ваш запрос. В противном случае вы получите Time Out . (Право перехватывает и перенаправляет запросы)

копать не с того сервера

  1. Используйте nmap на случайных IP-адресах. Вы всегда увидите, что порт 53 открыт, если ваш интернет-провайдер перенаправляет все запросы порта 53.

  2. Измените настройки сети вашего компьютера и используйте общедоступный DNS-сервер Google или OpenDNS или IP-адрес Cloudflare DNS (используйте один тип провайдера за раз). Затем перейдите на веб- сайт Dns Leak Test и узнайте, появляются ли другие поставщики.

Обойти этого интернет-провайдера не сложно. Вам необходимо использовать DNScrypt/DNS поверх TLS или любой DNS-сервер, который работает на нестандартных портах (например, 5353 или 443). Во втором методе вы должны использовать маршрутизатор или брандмауэр компьютера для перенаправления исходящих DNS-запросов на эти порты. Детальное обсуждение этих методов выходит за рамки данного поста.

1

Позвонить им и спросить?

Из ветки на форумах OpenDNS (от февраля 2010 г.):

я говорил со спринтом сегодня.

вот что сказал мне парень, с которым я говорил по телефону.

«да, sprint перенаправляет DNS на порт 53» (очевидно, мы, в opendns, знаем это)«да, даже для статических учетных записей»

По-видимому, может быть обновление микропрограммы для вашего устройства Sprint, которое позволяет использовать OpenDNS, согласно связанному PDF из Sprint в том же сообщении.

0

Попробуйте синхронизировать некоторые DNS-запросы, которые, по вашему мнению, отправляются различным поставщикам, таким как OpenDNS и Google. Если они идентичны, их должен подбирать и обслуживать провайдер (неверная логика, но возможная). Один из способов сделать это - использовать Namebench, обычно используемый для выбора лучшего DNS-сервера для вашего соединения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .