Ponto de acesso WiFi sem acesso à internet - dispositivos iOS desconectados

4

Estou tentando configurar um ponto de acesso Wi-Fi para oferecer um serviço da Web na rede local, sem oferecer acesso à Internet aos clientes. O servidor da Web tem um endereço IP fixo (digamos 192.168.2.2) e, para facilidade de uso, um servidor de DNS local atribui a ele o nome de domínio app.com .

No entanto, quando um iPad 8 do iOS se conecta à rede, ele tenta automaticamente determinar se a rede WiFi é "utilizável" - o que significa que ela fornece Internet. Se falhar, o iPad desconecta-se automaticamente.

Encontramos esta resposta sugerindo a configuração do gateway DHCP do servidor DHCP (udhcpd no nosso caso) para 0.0.0.0 ("null") e usando a configuração DHCP estática. No entanto, desejamos usar o DHCP e, de fato, os clientes não recebem mais um IP automaticamente quando desconetamos o gateway DHCP do udhcpd ( router option). Esta é a seção relevante do nosso udhcpd.conf , caso isso ajude:

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

Existe uma maneira de dizer aos dispositivos iOS que permaneçam conectados a uma rede Wi-Fi enquanto ainda usam o DHCP para configurações de IP, sub-rede e DNS do cliente?

    
por Tim Raasveld 31.07.2015 / 09:43

2 respostas

1

Se for possível, tente permitir o tráfego TCP para apple.com e icloud.com. No meu hotspot, impede o iPhone de pensar que ele usa um hotspot. Espero que te ajude.

    
por 31.07.2015 / 14:23
0

Na verdade o que você faz é um portal cativo. Você fornece um AP sem acesso à Internet. Os principais sistemas operacionais afirmam que ele é cativo, enquanto você não está conectado, autenticado ou quando não tiver concordado com o ToS.

Isso pode ser frustrante, mas é assim. Os sistemas operacionais consideram o caminho principal (como pontos de acesso em albergues, restaurantes, starbuck etc.). Eu não conheço o truque 0.0.0.0, mas parece errado a priori .

Houve maneiras de enganar o iOS. Mas eles foram "consertados" pela Apple. iOS e amp; O OSX chama uma URL e espera uma resposta específica. Agora você não pode determinar exatamente qual IP é chamado nem qual resposta é esperada.

Bem, eu fiz assim:

  • Eu criei uma página de boas-vindas, com um botão "Concordo ToS" (ou o que você quer),
  • quando você entra no Wifi, o pop-up cativo do iOS é aberto e exibe a página de boas-vindas.
  • Quando você clica no botão, meu roteador abre acesso total à Internet por alguns segundos para esse endereço MAC do usuário.
  • Depois de concluído, o pop-up do iOS exibe automaticamente um botão "OK".
  • Quando você clica nele, o Wifi é conectado, def 'joined.
  • Finalmente, fecho novamente o portal. Meu Wifi ainda é cativo, mas entrou.

Isso tudo é mais uma questão de iptables than dhcp.

Você precisa aprender sobre os portais cativos e como o iOS gerencia isso. A única maneira IMO.

    
por 31.07.2015 / 10:33