CoovaChilli

De NCad Wiki
Version datée du 11 avril 2015 à 22:39 par Cacheln (discussion | contributions) (→‎Personnalisation)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
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