Я пытаюсь заставить устройство Android использовать DNS-сервер в локальной сети для разрешения имени хоста сервера в качестве локального адреса, но оно не работает. Я как-то обманул (*) маршрутизатор, чтобы он передавал локальный IP-адрес DNS-сервера (192.168.1.99), когда он раздает адреса DHCP.
На устройстве под управлением Windows 10 я вижу, что это тот случай, потому что, когда я просматриваю сетевые свойства, я вижу, что он использует первичные и вторичные IP-адреса DNS, которые мне нужны, и корректно разрешает локальные серверы по локальным адресам из общедоступных имен узлов. (*) По сути, маршрутизатор не позволил бы мне установить DNS-серверы, радио-блок не выбрал бы. Проверка javascript позволила мне установить точку останова, чтобы я мог обойти логику, которая, очевидно, позволяет устанавливать DNS-сервер, только если у вас есть статический IP-адрес, которого у меня нет (и радиоблок для установки статического IP-адреса может ‘ даже не быть выбранным в любом случае!).
Как Изменить ДНС на телефоне АНДРОИД: ставим ДНС Гугла!
Когда я отправил форму, оказалось, что изменение не произошло, но некоторые устройства теперь получают соответствующий DNS-сервер! Обновление: я обнаружил другой маршрутизатор, который не требовал каких-либо хитростей для прохождения DNS-серверов при назначении адресов DHCP, но Android по- прежнему не использует DNS-сервер, который он возвращает! Но на Android он не работает, он разрешает имя хоста в видимый на весь мир IP-адрес, предполагая, что он не использует DNS-сервер, который раздает DHCP. (И необъяснимо, что доступ к серверам через внешний IP-адрес перестал работать, что и стало причиной необходимости разрешения имени хоста преобразовывать во внутренний адрес!) Я использую Termux, чтобы попытаться устранить проблему, и обнаружил, что getprop net.dns1 и getprop net.dns2 вернули адреса IPv6, дальнейшее копание показало эти адреса в маршрутизаторе как адреса DNS, предоставленные провайдером. Поэтому я подумал, что, возможно, по какой-то причине трюк, который я использовал на роутере, не работал на Android. Поэтому я попытался вручную настроить DNS-сервер для устройства. Использование Settings -> WiFi -> (long press network name) -> Modify network -> IP settings: Static Я ввел ту же самую конфигурацию сети, которую устройство получает через DHCP, например
IP address: 192.168.1.2 Gateway: 192.16.8.1.1 Network prefix length: 24 DNS 1: 192.168.1.99 DNS 2: 8.8.8.8
- Существует два DNS-сервера: локальный IPv4 (192.168.1.230) и ISP IPv6 (2a01: e00:: 1).
- DNS-сервер IPv4 знает о локальном домене, а IPv6 — нет.
- Android, случается, использует DNS-сервер IPv6, и поэтому не может разрешить хосты в локальной сети.
Это соответствует тому, что я вижу с моей конфигурацией. Но тогда плакат заявляет:«Это работает, как задумано», с чем у меня есть проблемы. Затем перечисляются четыре возможных обходных пути:
- Добавление IPv6-адреса на локальный DNS-сервер и настройка маршрутизатора для объявления этого адреса как DNS-сервера IPv6, если это возможно. Это не будет работать, потому что маршрутизатор не позволит мне указать адрес IPv6 для DNS.
- Настройка локальных имен на роутере, если это возможно. Я не уверен, что это значит. Сам роутер не предоставляет возможности DNS
- Использование общедоступного домена, чтобы маршрутизатор ISP мог разрешать внутренние имена. Я тоже не уверен, что это значит — как публичный домен сможет ссылаться на внутренний IP-адрес .
- Отключение IPv6 DNS (или отключение IPv6) на маршрутизаторе. Маршрутизатор не предоставляет какого-либо метода для отключения или другой настройки чего-либо в отношении IPv6.
Поэтому я все еще застрял в системе, которая по сути является DOA, потому что некоторые устройства в сети не могут видеть ресурсы, которые им необходимы для функционирования.
ОТКЛЮЧИЛ РЕКЛАМУ и УСКОРИЛ ИНТЕРНЕТ НА СМАРТФОНЕ XIAOMI | ПРАВИЛЬНАЯ НАСТРОЙКА DNS
Обновление: я установил отдельный DHCP-сервер и отключил один на маршрутизаторе, но устройство Android все еще получает два DNS-сервера IPv6 в своем списке — кажется, что задержка секунды или две после того, как DHCP-сервер сообщил о DNS серверы появляются раньше, чем появляются IPv6, и они всегда вставляются перед адресами, указанными сервером. Я попытался увеличить число DNS-серверов, о которых сообщалось, чтобы попытаться заполнить любую таблицу, которая может быть у Android, но даже с 32 другими DNS-серверами он все еще вставляет еще два в начале, в общей сложности 34! Как Android получает эти адреса, и как я могу заставить его сбить его ?! Это сводит меня с ума!
Обновление: я нашел приложение под названием «DNS Changer», которое, похоже, решает проблему, хотя у меня есть некоторые сомнения относительно того, может ли это быть больше, чем обходной путь, пока не будет найдено реальное исправление. Кажется, для создания VPN какой-то, но я хотел бы знать больше, как это работает. Это маршрутизация трафика за пределами моего брандмауэра? Куда?
Мне интересно, если он все маршрутизирует, потому что тест скорости на моем собственном сервере дает около 20% средней скорости передачи по сравнению с тем, если я запускаю тот же тест с IP-адресом вместо имени хоста. Я использовал другое приложение, которое сообщает о 7 различных именах внешних хостов и утверждает, что вся передача прошла через каждое из них. Кроме того, этот обходной путь не работает, если сеть выходит из строя!
Обновление: я также вижу эту проблему в рутированном устройстве под управлением Android 5.1 . Я установил статический IP-адрес и DNS, указывающий на внутренний сервер, и даже зашел так далеко, что использовал setprop для установки каждого DNS-сервера на IP-адрес моего внутреннего DNS-сервера . все же в termux, когда я использую nslookup, он по-прежнему настаивает на использовании 8.8.8.8 для поиска имени. Как заставить Android фактически использовать указанный мной DNS-сервер?
Источник: poweruser.guru
настройка устройства Android 7.1 для использования локального DNS-сервера
Я пытаюсь заставить Android-устройство использовать DNS-сервер в локальной сети для разрешения имени хоста сервера в качестве локального адреса, но он не работает.
я каким-то образом обманом(*) маршрутизатор в передаче по локальному IP-адресу DNS-сервера (192.168.1.99), когда он раздает DHCP-адреса. С устройства под управлением Windows 10 я вижу, что это так, потому что, когда я смотрю в разделе Сетевые свойства, я вижу, что он использует первичные и вторичные IP-адреса DNS, которые я хочу, и это правильно разрешает локальные серверы на локальные адреса из мировых видимых имен хостов.
(*)в принципе, маршрутизатор не позволил бы мне установить DNS-серверы, поле радио не будет выбирать. Проверка javascript позволила мне установить точку останова, чтобы я мог обойти логику, которая, по-видимому, позволяет устанавливать DNS-сервер, если у вас есть статический IP-адрес, которого у меня нет (и радио-блок для установки статического IP-адреса даже не может быть выбран в любом случае!). Когда я отправил форму, она появилась чтобы изменения не приняли, все же некоторые устройства теперь получают правильный DNS-сервер! Update: я нашел другой маршрутизатор, который не требовал никаких трюков, чтобы заставить его пройти DNS-серверы при назначении адресов DHCP, но Android еще не использует возвращаемый DNS-сервер!
но на Android он не работает, он разрешает имя хоста в мире видимый IP-адрес, предполагая, что он не использует DNS-сервер, который DHCP раздает. (И необъяснимо, доступ к серверам через внешний IP-адрес перестал работать, что и послужило причиной необходимости получения имени хоста для разрешения на внутренний адрес!)
я использую Termux чтобы попытаться устранить проблему, и обнаружил, что getprop net.dns1 и getprop net.dns2 возвращенные IPv6 адреса, дальнейшее копание показало эти адреса в маршрутизаторе как DNS-адреса, предоставленные провайдером. Поэтому я подумал, что, возможно, по какой-то причине трюк, который я использовал на маршрутизаторе, не работал Андроид.
поэтому я попытался вручную настроить DNS-сервер для устройства. Использование Settings -> WiFi -> (long press network name) -> Modify network -> IP settings: Static я ввел ту же конфигурацию сети, что и устройство, получаемое через DHCP, например
IP address: 192.168.1.2 Gateway: 192.16.8.1.1 Network prefix length: 24 DNS 1: 192.168.1.99 DNS 2: 8.8.8.8
но при этом вручную я не могу открыть ничего в локальной сети! Например, я не могу получить доступ к локальным веб-страницу роутера 192.168.1.1, браузер говорит, что он недостижим.
Я не могу пинговать тот же IP-адрес в Termux, он говорит: «сеть недостижимый.»If I run ifconfig wlan0 и route в termux выход выглядит идентичным выходу, когда я устанавливаю настройки IP для настройки через DHCP. Однако, getprop net.dns1 по-прежнему возвращает IPv6-адрес, поэтому теперь я не уверен, что верю, что команда возвращает действительные данные. Update: хорошо, на самом деле есть четыре DNS-адреса: первые два-это IPv6-адреса от моего провайдера, которые каким-то образом протекают, а последние два-это два IPv4-адреса, которые я установил.
это, кажется, характерно для более новые версии Android, более старое устройство Android 4.3 не имеет никаких проблем (ему даже не нужна статическая конфигурация IP для правильного разрешения имен хостов).
какие другие вещи я могу попытаться устранить эту проблему, и получить DNS работает должным образом?
обновление: я нашел этот пост который относится к случаю, когда:
- есть два DNS-сервера, локальный IPv4 один (192.168.1.230) и провайдер IPv6 один (2a01:e00::1)
- IPv4 DNS сервер знает о локальном домене, IPv6-нет.
- Android, случается, Использовать IPv6 DNS-сервер, и поэтому не может разрешить хосты в локальной сети.
это соответствует тому, что я вижу с моей конфигурации. Но тогда плакат утверждает ,что» это работает как задумано», с которым у меня есть проблемы. Затем он перечисляет четыре возможных решения:
- добавление IPv6-адреса на локальный DNS-сервер и настройка маршрутизатора для объявления этот адрес как IPv6 DNS-сервер, если это возможно. это не сработает, потому что маршрутизатор не позволит мне указать IPv6-адрес для DNS.
- настройка локальных имен на маршрутизаторе, если это возможно. я не уверен, что это означает. Сам маршрутизатор не предоставляет возможности DNS
- использование общедоступного домена, чтобы маршрутизатор ISP мог разрешать внутренние имена. я не уверен, что это значит — как бы общественным достоянием быть в состоянии обратиться к внутреннему IP-адресу.
- отключение IPv6 DNS (или отключение IPv6) на маршрутизаторе. маршрутизатор не предоставляет какой-либо метод для отключения или иным образом настроить что-либо в отношении IPv6
так что я все еще застрял с системой, которая эффективно DOA, потому что некоторые устройства в сети не могут видеть ресурсы, необходимые для того, чтобы функционировать.
обновить: я создал отдельный сервер DHCP и отключен один на маршрутизаторе, но устройство Android все еще получает два DNS — сервера IPv6 в своем списке-похоже, что есть задержка на секунду или две после того, как сервер DHCP сообщил, что DNS-серверы появляются до появления IPv6, и они всегда вставляешь перед сервер адресам. Я попытался увеличить количество DNS-серверов, о которых сообщается, чтобы попытаться заполнить любую таблицу, которую может иметь Android, но даже с 32 другими DNS-серверами вставляет еще два в начале всего 34! Как Android получает эти адреса и как я могу заставить его сбить его?! Это сводит меня с ума!
Update: я нашел приложение под названием «DNS Changer», которое, как представляется, решить эту проблему, хотя у меня есть некоторые сомнения относительно того, может ли это быть больше, чем обходной путь, пока реальное исправление не может быть найдено. Похоже, что он создает VPN, но я хотел бы узнать больше, как это работает. Это маршрутизация трафика вне моего брандмауэра? К где?
Мне интересно, маршрутизирует ли он все, потому что тест скорости на мой собственный сервер дает около 20% средней скорости передачи по сравнению с тем, если я запускаю тот же тест с IP-адресом вместо имени хоста. Я использовал другое приложение, которое сообщает о 7 различных именах внешних хостов и утверждает, что вся передача прошла через каждый из них. Кроме того, этот обходной путь отказывает, если сеть выключается!
обновление: я также вижу эту проблему в корневом устройстве работает Android 5.1 . Я установил статический IP-адрес и DNS, указывающий на внутренний сервер, и даже зашел так далеко, чтобы использовать setprop установить каждый DNS-сервер на IP-адрес внутреннего DNS-сервера. тем не менее, в termux, когда я использую nslookup, он все еще настаивает на использовании 8.8.8 для поиска имени. Как заставить Android использовать указанный DNS-сервер?
Источник: kompsekret.ru
Как найти самый быстрый DNS-сервер для Android
Чтобы найти самый быстрый DNS-сервер для Android, нам нужно использовать приложение, известное как NetOptimizer. Это одно из лучших приложений для оптимизации скорости интернета, доступных в Play Store, которое может помочь вам подключить самый быстрый DNS-сервер в зависимости от вашего местоположения. Итак, давайте посмотрим, как найти самый быстрый DNS-сервер для вашего Android.
Шаг 1. Прежде всего, загрузите и установите NetOptimizer на свой Android.
Шаг 2. После загрузки откройте приложение, и вы увидите экран, как показано ниже. Обязательно примите Политику конфиденциальности .
Шаг 3. Теперь вы увидите краткое руководство по использованию приложения. Вы можете пройти обучение или нажать на кнопку «Пропустить обучение» .
Шаг 4. Теперь вы увидите главный экран приложения.
Шаг 5. Нажмите на кнопку «DNS Scan» , а затем нажмите на опцию «Scan DNS» .
Шаг 6. Подождите несколько секунд, пока приложение просканирует самые быстрые DNS-серверы.
Шаг 7. После этого вы увидите список всех DNS-серверов. Вам нужно выбрать с низкой задержкой . Результаты основывались на вашем местоположении.
Шаг 8. Чтобы установить DNS, просто нажмите кнопку «Использовать» . Он попросит вас предоставить запрос на подключение (VPN). Просто дайте разрешение и наслаждайтесь быстрым DNS сервером на вашем Android устройстве.
Источник: 19216811.ru