« CoovaChilli » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(11 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Images:CoovaChilli_logo|center]]
[[Image:CoovaChilli_logo.png|center]]


== Présentation ==
== Présentation ==


CoovaChilli est un portail captif. Lorsque les utilisateur tente 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.
'''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 17 : Ligne 17 :
== Installation ==
== Installation ==


=== Prérequis ===
* Télécharger l'archive '''.deb''' depuis le site du développeur :
 
Il est nécessaire de disposer de deux cartes réseaux. Par défaut, ces dernières seront détecté comme ceci :
* eth0 : carte réseau connecté sur Internet;
* eth1 : carte réseau connecté au LAN.
 
L'installation nécessite également un serveur Radius fonctionnel. [[:FreeRadius]] est un serveur gratuit compatible.
 
=== Installation ===
 
* Télécharger l'archive .deb sur le site du développeur :


{{ 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 35 : 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, CoovaChilli a besoin du module haserl :
* Pour fonctionner, '''CoovaChilli''' a besoin du module '''haserl''' :


{{ Box_Console | objet=apt-get install haserl }}
{{ Box_Console | objet=apt-get install haserl }}
Ligne 43 : 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 51 : 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 64 : Ligne 54 :
=== 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 à cette [[:FreeRadius|article]].}}
{{ Box_Information | objet=Pour la configuration du serveur RADIUS, vous pouvez vous reporter à cet [[:FreeRadius|article]].}}


* Rechercher et adapter les lignes suivantes :
* Rechercher et adapter les lignes suivantes :
Ligne 81 : 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 90 : 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

CoovaChilli logo.png

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 :

Maquette CoovaChili

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 :

wget http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb

  • Installer le paquet précédemment téléchargé :

dpkg -i coova-chilli_1.3.0_i386.deb

  • Pour fonctionner, CoovaChilli a besoin du module haserl :

apt-get install 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 :

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 :

ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
. inet addr:10.0.0.65 P-t-P:10.0.0.65 Mask:255.255.255.192
. UP POINTOPOINT RUNNING MTU:1500 Metric:1
. RX packets:0 errors:0 dropped:0 overruns:0 frame:0
. TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
. collisions:0 txqueuelen:100
. 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

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