Я пытаюсь настроить точку доступа Wi-Fi, чтобы предлагать веб-службу в локальной сети, не предлагая клиентам доступ в Интернет. Веб-сервер имеет фиксированный IP-адрес (скажем, 192.168.2.2), и для удобства пользователя локальный DNS-сервер назначает ему доменное имя. app.com
.
Однако, когда iPad с iOS 8 подключается к сети, он автоматически пытается определить, "пригодна ли" сеть Wi-Fi, то есть обеспечивает доступ в Интернет. В случае сбоя iPad отключается автоматически.
Мы нашли этот ответ предлагая установить для DHCP-сервера (в нашем случае udhcpd) DHCP-шлюз на 0.0.0.0 («ноль») и использовать статическую конфигурацию DHCP. Однако мы хотим использовать DHCP, и действительно, клиентам больше не назначается IP автоматически, когда мы отключаем шлюз DHCP udhcpd (router
вариант). Это соответствующий раздел нашего udhcpd.conf
, если это поможет:
start 192.168.2.100
end 192.168.2.149
max_leases 50
interface br0
remaining yes
option subnet 255.255.255.0
#option router 192.168.2.1
Итак, есть ли способ сообщить устройствам iOS оставаться подключенными к сети Wi-Fi, по-прежнему используя DHCP для клиентских IP-адресов, подсети и конфигурации DNS?
Если возможно, попробуйте разрешить TCP-трафик для apple.com и icloud.com. В моей точке доступа iPhone не может думать, что использует точку доступа. Надеюсь, это тебе поможет.
Собственно то, что ты делаешь является Адаптивный портал. Вы предоставляете AP без доступа в Интернет. Основные операционные системы заявляют, что они находятся в захвате, пока вы не вошли в систему, не прошли аутентификацию или пока вы не согласились с Условиями использования.
Это может расстраивать, но это так. Операционные системы мыслят обычным образом (например, точки доступа в хостелах, ресторанах, Starbuck и т. Д.). Я не знаю трюка с 0.0.0.0, но это кажется неправильным априори.
Были способы обмануть iOS. Но они были «исправлены» Apple. iOS и OSX звонки URL-адрес и ожидайте конкретного ответа. Теперь вы не можете точно определить, какой IP вызывается, и какой ответ не ожидается.
Ну я так сделал:
Это все скорее вопрос iptables
чем dhcp.
Вы должны узнать о Captive Portals и о том, как iOS ими управляет. Единственный способ ИМО.