Eu segui este guia: link
Estou implementando o portal cativo usando o iptables. Eu configurei o servidor web e iptables no roteador linux, e tudo está funcionando como deveria.
Eu posso permitir que o usuário acesse a internet com
sudo iptables -I internet -t mangle -m mac --mac-source USER_MAC_ADDRESS -j RETURN
e posso remover o acesso com
sudo iptables -D internet -t mangle -m mac --mac-source USER_MAC_ADDRESS -j RETURN
No entanto, na remoção, o usuário ainda pode abrir a última página visualizada quantas vezes quiser (se ele reiniciar seu adaptador Ethernet, as conexões futuras serão fechadas). Na página do blog eu encontrei um script
/usr/sbin/conntrack -L \
|grep $1 \
|grep ESTAB \
|grep 'dport=80' \
|awk \
"{ system(\"conntrack -D --orig-src $1 --orig-dst \" \
substr(\,5) \" -p tcp --orig-port-src \" substr(\,7) \" \
--orig-port-dst 80\"); }"
O qual deve remover sua trilha de conexão de "redirecionamento", como está escrito, mas quando eu executo esse script, nada acontece - o usuário ainda tem acesso a essa página.
Quando executo /usr/sbin/conntrack -L | grep USER_IP
depois de executar o script, não estou tendo nada retornado, então, minhas perguntas: Há mais alguma coisa que possa me ajudar a limpar essas faixas? Obviamente - eu não posso redefinir nem meu, nem adaptador de rede de usuários.
Atualização:
Para evitar possíveis mal-entendidos - os comandos acima são comandos brutos que eu executei na minha máquina, então exec () e similares do PHP não são causa deste comportamento. Todos os comandos estão executando bem - porque no usuário de remoção não pode acessar qualquer outro site que o último site que ele estava navegando.