« CoovaChilli » : différence entre les versions
(19 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Image:CoovaChilli_logo.png|center]] | |||
== Présentation == | == Présentation == | ||
'''CoovaChilli''' est un portail captif. Lorsque les utilisateurs tentent d'accéder à Internet, ils sont redirigés vers une page web les invitant à s'authentifier. L'authentification est alors gérée par un serveur [[:FreeRadius|Radius]] qui indique au portail captif si l'utilisateur est autorisé à accéder à Internet. | |||
== Maquette == | == Maquette == | ||
Ligne 15 : | Ligne 17 : | ||
== Installation == | == Installation == | ||
* Télécharger l'archive '''.deb''' depuis le site du développeur : | |||
* Télécharger l'archive .deb | |||
{{ Box_Console | objet=wget http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb}} | {{ Box_Console | objet=wget http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb}} | ||
Ligne 31 : | Ligne 25 : | ||
{{ Box_Console | objet=dpkg -i coova-chilli_1.3.0_i386.deb}} | {{ Box_Console | objet=dpkg -i coova-chilli_1.3.0_i386.deb}} | ||
* Pour fonctionner, | * Pour fonctionner, '''CoovaChilli''' a besoin du module '''haserl''' : | ||
{{ Box_Console | objet=apt-get install haserl }} | {{ Box_Console | objet=apt-get install haserl }} | ||
Ligne 39 : | Ligne 33 : | ||
=== Lancement au démarrage du serveur === | === Lancement au démarrage du serveur === | ||
* Editer le fichier /etc/default/chilli puis rechercher la ligne suivante : | * Editer le fichier '''/etc/default/chilli''' puis rechercher la ligne suivante : | ||
START_CHILLI=0 | START_CHILLI=0 | ||
Ligne 47 : | Ligne 41 : | ||
=== Configuration du DHCP === | === Configuration du DHCP === | ||
* Editer le fichier /etc/chilli/default.conf puis rechercher et adapter les paramètres IP suivants : | * Editer le fichier '''/etc/chilli/default.conf''' puis rechercher et adapter les paramètres IP suivants : | ||
HS_LANIF=eth1 # Interface d'écoute du portail captif | HS_LANIF=eth1 # Interface d'écoute du portail captif | ||
HS_NETWORK=10.1.0.0 # Adresse de réseau du portail captif | HS_NETWORK=10.1.0.0 # Adresse de réseau du portail captif | ||
Ligne 59 : | Ligne 53 : | ||
=== Configuration des paramètres du radius === | === Configuration des paramètres du radius === | ||
{{ Box_Information | objet=Pour la configuration du serveur RADIUS, vous pouvez vous reporter à cet [[:FreeRadius|article]].}} | |||
* Rechercher et adapter les lignes suivantes : | |||
HS_NASID=aurila-monique.net.ncad.fr | HS_NASID=aurila-monique.net.ncad.fr | ||
HS_RADIUS= | HS_RADIUS=10.0.0.51 | ||
HS_RADIUS2=localhost | # HS_RADIUS2=localhost # Nous n'avons pas de second serveur dans notre topologie | ||
HS_UAMALLOW=travaux.ncad.fr,wiki.ncad.fr,www.ncad.fr,www.tisseo.fr,mobi.tisseo.fr,www.ncad.sx,www.sncf.com,www.legifrance.gouv.fr,www.justice.gouv.fr,www.impots.gouv.fr,www.wifi.glx,www.ncad.glx,www.securite.glx | HS_UAMALLOW=travaux.ncad.fr,wiki.ncad.fr,www.ncad.fr,www.tisseo.fr,mobi.tisseo.fr,www.ncad.sx,www.sncf.com,www.legifrance.gouv.fr,www.justice.gouv.fr,www.impots.gouv.fr,www.wifi.glx,www.ncad.glx,www.securite.glx # Quelques sites autorisés sans login | ||
HS_RADSECRET= | HS_RADSECRET=MotDePasseRad # Phrase secrète partagée avec le Radius | ||
HS_UAMSECRET=change-me | HS_UAMSECRET=change-me | ||
HS_UAMALIASNAME=aurila-monique | HS_UAMALIASNAME=aurila-monique | ||
Ligne 73 : | Ligne 71 : | ||
{{ Box_Console | objet=service chilli start }} | {{ Box_Console | objet=service chilli start }} | ||
* Lorsque le service est bien initialisé, l'interface tun0 doit être montée avec les paramètres IP définis précédemment : | * Lorsque le service est bien initialisé, l'interface '''tun0''' doit être montée avec les paramètres IP définis précédemment : | ||
{{ Box_Console | objet=ifconfig tun0<br /> | {{ Box_Console | objet=ifconfig tun0<br /> | ||
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00<br /> | tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00<br /> | ||
Ligne 82 : | Ligne 80 : | ||
. collisions:0 txqueuelen:100<br /> | . collisions:0 txqueuelen:100<br /> | ||
. RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) }} | . RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) }} | ||
== Personnalisation == | |||
* Les fichiers de l'interface web de '''CoovaChilli''' sont enregistrés dans le répertoire '''/etc/chilli/www'''. | |||
=== Le template === | |||
{| | |||
|- | |||
! style="font-weight:bold;border-bottom:1px solid #666666" | Nom du fichier | |||
! style="font-weight:bold;border-bottom:1px solid #666666" | Description | |||
|- | |||
| contact_form.tmpl | |||
| Formulaire de contact | |||
|- | |||
| contact_thanks.tmpl | |||
| Formulaire de contact, page de confirmation d'envoi | |||
|- | |||
| coova.html | |||
| Page de redirection Coova pour les utilisateurs non connectés | |||
|- | |||
| css.tmpl | |||
| Feuille de style | |||
|- | |||
| error.tmpl | |||
| Page appelée lorsque Coova ne peut fonctionner | |||
|- | |||
| error.tmpl | |||
| Page appelée lorsque Coova ne peut fonctionner | |||
|- | |||
| footer.tmpl | |||
| Pied de page - inclut sur toutes les pages | |||
|- | |||
| footer.tmpl | |||
| Pied de page - inclut sur toutes les pages | |||
|- | |||
| header.tmpl | |||
| En-tête - inclut sur toutes les pages | |||
|- | |||
| js.tmpl | |||
| Fonctions Javascript utilisées par l'interface | |||
|- | |||
| login_footer.tmpl | |||
| Pied de page - inclut sur toutes les pages login_*.tmpl | |||
|- | |||
| login_footer.tmpl | |||
| Pied de page - inclut sur toutes les pages login_*.tmpl | |||
|- | |||
| login_success.tmpl | |||
| Page appelé lorsque l'utilisateur est parvenu à se connecter | |||
|- | |||
| login_form.tmpl | |||
| Formulaire d'authentification du portail captif | |||
|- | |||
| login_register.tmpl | |||
| Lien d'accès au formulaire de création de compte Chilli | |||
|- | |||
|} | |||
=== Créer un lien hypertexte === | |||
* Pour pouvoir mettre des liens hypertextes dans l'interface web de '''CoovaChilli''' il ne faut pas utiliser la balise html '''<a>''' standard, mais plutôt le code suivant : | |||
$(href "ma_page.html" "le nom de mon lien") | |||
== À Propos == | |||
Site développeur : http://coova.org |
Dernière version du 11 avril 2015 à 22:39
Présentation
CoovaChilli est un portail captif. Lorsque les utilisateurs tentent d'accéder à Internet, ils sont redirigés vers une page web les invitant à s'authentifier. L'authentification est alors gérée par un serveur Radius qui indique au portail captif si l'utilisateur est autorisé à accéder à Internet.
Maquette
Le tutoriel suivant se basera sur la topologie suivante :
Voici le plan d'adressage :
- 10.0.0.0/26 : Réseau LAN câblé dont fait partit le serveur hébergeant le portail captif (10.0.0.40) ainsi que le serveur radius (10.0.0.41).
- 10.0.0.64/26 : Réseau WLAN wifi dont fait partit le serveur hébergeant le portail captif (10.0.0.65) ainsi que les machines clientes (au moins une pour les tests).
Installation
- Télécharger l'archive .deb depuis le site du développeur :
|
- Installer le paquet précédemment téléchargé :
|
|
- Pour fonctionner, CoovaChilli a besoin du module haserl :
|
|
Configuration
Lancement au démarrage du serveur
- Editer le fichier /etc/default/chilli puis rechercher la ligne suivante :
START_CHILLI=0
- Remplacer par :
START_CHILLI=1
Configuration du DHCP
- Editer le fichier /etc/chilli/default.conf puis rechercher et adapter les paramètres IP suivants :
HS_LANIF=eth1 # Interface d'écoute du portail captif HS_NETWORK=10.1.0.0 # Adresse de réseau du portail captif HS_NETMASK=255.255.255.0 # Masque de sous-réseau du portail captif HS_UAMLISTEN=10.1.0.1 # Adresse IP du portail captif
- Adapté à la topologie plus haut, cela donne ceci :
HS_LANIF=eth1 # Interface d'écoute du portail captif HS_NETWORK=10.0.0.64 # Adresse de réseau du portail captif HS_NETMASK=255.255.255.192 # Masque de sous-réseau du portail captif HS_UAMLISTEN=10.0.0.65 # Adresse IP du portail captif
Configuration des paramètres du radius
|
Pour la configuration du serveur RADIUS, vous pouvez vous reporter à cet article. |
- Rechercher et adapter les lignes suivantes :
HS_NASID=aurila-monique.net.ncad.fr HS_RADIUS=10.0.0.51 # HS_RADIUS2=localhost # Nous n'avons pas de second serveur dans notre topologie HS_UAMALLOW=travaux.ncad.fr,wiki.ncad.fr,www.ncad.fr,www.tisseo.fr,mobi.tisseo.fr,www.ncad.sx,www.sncf.com,www.legifrance.gouv.fr,www.justice.gouv.fr,www.impots.gouv.fr,www.wifi.glx,www.ncad.glx,www.securite.glx # Quelques sites autorisés sans login HS_RADSECRET=MotDePasseRad # Phrase secrète partagée avec le Radius HS_UAMSECRET=change-me HS_UAMALIASNAME=aurila-monique
Démarrage du service
- Pour démarrer le service, il suffit de lancer la commande suivante :
|
|
- Lorsque le service est bien initialisé, l'interface tun0 doit être montée avec les paramètres IP définis précédemment :
|
|
Personnalisation
- Les fichiers de l'interface web de CoovaChilli sont enregistrés dans le répertoire /etc/chilli/www.
Le template
Nom du fichier | Description |
---|---|
contact_form.tmpl | Formulaire de contact |
contact_thanks.tmpl | Formulaire de contact, page de confirmation d'envoi |
coova.html | Page de redirection Coova pour les utilisateurs non connectés |
css.tmpl | Feuille de style |
error.tmpl | Page appelée lorsque Coova ne peut fonctionner |
error.tmpl | Page appelée lorsque Coova ne peut fonctionner |
footer.tmpl | Pied de page - inclut sur toutes les pages |
footer.tmpl | Pied de page - inclut sur toutes les pages |
header.tmpl | En-tête - inclut sur toutes les pages |
js.tmpl | Fonctions Javascript utilisées par l'interface |
login_footer.tmpl | Pied de page - inclut sur toutes les pages login_*.tmpl |
login_footer.tmpl | Pied de page - inclut sur toutes les pages login_*.tmpl |
login_success.tmpl | Page appelé lorsque l'utilisateur est parvenu à se connecter |
login_form.tmpl | Formulaire d'authentification du portail captif |
login_register.tmpl | Lien d'accès au formulaire de création de compte Chilli |
Créer un lien hypertexte
- Pour pouvoir mettre des liens hypertextes dans l'interface web de CoovaChilli il ne faut pas utiliser la balise html <a> standard, mais plutôt le code suivant :
$(href "ma_page.html" "le nom de mon lien")
À Propos
Site développeur : http://coova.org