Dans une autre vie, j'ai écrit exactement un tel mécanisme. Un petit pare-feu ici, un serveur web là, quelques trucs entre les deux pour activer et désactiver le pare-feu pour une adresse IP donnée, et une règle par défaut qui redirige tout le trafic du port 80 vers un serveur web qui a la page de connexion. Facile comme un gâteau? Pas vraiment.
Tout d'abord, vous pouvez essayer de regarder nocat, un projet open source pour faire exactement ce genre de chose.
Ne vous essayez pas à le faire (écrire un mécanisme qui autorise l'authentification sans fil via un portail captif) vous-même. C'est un court chemin vers la folie.
Le moyen le plus simple de le faire vous-même est de faire fonctionner 2 ensembles d'AP (s'ils sont bon marché, non vlan, AP grand public à un seul SSID). Une série d'AP est sur un réseau privé avec un serveur web, un serveur DHCP et un serveur DNS qui répond avec l'IP du serveur web pour toutes les recherches DNS. Quelqu'un cherche google.com ? Ils obtiennent 192.168.66.6. Ils recherchent snoopy.com ? 192.168.66.6. Ils cherchent bobsyeruncle.net ? 192.168.66.6. Et sur ce serveur web, vous mettez une page web qui dit "bienvenue à (insérer ici le nom de l'entreprise)." "Si vous voulez utiliser le réseau sans fil, changez votre SSID en "securenet", réglez-le sur "WPA2" et "eap-ttls" (ou peu importe le protocole d'authentification sans fil que vous utilisez).
Les autres AP seront, bien sûr, connectés à l'interface "sans fil" de votre pare-feu et permettront tout accès que vous jugez approprié pour l'accès au réseau sans fil sur votre site.
Oh -- attendez -- vous n'utilisez pas une clé pré-partagée, n'est-ce pas? Si vous le faites, vous n'avez vraiment aucune sécurité sans fil du tout. Une fois que je connais la clé, je peux espionner le trafic de tout le monde. Même les AP grand public de basse qualité prennent en charge ces jours-ci WPA-entreprise et radius, et vous pouvez utiliser le serveur radius sur Windows et faire fonctionner l'authentification sans fil correctement.
Pour cette leçon, vous devrez mettre une autre pièce dans la machine et poser une autre question...