Primeiro para conseguir o redirecionamento, você precisa de um autenticador embutido (controlador de acesso).
No contexto do seu tópico, você precisará de um controlador lan sem fio se optar pelo gerenciamento central do AP. OU você também pode colocar um tipo de portal cativo de controlador de acesso à rede com recursos de jardim de parede.
O NAS monitora o tráfego que entra no downlink (lado do cliente) por meio do soquete bruto do modo promíscuo e, quando o navegador inicia o tráfego para um cliente não autenticado, é detectado um redirecionamento HTTP para ele como resposta. Assim, o navegador ao recebê-lo é redirecionado para a página inicial do portal CAPTIVE, que pode ser hospedado em linha no autenticador ou pronto para uso em algum servidor da web externo.
O único trabalho desta página é fornecer ao usuário uma interface do usuário para inserir credenciais. As credenciais digitadas são encaminhadas de volta ao daemon do autenticador, como chilli no caso de coova chilli. Além disso, essas credenciais são passadas como solicitação de raio para o servidor RADIUS ou podem ser verificadas localmente. Após a autenticação bem-sucedida, o estado do cliente no autenticador é marcado como autorizado e o cliente recebe acesso.
Como o redirecionamento é alcançado
A abordagem mais usada é interceptar a solicitação HTTP iniciada pelo usuário e o código 302 como resposta ao cliente. No chilli é feito através da função abaixo
http_redirect2() {
cat < < EOF
HTTP/1.1 302 Redirect
Location: $1
Set-Cookie: PORTAL_SESSIONID=$PORTAL_SESSIONID
Set-Cookie: COOVA_USERURL=$COOVA_USERURL
Connection: close
EOF
exit
}
Esse redirecionamento pode ser facilmente alcançado pela interface de toque tun pragmaticamente controlada para a interface do lado do cliente, que intercepta o tráfego do cliente.
Além disso, o redirecionamento também pode ser obtido via envenenamento de DNS, mas às vezes pode causar problemas se as respostas forem armazenadas em cache no navegador do cliente.
Outras coisas podem ser feitas mais especificamente de acordo com o domínio do problema. Eu posso te ajudar com isso, se você quiser.