Création "HotSpot"

Fermé
greenhouse - 4 févr. 2008 à 14:08
 Manu - 4 févr. 2008 à 16:44
Bonjour !

N'y allons pas par 4 chemins...

Voilà, j'ai entrepris de mettre en place un réseau wifi public, permettant d'offrir divers services (comme un hébergement, des serveurs de jeux, etc etc ...) à la 'populasse' (Ce projet est en fait un travail de fin d'année :o) .

J'ai donc décidé de monter un serveur dhcp, apache, mysql et tout le toutim , sous debian... Bon, jusqu'ici pas de problèmes, le DHCP est actif, le site hébergé est lui aussi accessible, enfin, le serveur fonctionne bien !

Seul hic, c'est lorsque les gens se connectent au réseau wifi ... Dès qu'ils lancent firefox (ou autre), cela leur retourne une page d'erreur (évidemment puisqu'il n'y a pas internet!) .

Ma question est donc la suivante : serait-il possible (via iptables ou autre) de 'forcer' l'affichage du site hébergé en local ? Donc, 'outrepasser' la page d'accueil de l'utilisateur. Un peu comme dans les hotspot (enfin non, carrément comme!).

Je sais qu'il est possible d'acheter des routeur wifi qui font cela de base, mais étant en manque de moyen, il m'est impossible de m'en procurer, et il me semble que ces routeurs ont un "mini linux" embarqué, donc il doit être possible de le recréer sur un pc!

Mais je sèche :(

Dans l'espoir de vous lire :-P

gh
A voir également:

3 réponses

Bonjour,

A priori cela se fait par un "détournement" du DNS : vous implantez sur votre serveur un faux DNS qui renvoie systématiquement l'adresse IP du serveur lui-même. Ce n'est probablement pas nécessaire cette adresse de DNS dans le DHCP. Il vous faut ensuite détecter le premier appel en html (absence de cookie...) pour envoyer la page d'accueil de votre site (avec authentification etc. si besoin).

Il vous reste à trouver un DNS (bind) adéquat.

Manu
0
Salut ,


Merci pour cette réponse rapide!

Je vais donc configurer bind, mais ... pourriez-vous m'en dire un peu plus sur la détection html, s'il vous plait? ;-)


Merci :)

gh
0
Bonjour,

Il n'y a pas à détecter le html. Les requêtes arrivent normalement sur le port 80 (on peut raffiner en demandant au serveur http d'écouter sur d'autres ports comme 243 ou 8080).

Le plus gênant c'est que la requête arrive avec n'importe quelle URL configurée comme home page du navigateur appelant. Il faut donc dans le serveur http se rendre compte que c'est le premier appel (ce qui est important c'est "premier") pour envoyer la première page. A partir de là c'est gagné, l'utilisateur clique sur un lien de la page qui bien sûr contient une URL maîtrisée.

Pour détecter la première page, on peut se servir de la page d'erreur standard du serveur, ou tester l'absence d'un cookie (dans ce cas la première page doit positionner le cookie).

NB cafouillage dans mon précédent message : l'adresse IP du serveur doit être indiquée dans la réponse DHCP comme adresse de DNS, sinon la requête au DNS ne sera pas routable.

Manu
0