Почему в DNS нет iPhone

Обновлено: 23.03.2023

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

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

Для нашего клиента я участвую в разработке приложения для iOS, которое использует соединения через сокеты через Wi-Fi для передачи данных на шлюзовое устройство. Чтобы разрешить это, не полагаясь на доступные сети Wi-Fi, устройство шлюза создает свою собственную сеть Wi-Fi, к которой должен подключиться пользователь приложения. Вплоть до выпуска iOS 10 у нас все работало нормально.

Однако с установленной iOS 10 наши iPad/iPhone по-прежнему могут находить сеть Wi-Fi, созданную устройством, и подключаться к ней (значок Wi-Fi на верхней панели не отображается, но он есть). укажите SSID сети как в настройках, так и при запросе через CNCopyCurrentNetworkInfo), но настройка подключения через сокет больше невозможна.

Сначала я подозревал, что создание незащищенного сокетного соединения с IP-адресом и портом больше не разрешено в iOS 10. Чтобы проверить это, я получил некоторый скрипт на Python, который заставляет мой Macbook прослушивать сокетные соединения на определенном порту, и попробовал подключение к этому сокету с помощью приложения iOS 10.

Что происходит, так это то, что если я запускаю это в нашей обычной сети Wi-Fi на работе, я могу без проблем подключиться к розетке. То же самое касается использования капсулы времени в аэропорту, которая не подключена к Интернету, в качестве поставщика сети Wi-Fi. Однако, как только я подключаю iPad и свой Macbook к сети W-Fi, предоставляемой устройством, я больше не могу открывать соединение через сокет.

К сожалению, я не очень хорошо разбираюсь в сетях, поэтому мне трудно диагностировать различия между сетями. Единственное отличие, которое я смог найти, заключается в том, что сеть Wi-Fi устройства, кажется, единственная из трех, которая не предоставляет DNS.

Кто-нибудь знает о каких-либо проблемах с подключением к сетям, которые не предоставляют DNS на iOS 10?

Если да, то было ли это задумано или это непредвиденная вещь, которая (надеюсь) будет исправлена ​​в будущих версиях?

Любые советы по устранению проблемы, конечно, также очень приветствуются 🙂 Боюсь, что ручная настройка DNS на 8.8.8.8 (Google) не сработает, поскольку сеть Wi-Fi устройства не предлагает Интернет.

Ответы

По моему опыту, проблема здесь не в DNS как таковом. Скорее, отсутствие DNS не позволяет iOS сделать сеть Wi-Fi основным интерфейсом, что вызывает другие проблемы.

(значок Wi-Fi на верхней панели не отображается…)

Правильно. Значок Wi-Fi отображается только тогда, когда Wi-Fi становится основным интерфейсом.

Что касается того, что здесь происходит, это действительно зависит от того, как вы настроили свою сеть. Есть два распространенных способа настройки такого рода вещей:

отсутствие инфраструктуры. Если в сети вообще нет инфраструктуры, вы находитесь на территории Bonjour. Это прекрасно работает, но каждое из устройств в сети должно поддерживать различные стандарты, лежащие в основе Bonjour [1]. Из них действительно важным является локальная адресация канала. Если устройства поддерживают IPv6, вы получаете локальную адресацию бесплатно, но если нет, вам необходимо поддерживать RFC 3927.

фиктивный DHCP-сервер. Более распространенный (и менее удачный, по мнению IMO) подход заключается в том, что какой-либо узел в сети предоставляет фиктивный DHCP-сервер, который выдает адреса, но не имеет адреса шлюза, информации DNS или того и другого. [Люди, как правило, делают это, потому что им приходится иметь дело с клиентскими устройствами, которые не поддерживают вышеупомянутые стандарты Bonjour, что странно, потому что большинство основных платформ поддерживают эти стандарты, а все основные платформы поддерживают RFC. 3927.] К сожалению, это еще больше сбивает с толку, поскольку устройство получает то, что выглядит как маршрутизируемый IP-адрес, но на самом деле таковым не является.

Вы можете очень просто протестировать случай отсутствия инфраструктуры: настройте базовую станцию ​​AirPort в режиме моста, а затем не подключайте Ethernet ни к чему.

Тестирование фиктивного DHCP-сервера сложнее, потому что разные фиктивные DHCP-серверы работают по-разному (некоторые выдают адрес шлюза, но не DNS, некоторые не выдают ни адрес шлюза, ни DNS и т. д.).

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

чтобы получить IP-адрес для интерфейсов Wi-Fi (на практике это всегда , хотя это не считается API). Оттуда вы сможете понять, как установить соединение.

Поделись и наслаждайся

Куинн «Эскимос!»
Взаимоотношения с разработчиками Apple, техническая поддержка разработчиков, основная ОС/оборудование

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

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

Наше приложение WebView размещено на локальном веб-сервере, и устройства подключаются к этому серверу через Wi-Fi, а DNS устройства вручную устанавливается на IP-адрес локального сервера.

Та же запись DNS размещена в Интернете со статической веб-страницей для размещения файла AASA.

Когда локальный сервер подключен к Интернету, веб-страница, отображаемая в веб-просмотре, является страницей, размещенной в общедоступном Интернете (статическая страница), даже если DNS устройства настроен на IP-адрес локального сервера.< /p>

Такое поведение наблюдалось только в iOS 14. Все предыдущие версии iOS работали нормально, подключались к локальному серверу (с доступом в Интернет или без него) и обслуживали страницу, размещенную на локальном сервере.

Ответы

У меня такая же проблема на всех устройствах iOS 14, которую они, похоже, не могут решить с помощью собственного внутреннего DNS-сервера, полученного через DHCP. В моем случае он также разрешается во внешний домен, что не очень хорошо, потому что многие внутренние системы не работают дома.

Я использую Synology DNS и Pi Hole. Проблема только с устройствами iOS 14, DHCP-сервер — это Ubiquiti UDMP.

Какие-нибудь известные исправления? Хотелось бы услышать!

На данный момент нет надежного решения, так как нам нужно дождаться обновленной версии DNS-сервера, а зашифрованный DNS нельзя отключить в iOS.

Какое решение? У меня точно такая же проблема. Не удается получить доступ к локальным хостам с полным доменным именем, потому что каким-то образом iOS полностью обходит локальный DNS и извлекает «общедоступный» IP-адрес из общедоступного DNS. Очень расстраивает, когда я не могу получить доступ к хостам на своем iPhone или iPad

Нижний колонтитул для разработчиков

Этот сайт содержит предоставленный пользователями контент, комментарии и мнения и предназначен только для информационных целей. Apple отказывается от какой-либо ответственности за действия, бездействие и поведение любых третьих лиц в связи с использованием вами сайта. Все публикации и использование контента на этом сайте регулируются Соглашением об участии в форумах разработчиков Apple.

Как и в macOS, вы можете изменить DNS-серверы на своем iPhone. Это может значительно ускорить работу Safari и других приложений iPhone, использующих Интернет. Чтобы получить общее представление о DNS и узнать, почему вы хотите изменить DNS-серверы на своем iPhone, см. раздел «Как изменить DNS-серверы вашего Mac».

Прежде чем мы начнем, вы должны кое-что узнать о том, как iOS обрабатывает DNS. Во-первых, эти инструкции работают только для Wi-Fi-подключений — iOS не позволяет менять DNS-сервера при подключении к сотовым сетям. Кроме того, изменения зависят от сети, поэтому вам нужно будет менять DNS-серверы каждый раз, когда вы подключаетесь к новой беспроводной сети. Хорошая новость заключается в том, что iOS запоминает настройки, поэтому при втором подключении к сети вам не придется ничего делать.

Вот как изменить DNS-серверы вашего iPhone:

На главном экране iPhone нажмите "Настройки".

Нажмите Wi-Fi. Отобразятся доступные беспроводные сети в радиусе действия вашего iPhone, как показано ниже.

Настройки сети Wi-Fi iPhone

Нажмите на подключенную сеть Wi-Fi. Появится окно, показанное ниже.

Настройки DNS iPhone

Нажмите «Настроить DNS».

Настройки DNS iPhone

Нажмите "Вручную".

Удалите текущие DNS-серверы и введите новые DNS-серверы.

  • Чтобы использовать Cloudflare DNS, используйте следующие DNS-серверы:
    • 1.1.1.1
    • 1.0.0.1
    • 2606:4700:4700::1111
    • 2606:4700:4700::1001
    • 8.8.8.8
    • 8.8.4.4
    • 2001:4860:4860::8888
    • 2001:4860:4860::8844

    Нажмите "Сохранить".

    Вот оно! Вы обновили DNS-серверы вашего iPhone!

    Статьи по теме

    Подпишитесь на нашу рассылку по электронной почте

    Зарегистрируйтесь и получайте учебные пособия Macinstruct на свой почтовый ящик. Никакого спама, обещаем!

    Если у вас возникают проблемы с подключением к сети Wi-Fi на iPhone, переключение на Google DNS может помочь решить эту проблему. Ниже вы найдете инструкции по использованию Google DNS на iPhone или iPad.

    Используйте Google DNS на iPhone и iPad

    Зачем использовать Google DNS на iPhone

    Типичный современный веб-сайт загружает HTML-контент от своего веб-хостинг-провайдера и загружает изображения, CSS и JavaScript от Google, Amazon, Microsoft и других поставщиков CDN.

    Это заставляет браузер Safari или Chrome на вашем iPhone выполнять несколько запросов DNS, что приводит к задержке или задержке отображения веб-страниц на вашем устройстве.

    Эта задержка загрузки веб-страниц может быть значительной, если DNS-серверы вашего интернет-провайдера (ISP) перегружены и не могут справиться с нагрузкой.

    В таком случае переход на более быстрые DNS-серверы, предоставляемые Google или OpenDNS, может привести к значительному повышению производительности браузеров Safari и Chrome на вашем iPhone.

    Как использовать Google DNS на iPhone и iPad

    По умолчанию ваш iPhone или iPad автоматически подключается к DNS-серверам вашего поставщика услуг.

    Это поведение по умолчанию в программном обеспечении iOS позволяет обычным пользователям iPhone легко подключаться к Интернету, не беспокоясь о настройке DNS-серверов на своих устройствах.

    Однако вы можете изменить DNS-серверы на своем iPhone или iPad в любое время, выполнив следующие действия.

    <р>1. Откройте «Настройки» на iPhone и нажмите «Wi-Fi» .

    Вариант WiFi на iPhone Экран настроек

    <р>2. На экране Wi-Fi коснитесь значка «i», расположенного рядом с именем вашей сети Wi-Fi (см. изображение ниже)

     Имя сети WiFi на iPhone

    <р>3. На следующем экране прокрутите вниз и коснитесь параметра «Настроить DNS» (см. изображение ниже)

    Настроить DNS Вариант на iPhone

    <р>4. На следующем экране выберите параметр «Вручную» и нажмите «+Добавить сервер».

     Добавить опцию DNS-сервера на iPhone

    <р>5. Введите 8.8.8.8 в качестве адреса нового DNS-сервера и нажмите «Сохранить» .

    Добавить DNS-серверы Google на iPhone

    <р>5. Аналогичным образом добавьте 8.8.4.4 в качестве другого DNS-сервера Google.

    <р>6. После добавления DNS-серверов Google вы можете удалить DNS-серверы вашего поставщика услуг, нажав красный значок минуса .

     Удалить DNS-серверы на iPhone

    <р>7. Нажмите на опцию «Сохранить», чтобы сохранить это изменение на вашем устройстве.

    После смены DNS-серверов на Google вы должны увидеть улучшение скорости просмотра на вашем iPhone.

    Факты об изменении DNS-серверов на iPhone

    Вот некоторые моменты, которые необходимо знать об изменении DNS-серверов на iPhone и iPad.

    <р>1. DNS-серверы можно изменить только для сети WiFi на вашем iPhone. В iOS нет возможности изменить DNS-серверы для сотовой сети.

    <р>2. Изменение DNS-серверов зависит от сети, на iPhone нет глобальной опции, которая может изменить DNS-серверы для всех сетей Wi-Fi на вашем iPhone.

    Например, если вы используете домашнюю сеть WiFi и рабочую сеть Wi-Fi в офисе, изменение DNS-серверов для домашней сети WiFi не повлияет на рабочую сеть Wi-Fi.

    <р>3. Как только вы измените DNS-серверы для определенной сети Wi-Fi, ваш iPhone запомнит настройки и будет использовать одни и те же настройки DNS каждый раз, когда вы подключаетесь к этой конкретной сети.

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