CoovaChilli
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
Prérequis
Nous disposons de deux cartes réseaux. Par défaut, ces dernières seront identifiées comme telle :
- 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 :
|
- 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 à cette 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 chillispot sont stocké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 Coova il ne faut pas utiliser la balise html <a> mais plutôt le code suivant :
$(href "ma_page.html" "le nom de mon lien")
À Propos
Site développeur : http://coova.org