| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| coovachilli [Le 01/05/2017, 00:21] – [Installation de CoovaChilli à partir des fichiers Sources] raphaeldu68 | coovachilli [Le 09/06/2024, 21:19] (Version actuelle) – [Voir aussi] MAJ du site officiel spnux |
|---|
| FIXME Si dans le fichier **/etc/network/interfaces** il y a d'autres nom d'interfaces tel que **ens160 et ens192** à la place de **eth0 eth1** conservez les sinon vous obtiendrez une erreur en tapant //service networking restart// pour relancer les interface réseaux. | FIXME Si dans le fichier **/etc/network/interfaces** il y a d'autres nom d'interfaces tel que **ens160 et ens192** à la place de **eth0 eth1** conservez les sinon vous obtiendrez une erreur en tapant //service networking restart// pour relancer les interface réseaux. |
| |
| On indique ici que : | On indique ici que : |
| * l'interface //eth0// sera reliée au modem adsl/serveur en mode dhcp. | * l'interface //eth0// sera reliée au modem adsl/serveur en mode dhcp. |
| * l'interface //eth1// sera celle qui servira de passerelle avec les clients abonnés. | * l'interface //eth1// sera celle qui servira de passerelle avec les clients abonnés. |
| - [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/sysctl.conf** pour activer ((décommenter en retirant le dièse #)) le paramètre //net.ip4.ip_forward//((ligne 28)). Vous devriez obtenir ceci : <file> | - [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/sysctl.conf** pour activer ((décommenter en retirant le dièse #)) le paramètre //net.ip4.ip_forward//((ligne 28)). Vous devriez obtenir ceci : <file> |
| # Uncomment the next line to enable packet forwarding for IPv4 | # Uncomment the next line to enable packet forwarding for IPv4 |
| net.ipv4.ip_forward=1</file> | net.ipv4.ip_forward=1</file> |
| - Relancez ensuite les interfaces réseaux :<code>sudo service networking restart</code> | - Relancez ensuite les interfaces réseaux :<code>sudo service networking restart</code> |
| =====Installation et configuration du serveur Radius ===== | =====Installationet configuration du serveur Radius ===== |
| |
| ==== Téléchargement de Freeradius depuis les dépôts officiels ==== | ==== Téléchargement de Freeradius depuis les dépôts officiels ==== |
| [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>freeradius,freeradius-mysql|freeradius freeradius-mysql]]** | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>freeradius,freeradius-mysql|freeradius freeradius-mysql]]** |
| |
| Ou en ligne de commande : | Ou en ligne de commande : |
| <code> sudo apt-get install freeradius freeradius-mysql -y</code> | <code> sudo apt-get install freeradius freeradius-mysql -y</code> |
| ==== Installation de la base de donnée MySQL ==== | ==== Installationde la base de donnée MySQL ==== |
| - Création de la base de données pour stocker les noms d'utilisateurs et mots de passe :<code> | - Création de la base de données pour stocker les noms d'utilisateurs et mots de passe :<code> |
| mysql -u root -p | mysql -u root -p |
| #par defaut : testing123 | #par defaut : testing123 |
| } | } |
| </file> Utilisez la fonction recherche Ctrl+W sur nano par exemple pour trouver les lignes dans le fichier | </file>Utilisez la fonction recherche Ctrl+W sur nano par exemple pour trouver les lignes dans le fichier |
| |
| ===Réglage du fichier de configuration=== | ===Réglage du fichier de configuration=== |
| sudo freeradius -XXX | sudo freeradius -XXX |
| </code>Si tout va bien la dernière ligne devrait afficher :<code> | </code>Si tout va bien la dernière ligne devrait afficher :<code> |
| Mon Jun 20 18:33:54 2011 : Debug: Ready to process requests. | Mon Jun 20 18:33:54 2011 : Debug: Ready to process requests. |
| </code>Appuyer sur les touches « Ctrl+C » de votre clavier pour quitter. | </code>Appuyer sur les touches « Ctrl+C » de votre clavier pour quitter. |
| - Redémarrez le serveur Freeradius : <code>sudo /etc/init.d/freeradius start</code> | - Redémarrez le serveur Freeradius : <code>sudo /etc/init.d/freeradius start</code> |
| |
| Si les tests ci-dessus on réussi, vous pouvez désormais déplacer l'autorisation de la fonction **Fichier** à la fonction **MySql**. Pour cela il faudra éditez le fichier **/etc/freeradius/sites-available/default** et remplacer l’autorisation en commentant/décommentant((ajouter/ôter un dièse #)) comme ceci : | Si les tests ci-dessus on réussi, vous pouvez désormais déplacer l'autorisation de la fonction **Fichier** à la fonction **MySql**. Pour cela il faudra éditez le fichier **/etc/freeradius/sites-available/default** et remplacer l’autorisation en commentant/décommentant((ajouter/ôter un dièse #)) comme ceci : |
| | Fichiers | == | files | remplacer par | # files | | | Fichiers | == | files | remplacer par | # files | |
| | MySql | == | # sql | remplacer par | sql | | | MySql | == | # sql | remplacer par | sql | |
| |
| <file> | <file> |
| Auth-Type eap { | Auth-Type eap { |
| eap { | eap { |
| handled = 1 | handled = 1 |
| } | } |
| } | } |
| - Editez le fichier **/etc/freeradius/radiusd.conf** pour décommenter (~ ligne 683) : <file> | - Editez le fichier **/etc/freeradius/radiusd.conf** pour décommenter (~ ligne 683) : <file> |
| $INCLUDE sql.conf ### Changer le manuellement | $INCLUDE sql.conf ### Changer le manuellement |
| </file> | </file> |
| |
| ====Ajouter un utilisateur dans la base de donnée MySql:==== | ====Ajouter un utilisateur dans la base de donnée MySql:==== |
| === Test de la configuration de Freeradius et de Mysql === | === Test de la configuration de Freeradius et de Mysql === |
| |
| Redémarrez le serveur radius: | Redémarrez le serveur radius: |
| <code> | <code> |
| sudo /etc/init.d/freeradius restart | sudo /etc/init.d/freeradius restart |
| **Vous pouvez passer a l'[[#Installation_et_configuration_de_Coovachilli|installation de Coovachilli]].** | **Vous pouvez passer a l'[[#Installation_et_configuration_de_Coovachilli|installation de Coovachilli]].** |
| |
| ===== Installation et configuration de Coovachilli ===== | ===== Installationet configuration de Coovachilli ===== |
| ==== Installation de CoovaChilli à partir des fichiers Sources ==== | ==== Installationde CoovaChilli à partir des fichiers Sources ==== |
| <note>Pensez à vérifier les mises à jour et utilisez la dernière version. Version 1.4 au 15 déc 2016</note> | <note>Pensez à vérifier les mises à jour et utilisez la dernière version. Version 1.4 au 15 déc 2016</note> |
| Dans un [[:terminal]] saisissez les [[:commande_shell|commandes]] suivantes: | Dans un [[:terminal]] saisissez les [[:commande_shell|commandes]] suivantes: |
| Installation des prérequis : | Installationdes prérequis : |
| <code> | <code> |
| sudo apt-get install -y g++ automake autoconf libtool libltdl-dev gengetopt make cmake libssl-dev git | sudo apt-get install -y g++ automake autoconf libtool libltdl-dev gengetopt make cmake libssl-dev git |
| git branch | git branch |
| </code> | </code> |
| Premier script | Premier script |
| <code> | <code> |
| ./bootstrap | ./bootstrap |
| --enable-modules --enable-multiroute | --enable-modules --enable-multiroute |
| </code> | </code> |
| instalaltion | Installation |
| <code> | <code> |
| make && make install | make && make install |
| <note important>Les paquets préfabriqués de Coova-Chilli sont compilés pour i386.\\ | <note important>Les paquets préfabriqués de Coova-Chilli sont compilés pour i386.\\ |
| Pour un PC 64bits et pour éviter les soucis d'identification (MD5, SHA, SSL,...), il faudra (pour le moment) compiler à partir des sources téléchargeables sur le site de Coova.org</note> | Pour un PC 64bits et pour éviter les soucis d'identification (MD5, SHA, SSL,...), il faudra (pour le moment) compiler à partir des sources téléchargeables sur le site de Coova.org</note> |
| Pensez à installer également le packet haserl pour permettre à serveur chilli de rediriger les clients vers la page d'accueil. | |
| |
| |
| | ==== Installationdu packet haserl pour permettre au serveur chilli de rediriger les clients vers la page d'accueil ==== |
| | <code> |
| | cd /usr/src |
| | wget http://downloads.sourceforge.net/project/haserl/haserl-devel/haserl-0.9.35.tar.gz |
| | tar zxvf haserl-0.9.35.tar.gz |
| | cd haserl-0.9.35 |
| | </code> |
| | Compilation puis installation de Haserl |
| | <code> |
| | ./configure && make && make install |
| | </code> |
| ==== Paramétrage du serveur hotspot ==== | ==== Paramétrage du serveur hotspot ==== |
| |
| cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/ | cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/ |
| mkdir /var/www/hotspot/uam | mkdir /var/www/hotspot/uam |
| cd /var/www/hotspot/uam | cd /var/www/hotspot/uam</code> |
| wget http://ap.coova.org/uam/ | FIXME : adresse introuvable : |
| | <code>wget http://ap.coova.org/uam/ |
| wget http://ap.coova.org/js/chilli.js | wget http://ap.coova.org/js/chilli.js |
| exit | exit |
| <note>Vous pouvez donner à l'interface //eth0// la valeur 192.168.0.1/24, la valeur 192.168.182.1 étant celle par defaut FIXME du mal à comprendre le sens de la phrase et les adresses </note> | <note>Vous pouvez donner à l'interface //eth0// la valeur 192.168.0.1/24, la valeur 192.168.182.1 étant celle par defaut FIXME du mal à comprendre le sens de la phrase et les adresses </note> |
| |
| Afin de déplacer FIXME (formulation "déplacer"???) l'adresse IP de l'interface réseau **numéro 0** avec celle de l'interface réseau **numéro 1** de votre ordinateur, éditez le fichier **/etc/default/chilli** pour donner à la fonction START_CHILLI la valeur 1<file> | ===Configuration de CoovaChill=== |
| START_CHILLI=1 | A la fin du fichier **/etc/chilli/up.sh** ajouter la ligne : |
| </file> | <code>iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE</code> |
| | Elle va permettre de transférer ce qui arrive par le Wifi vers l’Ethernet |
| | |
| | Editer le fichier **/etc/default/chilli** et remplacer |
| | <code>START_CHILLI=0</code> |
| | par |
| | <code>START_CHILLI=1</code> |
| | Cela autorise le démarrage de CoovaChilli |
| | |
| | Editer le fichier **/etc/chilli/wwwsh** et donner l’emplacement exact de haserl à la ligne 9 |
| | <code>haserl=/usr/local/bin/haserl</code> |
| | |
| | Editer le fichier **/etc/chilli/config** et modifier ces valeurs en fonction de votre réseau : |
| | <code> |
| | HS_WANIF=eth0 |
| | HS_LANIF=wlan0 |
| | HS_NETWORK=192.168.10.0 |
| | HS_UAMLISTEN=192.168.10.1 |
| | HS_UAMALLOW=192.168.10.0/24 |
| | HS_SSID=PiHomeServerAP |
| | ... |
| | HS_RADSECRET=testing123 # Set to be your RADIUS shared secret |
| | </code> |
| | |
| | Le détail des paramètres configurés : |
| | * HS_WANIF est l’interface reliée à Internet |
| | * HS_LANIF est l’interface du Wifi/Hotspot |
| | * HS_NETWORK le réseau du hotspot |
| | * HS_UAMLISTEN la gateway du réseau du hotspot |
| | * HS_UAMALLOW les IP du réseau du hotspot autorisées à se connecter |
| | * HS_SSID le SSID (ne semble pas avoir d’effet) |
| | * HS_RADSECRET la clée secrète du radius défini précédemment dans **/etc/freeradius/clients.conf** |
| Redémarrez votre ordinateur.\\ | Redémarrez votre ordinateur.\\ |
| Testez si la configuration de réseau s'est bien passée en démarrant tout simplement le serveur Chilli : | Testez si la configuration de réseau s'est bien passée en démarrant tout simplement le serveur Chilli : |
| Par défaut, il sera supposé que : | Par défaut, il sera supposé que : |
| * le périphérique //eth0// sera relié à votre connexion internet. | * le périphérique //eth0// sera relié à votre connexion internet. |
| * le périphérique //eth1// sera quand a lui l'interface (passerelle) que vous voudrez connecter avec des clients abonnés. | * le périphérique //eth1// sera quand a lui l'interface (passerelle) que vous voudrez connecter avec des clients abonnés. |
| <note>Si ce n'était pas le cas, il faudra pratiquer par exemple un changement de configuration avec la fonction **HS_WANIF**((**W**ireless)) pour la relier à votre périphérique internet et relier également la fonction **HS_LANIF**((**L**an)) directement à votre périphérique WiFi.</note> | <note>Si ce n'était pas le cas, il faudra pratiquer par exemple un changement de configuration avec la fonction **HS_WANIF**((**W**ireless)) pour la relier à votre périphérique internet et relier également la fonction **HS_LANIF**((**L**an)) directement à votre périphérique WiFi.</note> |
| |
| | HS_LOC_AC=408 | HS_LOC_AC=87000 | | | HS_LOC_AC=408 | HS_LOC_AC=87000 | |
| | HS_LOC_CC=1 | HS_LOC_CC=33 (suffix téléphonique +33) | | | HS_LOC_CC=1 | HS_LOC_CC=33 (suffix téléphonique +33) | |
| | HS_LOC_ISOCC=US | HS_LOC_ISOCC=FR ( [[http://fr.wikipedia.org/wiki/ISO_3166-2|Voir doc wikipedia]] ) | | | HS_LOC_ISOCC=US | HS_LOC_ISOCC=FR ( [[https://fr.wikipedia.org/wiki/ISO_3166-2|Voir doc wikipedia]] ) | |
| |
| ==== Créer et configurer une page de connexion ==== | ==== Créer et configurer une page de connexion ==== |
| ===== Sécurité et certification d’authenticité ===== | ===== Sécurité et certification d’authenticité ===== |
| |
| ==== Installation du par-feu :==== | ==== Installationdu pare-feu :==== |
| | |
| | Les créateurs de CoovaChilli ont des règles prédéfinies pour [[:iptables]], mais leur script a besoin d'un peu d'aide avant que ça fonctionne. L' iptables de CoovaChilli est configuré dans le script **/etc/chili/up.sh** qui déclenche l'interface TUN/TAP mise en place. |
| | Ce déclenchement se fait en fonction du contenu du script **/etc/chili/ipup.sh** qui n'existe pas par défaut. Créez le fichier **/etc/chili/ipup.sh** si besoin est. |
| |
| Les créateurs de CoovaChilli ont des règles prédéfinies pour [[:iptables]], mais leur script a besoin d'un peu d'aide avant que ça fonctionne. L' iptables de CoovaChilli est configuré dans le script **/etc/chili/ up.sh** qui déclenche l'interface TUN/TAP mise en place. | |
| |
| <note>Dans les réseaux informatiques, TUN et TAP sont des périphériques virtuels dans le "Kernel réseau" (Noyaux réseau). Ce sont des dispositifs réseau qui sont entièrement à la charge du logiciel. Ils sont différents des périphériques réseaux ordinaires qui sont eux des adaptateurs réseaux matériel.</note> | <note>Dans les réseaux informatiques, TUN et TAP sont des périphériques virtuels dans le "Kernel réseau" (Noyaux réseau). Ce sont des dispositifs réseau qui sont entièrement à la charge du logiciel. Ils sont différents des périphériques réseaux ordinaires qui sont eux des adaptateurs réseaux matériel.</note> |
| |
| Pour "aider" Coova Chilli, ajoutez ces lignes à la fin du fichier **/etc/chilli/up.sh** : | Pour "aider" Coova Chilli, ajoutez ces lignes à la fin du fichier **/etc/chilli/ipup.sh** : |
| <code> | <code> |
| [ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null | [ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null |
| Pour le rendre exécutable : | Pour le rendre exécutable : |
| <code> | <code> |
| chmod +x /etc/chilli/up.sh | chmod +x /etc/chilli/ipup.sh |
| </code> | </code> |
| |
| Dans la configuration ci-dessus, vous avez relié le serveur DNS au périphériques locaux. C'est pourquoi, votre système doit posséder un serveur DNS que vous pouvez installer à partir de [[:tasksel|tasksel]]. | Dans la configuration ci-dessus, vous avez relié le serveur DNS au périphériques locaux. C'est pourquoi, votre système doit posséder un serveur DNS que vous pouvez installer à partir de [[:tasksel|tasksel]]. |
| |
| ==== Installation de la certification SSL au server Apache 2 ==== | ==== Installationde la certification SSL au server Apache 2 ==== |
| |
| Suivre cette documentation : [[:tutoriel:securiser_apache2_avec_ssl]] | Suivre cette documentation : [[:tutoriel:securiser_apache2_avec_ssl]] |
| |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| * **(en)** [[http://www.coova.org/CoovaChilli|Site officiel]] | * **(en)** [[https://coova.github.io/CoovaChilli/|Site officiel]] |
| * **(en-us)** [[https://help.ubuntu.com/community/WifiDocs/CoovaChilli|Documentation Ubuntu Officiel ]] de Coova Chilli. | * **(en-us)** [[https://help.ubuntu.com/community/WifiDocs/CoovaChilli|Documentation Ubuntu Officiel ]] de Coova Chilli. |
| * **(en)** [[http://linux.xvx.cz/2010/03/debian-wi-fi-hotspot-using-coovachilli-freeradius-mysql-and-daloradius/|linux.xvx.cz Documentation de Coova Chilli]] sous la distribution linux debian. | * **(en)** [[http://linux.xvx.cz/2010/03/debian-wi-fi-hotspot-using-coovachilli-freeradius-mysql-and-daloradius/|linux.xvx.cz Documentation de Coova Chilli]] sous la distribution linux debian. |