captive portal simple.

11 réponses
Avatar
moi-meme
J'ai un Raspberry avec Raspbian dedans.

Il est configuré en hotspot Wifi avec un site web dedans (avec lighttpd)
mais pas relié à Internet (ip_forward désactivé)

Ça fonctionne très bien.

Je voudrai que lorsqu'on se loggue sur le réseau avec son butineur on
aille d'office sur la page web du Raspberry.

J'ai mis address=/#/192.168.1.1
dans hostapd.conf sans résultat.

un coup de iptable pour rediriger toute demande vers le local :
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT \
--to-destination 10.0.0.1:443
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT \
--to-destination 10.0.0.1:80

Mais ça ne fonctionne pas : si je me branche sur le RPi de l'extérieur
avec le butineur il cherche sa page par défaut (et ne la trouve pas bien
entendu).

En résumé : comment faire pour rediriger toute demande sur le service
80/443 externe vers ma page web ?
(sans utiliser des usines à gaz style chillixx , etc)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/529b0b96$0$2277$426a74cc@news.free.fr

10 réponses

1 2
Avatar
Michel
Le 01/12/2013 11:40, moi-meme a écrit :
J'ai un Raspberry avec Raspbian dedans.

Il est configuré en hotspot Wifi avec un site web dedans (avec lighttpd)
mais pas relié à Internet (ip_forward désactivé)

Ça fonctionne très bien.

Je voudrai que lorsqu'on se loggue sur le réseau avec son butineur on
aille d'office sur la page web du Raspberry.

J'ai mis address=/#/192.168.1.1
dans hostapd.conf sans résultat.

un coup de iptable pour rediriger toute demande vers le local :
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT
--to-destination 10.0.0.1:443
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT
--to-destination 10.0.0.1:80

Mais ça ne fonctionne pas : si je me branche sur le RPi de l'extérieur
avec le butineur il cherche sa page par défaut (et ne la trouve pas bien
entendu).

En résumé : comment faire pour rediriger toute demande sur le service
80/443 externe vers ma page web ?
(sans utiliser des usines à gaz style chillixx , etc)



Bonjour,

Je n'ai pas de réponse à t'apporter, mais le sujet m'intéresse. Tu
utilises quelle clé USB pour cet usage?

Merci
Michel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b15e3$0$2304$
Avatar
Pascal Hambourg
moi-meme a écrit :
J'ai un Raspberry avec Raspbian dedans.

Il est configuré en hotspot Wifi avec un site web dedans (avec lighttpd)
mais pas relié à Internet (ip_forward désactivé)

Ça fonctionne très bien.

Je voudrai que lorsqu'on se loggue sur le réseau avec son butineur on
aille d'office sur la page web du Raspberry.

J'ai mis address=/#/192.168.1.1
dans hostapd.conf sans résultat.

un coup de iptable pour rediriger toute demande vers le local :
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT
--to-destination 10.0.0.1:443
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT
--to-destination 10.0.0.1:80



Il serait plus simple d'utiliser la cible REDIRECT.

Mais ça ne fonctionne pas : si je me branche sur le RPi de l'extérieur
avec le butineur il cherche sa page par défaut (et ne la trouve pas bien
entendu).



Ce ne serait pas la résolution DNS qui n'aboutit pas ?
Ton hotspot doit faire office de serveur DNS. Soit il renvoie l'adresse
IP du serveur web local pour n'importe quel nom de domaine, soit il
renvoie la vraie adresse IP et les règles iptables redirigeront vers le
serveur web local. Par contre les connexions HTTPS donneront lieu à des
erreurs ou au mieux des avertissements à cause du certificat présenté
par le serveur local qui ne correspondra pas au nom du site demandé.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Sun, 01 Dec 2013 12:20:01 +0100, Michel a écrit :

Je n'ai pas de réponse à t'apporter, mais le sujet m'intéresse. Tu
utilises quelle clé USB pour cet usage?



sur RPi donc une carte SD :
j'utilise cette version (une Raspbian revue et corrigée comme indiqué)
mais il n'y a rien d'exotique.
http://www.pi-point.co.uk/

(il y a d'autres versions)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b3cc4$0$2054$
Avatar
moi-meme
Le Sun, 01 Dec 2013 12:40:01 +0100, Pascal Hambourg a écrit :

Ce ne serait pas la résolution DNS qui n'aboutit pas ? Ton hotspot doit
faire office de serveur DNS. Soit il renvoie l'adresse IP du serveur web
local pour n'importe quel nom de domaine,



ce n'est pas le rôle de la ligne
address=/#/192.168.1.1 dans hostapd.conf ?

soit il renvoie la vraie
adresse IP et les règles iptables redirigeront vers le serveur web
local.


elles ne vont pas mes règles iptables ?
les ports 80 et443 du WiFi sont redirigés sur 192.168.1.1 qui est
l'adresse locale.
Et si j'utilise localhost ça va faire mieux ?
AMHA ce n'est qu'une substitution de nom à travers le fichiers hosts.

(mon bouzin n'est pas en route je regarde ce soir)

Par contre les connexions HTTPS donneront lieu à des erreurs ou
au mieux des avertissements à cause du certificat présenté par le
serveur local qui ne correspondra pas au nom du site demandé.


moins grave c'est du html pur et dur.

j'avoue que je patauge un petit peu (beaucoup)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b3e9d$0$2054$
Avatar
Michel
Le 01/12/2013 15:10, moi-meme a écrit :
Le Sun, 01 Dec 2013 12:20:01 +0100, Michel a écrit :

Je n'ai pas de réponse à t'apporter, mais le sujet m'intéresse. Tu
utilises quelle clé USB pour cet usage?



sur RPi donc une carte SD :
j'utilise cette version (une Raspbian revue et corrigée comme indiqué)
mais il n'y a rien d'exotique.
http://www.pi-point.co.uk/

(il y a d'autres versions)



Pardon, en fait j'attends mon RPi d'ici mardi ;). Je m'intéresse à la
clé wifi que tu utilises, car elles ne sont pas toutes capables de gérer
un spot...

Cordialement
Michel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b5ecf$0$3429$
Avatar
Papinux
Le 01 Dec 2013 10:12:38 GMT, moi-meme a écrit :

J'ai un Raspberry avec Raspbian dedans.

Il est configuré en hotspot Wifi avec un site web dedans (avec light tpd)
mais pas relié à Internet (ip_forward désactivé)

Ça fonctionne très bien.

Je voudrai que lorsqu'on se loggue sur le réseau avec son butineur o n
aille d'office sur la page web du Raspberry.

J'ai mis address=/#/192.168.1.1
dans hostapd.conf sans résultat.




Bonjour,

je ne connais pas hostapd.conf. J'ai regardé rapidement le man et je
ne vois pas cette option.
Ce ne serait pas plutôt dans dnsmasq.conf (où j'utilise effective ment
cette option)?

Tu devrais t'inspirer de la piratebox qui utilise le même principe:
http://piratebox.aod-rpg.de/dokuwiki/doku.php/raspberry

A+

--
Px

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Pascal Hambourg
moi-meme a écrit :
Le Sun, 01 Dec 2013 12:40:01 +0100, Pascal Hambourg a écrit :

Ce ne serait pas la résolution DNS qui n'aboutit pas ? Ton hotspot doit
faire office de serveur DNS. Soit il renvoie l'adresse IP du serveur web
local pour n'importe quel nom de domaine,



ce n'est pas le rôle de la ligne
address=/#/192.168.1.1 dans hostapd.conf ?



Je ne connais pas cette option. Mais compte tenu de la fonction première
d'hostapd, je ne le vois pas trop s'occuper du DNS, pas plus que du
routage ou de la couche IP.

elles ne vont pas mes règles iptables ?



Ça dépend de ce que tu attends d'elles.

les ports 80 et443 du WiFi sont redirigés sur 192.168.1.1 qui est
l'adresse locale.



Tes règles redirigent vers 10.0.0.1, pas 192.168.1.1.

Et si j'utilise localhost ça va faire mieux ?



Surtout pas. Tout paquet ayant une adresse de loopback (127.0.0.1,
localhost) comme soure ou destination, reçu par une interface non
loopback (wlan0) est jeté, que l'adresse soit originelle ou modifiée par
NAT.

AMHA ce n'est qu'une substitution de nom à travers le fichiers hosts.



Pas compris.

Par contre les connexions HTTPS donneront lieu à des erreurs ou
au mieux des avertissements à cause du certificat présenté par le
serveur local qui ne correspondra pas au nom du site demandé.



moins grave c'est du html pur et dur.



Je parle de HTTPS (le contenant), pas de HTML (le contenu).

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Sun, 01 Dec 2013 17:30:01 +0100, Michel a écrit :

Pardon, en fait j'attends mon RPi d'ici mardi . Je m'intéresse à la clé
wifi que tu utilises, car elles ne sont pas toutes capables de gérer un
spot...



j'ai pas eu de problèmes avec : une Ralink RT2501/2573.
Un truc de récup sans boîtier qu'on m'a donné (récupéré avant mise en
poubelle).

J'en ai acheté une autre chez electro dépot qui marche très bien en
normal mais je ne sais pas ce que c'est. Celle là j'ai pas essayé en
hotspot.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b84fa$0$2063$
Avatar
moi-meme
Le Sun, 01 Dec 2013 19:40:01 +0100, Pascal Hambourg a écrit :

ce n'est pas le rôle de la ligne
address=/#/192.168.1.1 dans hostapd.conf ?



Je ne connais pas cette option. Mais compte tenu de la fonction première
d'hostapd, je ne le vois pas trop s'occuper du DNS, pas plus que du
routage ou de la couche IP.


cela me surprend aussi mais quand on est dans le potage ...


les ports 80 et443 du WiFi sont redirigés sur 192.168.1.1 qui est
l'adresse locale.



Tes règles redirigent vers 10.0.0.1, pas 192.168.1.1.


j'ai fait ce qui est écrit là :
http://stackoverflow.com/questions/19380924/create-captive-portal-on-
raspbian
sauf la ligne listen : j'aurai peut-être du la mettre

toutes mes excuses : dans le post j'ai copié-collé le source pas la ligne
iptable du RPi avec la "bonne" adresse IP ce que j'ai essayé.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b86b6$0$2063$
Avatar
moi-meme
Le Sun, 01 Dec 2013 17:30:02 +0100, Papinux a écrit :

je ne connais pas hostapd.conf. J'ai regardé rapidement le man et je ne
vois pas cette option.
Ce ne serait pas plutôt dans dnsmasq.conf (où j'utilise effectivement
cette option)?



non c'est une erreur (de plus) de ma part

Tu devrais t'inspirer de la piratebox qui utilise le même principe:
http://piratebox.aod-rpg.de/dokuwiki/doku.php/raspberry


en lisant la description c'est tout à fait ce que je cherche.

merci je lance les modifs demain.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/529b9d86$0$2425$
1 2