Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
coovachilli [Le 30/04/2017, 21:10] – [Pré-requis] raphaeldu68coovachilli [Le 09/06/2024, 21:19] (Version actuelle) – [Voir aussi] MAJ du site officiel spnux
Ligne 56: Ligne 56:
 ==== Configuration du réseau : ==== ==== Configuration du réseau : ====
  
-  - [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/network/interfaces** pour y ajouter les lignes suivantes :<file>+  - [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/network/interfaces** pour y ajouter ou modifiez les lignes suivantes :<file> 
 + 
 +# L'interface réseau de loopback
 auto lo auto lo
 iface lo inet loopback iface lo inet loopback
  
 +# L'interface réseau principale en provenance du routeur
 auto eth0 auto eth0
-iface eth0 inet dhcp  +iface eth0 inet dhcp
  
-auto eth1</file>On indique ici que : +# L'interface réseau secondaire destinée aux clients 
 +auto eth1</file> 
 + 
 +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 :
     * 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|Modifiez 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> 
-net.ip4.ip_forward=1</file> FIXME sur Lubuntu 14.04 : <file>net.ipv4.ip_forward=1</file> +# Uncomment the next line to enable packet forwarding for IPv4 
-  - Relancez ensuite les interfaces réseaux :<code>sudo /etc/init.d/networking restart</code> +net.ipv4.ip_forward=1</file> 
- +  - 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 ====
Ligne 76: Ligne 84:
  [[: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]]**
  
-====  Installation de la base de donnée MySQL ====+Ou en ligne de commande : 
 +<code> sudo apt-get install freeradius freeradius-mysql -y</code> 
 +====  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
Ligne 95: Ligne 105:
 client localhost { client localhost {
     ipaddr = 127.0.0.1     ipaddr = 127.0.0.1
-    secret = votre_secret_radius+    [# explication commentée 
 +     #sur plusieurs lignes 
 +     #...] 
 +    secret = votre_secret_radius  
 +     #par defaut : testing123 
 } }
-</file>+</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===
Ligne 105: Ligne 119:
  
 Éditez le fichier **/etc/freeradius/users** pour décommenter les lignes suivantes : Éditez le fichier **/etc/freeradius/users** pour décommenter les lignes suivantes :
-<code+<file> 
-"John Doe"     Auth-Type := Local, User-Password == "hello" +# This is an entry for a user with a space in their name. 
-               Reply-Message = "Hello, %{User-Name}" +# Note the double quotes surrounding the name. 
-</code>puis redémarrez votre système.+# 
 +"John Doe"      Cleartext-Password := "hello" 
 +                Reply-Message = "Hello, %{User-Name}" 
 + 
 +</file>puis redémarrez votre système. 
 +<code>sudo shutdown -r now</code>
  
 ===Vérifier les fichiers de configuration FreeRadius=== ===Vérifier les fichiers de configuration FreeRadius===
Ligne 115: Ligne 134:
 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>
Ligne 133: Ligne 152:
  
 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> 
 +[...] 
 +#       unix 
 + 
 +        # 
 +        #  Read the 'users' file 
 +#       files 
 + 
 +        # 
 +        #  Look in an SQL database.  The schema of the database 
 +        #  is meant to mirror the "users" file. 
 +        # 
 +        #  See "Authorization Queries" in sql.conf 
 +        sql 
 + 
 +        # 
 +        #  If you are using /etc/smbpasswd, and are also doing 
 +        #  mschap authentication, the un-comment this line, and 
 +        #  configure the 'smbpasswd' module. 
 +#       smbpasswd 
 +[...] 
 +</file>
  
 <note important>Vous ne pouvez utiliser qu'une seule méthode d'autorisation à un moment, pas les deux. Par conséquent,la fonction **Fichier** a besoin d'être commentée. <note important>Vous ne pouvez utiliser qu'une seule méthode d'autorisation à un moment, pas les deux. Par conséquent,la fonction **Fichier** a besoin d'être commentée.
Ligne 180: Ligne 222:
  Auth-Type eap {  Auth-Type eap {
  eap {  eap {
- handled = 1  + handled = 1
  }  }
  }  }
Ligne 206: Ligne 248:
   - 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:====
Ligne 217: Ligne 259:
 Coovachilli utilise "chillispot" comme nom d'utilisateur et "chillispot" comme mot de passe pour se connecter au radius par défaut. Ajoutez également cet utilisateur dans la table //radcheck//. Coovachilli utilise "chillispot" comme nom d'utilisateur et "chillispot" comme mot de passe pour se connecter au radius par défaut. Ajoutez également cet utilisateur dans la table //radcheck//.
  
-Il faut le définir dans le fichier **/etc/chilli/config**+Il faut le définir dans le fichier **/etc/chilli/config** FIXME Il n'existe pas de répertoire /chilli dans /etc sur Ubuntu 16.04.2 LTS
 <code> <code>
 HS_ADMUSR=chillispot HS_ADMUSR=chillispot
Ligne 244: Ligne 286:
 === 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
Ligne 268: Ligne 310:
 **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 versionVersion 1.4 au 15 déc 2016</note> 
-Téléchargez puis [[:tutoriel:comment_installer_un_paquet|installez le paquet]] .deb depuis le [[http://www.coova.org/CoovaChilli/Binaries|site officiel Coovachilli]].\\ +Dans un [[:terminal]] saisissez les [[:commande_shell|commandes]] suivantes
-Par exemple pour la version 1.2.6 de CoovaChilli dans un [[:terminal]] saisissez les [[:commande_shell|commandes]] suivantes:+Installationdes prérequis :
 <code> <code>
-wget http://ap.coova.org/chilli/coova-chilli_1.2.6_i386.deb +sudo apt-get install -y g++ automake autoconf libtool libltdl-dev gengetopt make cmake libssl-dev git 
-sudo dpkg -i coova-chilli_1.2.6_i386.deb+</code> 
 +Clone du git 
 +<code> 
 +cd /tmp 
 +git clone https://github.com/coova/coova-chilli/ 
 +cd coova-chilli/ 
 +</code> 
 +Changement de branche pour acceder à la v 1.4 
 +<code> 
 +git checkout -b 1.
 +git branch 
 +</code> 
 +Premier script 
 +<code> 
 +./bootstrap 
 +</code> 
 +Deuxième script : configuration pour la compilation avec options (à rentrer ligne par ligne) 
 +<code> 
 +./configure  --prefix=/usr --mandir=\$${prefix}/share/man \ 
 +--infodir=\$${prefix}/share/info \ 
 +--sysconfdir=/etc --localstatedir=/var --enable-largelimits \ 
 +--enable-binstatusfile --enable-statusfile --enable-chilliproxy \ 
 +--enable-chilliradsec --enable-chilliredir --with-openssl --with-curl \ 
 +--with-poll --enable-dhcpopt --enable-sessgarden --enable-dnslog \ 
 +--enable-ipwhitelist --enable-redirdnsreq --enable-miniconfig \ 
 +--enable-libjson --enable-layer3 --enable-proxyvsa --enable-miniportal \ 
 +--enable-chilliscript --enable-eapol --enable-uamdomainfile \ 
 +--enable-modules --enable-multiroute 
 +</code> 
 +Installation 
 +<code> 
 +make && make install
 </code> </code>
  
 <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 ====
  
Ligne 294: Ligne 378:
 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
Ligne 315: Ligne 400:
 <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 :
Ligne 341: Ligne 458:
 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>
  
Ligne 373: Ligne 490:
 | 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 ====
Ligne 408: Ligne 525:
 ===== 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
Ligne 430: Ligne 549:
 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]]
Ligne 457: Ligne 576:
  
 ===== 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.