(Мой телефон рутирован и работает под управлением Android 5.1)

Как можно изменить DNS-адреса мобильных данных (и постоянно, если это возможно) без необходимости приложения?

Я не нашел способа надежно сделать это без приложения.

Я часто использую OpenDNS Family Shield , но иногда мне мешает посетить какой-то конкретный сайт хакеров, и тогда мне нужно быстро и легко сменить DNS-серверы.

Раньше я использовал Set DNS, но он перестал работать в Android 4.3 и далее, поэтому я создал Override DNS , новое приложение, которое имитирует поведение Set DNS, но оно обновлено, чтобы работать даже в Lollipop. У него есть и другие полезные функции, такие как защита PIN-кодом и фильтр SSID Wi-Fi.

Единственный способ сделать это без приложения — это что-то вроде iptables правила перенаправления любого трафика, идущего в udp / 53, на другой ip. Аналогичная процедура показана в потоке XDA .

Я вставляю сюда iptables правила полноты (я их не проверял)

Все, что направлено с устройства Android на любой IP, порт UDP и TCP 53 перенаправляется на 208.67.222.222 один из DNS-серверов OpenDNS.

Эти команды должны быть помещены в скрипт, который запускается при каждой загрузке устройства. Эта функциональность зависит от вашего конкретного ROM. Я не знаю, можно ли сделать что-то подобное в стандартном ПЗУ без использования приложения. Переопределение DNS также решает эту проблему.

Я хочу избежать цензуры со стороны моего местного мобильного провайдера (например, он блокирует imgur по неизвестной причине).

Скриншот
Снимок экрана (щелкните изображение, чтобы увеличить его)

Я почти уверен, что смогу обойти это, изменив свой DNS на Google DNS или OpenDNS, но я не совсем уверен, как это сделать на KitKat.

Хорошо, прежде всего полное раскрытие : я являюсь автором приложения, которое теперь есть в Google Play Store и которое позволяет вам менять DNS для любого мобильного подключения на Android 4.4. Приложение требует root , стоит пару долларов и называется Override DNS . На удаленном ответе мне сказали, что было бы справедливо ссылаться на мое приложение, если я предоставляю его ясно.

Проблема, которую я обнаружил в этом выпуске Android (4.4), заключается в том, что, по-видимому, по причинам кэширования поведение системы было изменено, чтобы перенаправлять все DNS-запросы системному демону под названием netd (вот ссылка на презентацию, связанную с сетями Android до 4.4, которая однако охватывает часть этих тем).

Метод getprop / setprop больше не работает. Эти значения при изменении просто игнорируются netd демоном.

Необходимо общаться напрямую с демоном через /dev/socket/netd сокет. В Android теперь есть инструмент под названием, ndc который выполняет именно эту работу.

Синтаксис для связанных с DNS вещей таков:

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

Я «решил» эту проблему, используя правило iptables для переадресации всех подключений порта 53 на предполагаемый DNS-сервер; мой опыт работы с Android 4.4.2 при попытке изменить настройки DNS при подключении к 3G был в точности таким, как описал Лео; игнорирование значений в getprop | grep dns [0-9] \]: и dhcpd.conf.

Причина описана здесь: http://forum.xda-developers.com/showpost.php?p=44722857&postcount=6 Все приложения выполняют поиск DNS через netd через сокет unix / dev / socket / dnsproxyd. Этот поток также описывает, почему системные свойства игнорируются.

Чтобы отменить это, сделайте

найдите номер строки, соответствующий udp dpt: 53 to: xxx.xxx.xxx.xxx: 53 и выполните

К сожалению, это может быть невозможно сделать прямо сейчас, однако можно попробовать DNS Changer . Это может сработать, если вы root, но нет никаких гарантий.

Хорошей службой DNS будет общедоступная служба DNS Google. Это имеет тенденцию работать очень хорошо для подобных проблем прямо здесь.

Если ничего из этого не работает, продолжайте искать ответы. Хороший сайт для таких вещей — XDA Developers . У них, как правило, много ответов на вещи для Android.

Я на KitKat Cyanogenmod 11, то есть по умолчанию у меня рут. Несмотря на это, я могу только сообщить о неудаче:

1-й метод:

Когда я попробую adb shell с

и затем проверьте, какой IP-адрес разрешает hjfdkhfjkyuiwnwetbyebvtwgqwdi.tk . Я получаю ответ NXDOMAIN, то есть он не пришел с установленного мной сервера имен OpenDNS (который будет возвращать ответ с альтернативным IP, чтобы добавить вас).

Я бы видел только то, что настроил. Однако при переключении с WiFi на мобильный (3G или 4G / LTE) я вижу IP-адреса, которые я распознаю как назначенные моему оператору мобильной связи. Такие приложения, как «DNSwitch» или «DNS Changer», могут автоматически переустанавливать эти преобразователи при смене сети. Однако то, что getprop сообщает мне, все еще не то, что действительно делает решение.

2-й способ [а]:

Другой способ, который я попробовал, — это модифицировать /system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf набор фиксированных вещей (но помните, что сетевые имена и количество распознавателей могут отличаться). Безуспешно.

2-й метод [б]:

И в /system/etc/dhcpcd/dhcpcd.conf я убрал параметр, чтобы принимать резольверы при DHCP-обсуждении. Также нет успеха.

3-й метод:

Пока единственное, что немного сработало бы, — это использовать VPN для бедных, использовать приложение «Туннель SSH», использовать SOCKS4, но при этом я точно не получил хороший результат.

Продолжить:

Похоже, либо DNS установлен в другом месте, либо все пересылаются (угоняются), как только сеть становится мобильной.

Итак, как получилось? Это еще один грязный способ предоставить операторам связи инструмент для разрушения сетевого нейтралитета?

В вашем случае ваш вопрос был из-за этого. Есть ли у вас SSH, чтобы попробовать, если SSHTunnel является альтернативным решением для обхода цензуры ваших операторов?

Введите адреса выбранного вами режима Яндекс.DNS в поля DNS 1 и DNS 2 и сохраните изменения.

Адреса Яндекс.DNS:

Базовый
77.88.8.1
77.88.8.8

Безопасный
77.88.8.2
77.88.8.88

Семейный
77.88.8.3
77.88.8.7

Начиная с версии 9.0, Android появилась возможность лично задавать и менять DNS сервер! Что это нам дает? Как минимум ускорить интернет, как максимум заблокировать рекламу на телефоне!

Не буду расписывать что такое DNS -сервер, единственное что вам необходимо знать, в том что без них интернет работать не будет!

Читайте также:

Начиная с выпуска версии Android 9.0, разработчики добавили возможность лично настроить DNS на Android. А теперь о самом интересном, возможно вы знаете о таком расширение для блокировки рекламы Adguard или DNS 1.1.1.1, либо 8.8.8.8? Если изменить DNS Android, указав кастомные адреса серверов, можно ускорить интернет, либо заблокировать рекламу!

Как изменить DNS на Android?

  • Чтобы настроить DNS на Андроиде, перейдите в настройки и далее в раздел «Сеть и Интернет»
  • Откройте дополнительные параметры и выберите «Персональный DNS-сервер»

Теперь вы можете задать свой личный DNS-сервер!

  • просто ускорить Internet:

one.one.one.one или dns.google

  • «Стандартный» блокировщик:
  • Блокировщик «для детей»:

Как правило, внесенные настройки должно вступить в силу мгновенно, но для перестраховки можете перезагрузить Android.

В Xiaomi MIUI нет параметра выбора DNS?

Вы будете удивлены изменить DNS на Android, если у вас телефон от Xiaomi с прошивкой MIUI (до версии MIUI 12), то вы заметите, что у вас нет настройках параметра «смены DNS». Что делать?

Все дело в том, что Xiaomi скрыла данный пункт, но помочь его отобразить поможет специальное приложение «Hidden Settings for MIUI», скачать его можно с Google Play:

Запустите приложение и выберите «Private DNS», чтобы открыть скрытый раздел Xiaomi и задать свой DNS-сервер.

Если настройки не вступят в силу, то перезагрузите Xiaomi!

У вас еще остались дополнительные вопросы? Задавайте их в комментариях, рассказывайте о том, что у вас получилось или наоборот!

Вот и все! Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней! Больше статей и инструкций читайте в разделе Статьи и Хаки Android.

Высокоскоростной интернет на мобильных устройствах, который ещё десять лет назад казался чем-то недосягаемым, сегодня воспринимается как данность. В результате стало совершенно в порядке вещей включить Full HD-видео на YouTube и смотреть его в общественном транспорте или играть в онлайн-игры по сети, находясь где-нибудь за городом. Тем не менее, даже в условиях общедоступного LTE мало кто откажется от прироста скорости загрузки веб-страниц. Рассказываем, как легко этого добиться на любом Android-смартфоне.

Хотите увеличить скорость загрузки веб-сайтов? Нет ничего проще

Американская компания Cloudflare, предоставляющая сетевые услуги, представила публичный DNS-сервер 1.1.1.1, который позволяет увеличить скорость обработки веб-страниц. Это происходит благодаря тому, что Cloudflare направляет трафик по самому короткому маршруту. В результате удаётся добиться прироста скорости загрузки сайтов до 30% от базовых показателей. К тому же Cloudflare гарантирует, что весь трафик пользователей подлежит шифрованию и остаётся тайной самих пользователей.

DNS (Domain Name Service) — это сервис, который определяет IP-адрес каждого сайта, скрывающегося под определённым доменным именем. Таким образом наши смартфоны, планшеты и компьютеры понимают, куда конкретно нужно отправлять запрос, чтобы получить доступ к содержимому загружаемой веб-страницы. Если DNS не владеет информацией об открываемом сайте, он запрашивает данные о нём у других DNS. 1.1.1.1 делает это не только быстро, направляя запросы по самым коротким маршрутам, но и безопасно.

Как изменить DNS на Android

  • Перейдите в “Настройки” — “Беспроводные сети” — “Частный DNS”;
  • В открывшемся окне активируйте параметр “Настройка частного DNS”;

Зачем нужен DNS 1.1.1.1

  • Введите в появившейся строке 1dot1dot1dot1.cloudflare-dns.com и сохраните запись;
  • Откройте браузер и перейдите по адресу 1.1.1.1/help;
  • Если напротив строк Connected to 1.1.1.1 и Using DNS Over HTTPS или Over TLS стоят отметки Yes, значит, всё удалось.

Если на какой-то стадии у вас что-то пошло не так, вы можете воспользоваться приложением 1.1.1.1 (скачать) от Cloudflare, которое делает всё то же самое, что и смена DNS, но только в автоматическом режиме. Оно пригодится тем, кто не боится засорять свой смартфон ненужным софтом, или тем, кто использует Android ниже 9-й версии, так как у них нет возможности принудительно изменять адрес DNS. Правда, из-за продвинутых технологий шифрования, которые приложение использует, чтобы скрыть трафик от оператора, загрузка сайтов происходит медленнее, чем при использовании DNS 1.1.1.1.

Как настроить dns на андроиде