:::: MENU ::::

Création d’un hotspot wifi sur votre RPI

Edmiax EW-7811UNDans ce tutoriel nous allons voir comment créer un hotspot wifi pour notre Raspberry Pi. Un hotspot wifi (ou point d’accès sans fil) peut être utile si l’on veut accéder à son Raspberry Pi à distance sans avoir de routeur wifi. Il peut aussi permettre de partager une connexion ethernet (néanmoins les règles de routages et de redirections ne seront pas traitées dans ce tutoriel).

Il nous faut évidemment dans un premier temps un dongle wifi. J’utilise le dongle Edimax EW-7811UN que vous pouvez trouve sur Amazon pour une dizaine d’euros. Au vu de la petite taille de l’antenne de cet équipement, il ne faudra pas vous attendre à une portée exceptionnelle.

Tout d’abord, il vous faudra installer les paquets hostapd et dnsmasq. Le premier vous permettra de créer le hotspot wifi à proprement parlé, quant au second il s’agit d’un petit serveur DNS intégrant également le service DHCP pour une attribution automatique des adresses IP.

sudo apt-get update
sudo apt-get install hostapd dnsmasq

Configuration de l’interface réseau

Il nous faut modifier le fichier de configuration des interfaces réseau :

sudo nano /etc/network/interfaces

Nous allons alors configurer un IP static sur notre interface wlan0 (l’interface concernée par le hotspot wifi), ainsi que la définir en mode master.

#allow-hotplug wlan0
#auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
wireless-mode master
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

J’ai mis en commentaire les lignes de configuration déjà présentes. Vous pouvez les supprimer ou les conserver, mais elles devront être commentées.

Configuration du hotspot wifi

Nous allons maintenant créer le fichier de configuration de hostapd.

sudo nano /etc/hostapd/hostapd.conf

Il sera composé de :

interface=wlan0
driver=rtl871xdrv
ssid=MonHotspot
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
wpa=2
wpa_passphrase=masuperclefwifi
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ignore_broadcast_ssid=0

Liste des paramètres intéressants à modifier :

  • interface : Interface de votre dongle wifi, identique à celle définie précédemment.
  • driver : Si vous utilisez un autre dongle wifi que le Edimax mettez la valeur nl80211, sinon mettez rtl871xdrv (on expliquera plus tard le problème concernant les drivers pour ce dongle wifi).
  • ssid  : Le nom de votre hotspot wifi (mettez des guillemets s’il y a un ou plusieurs espaces).
  • hw_mode : La norme wifi utilisée (a, b, g ou n), malgré le faite que le dongle soit compatible wifi n, je n’ai pas réussi à faire fonctionner le hotspot wifi avec cette norme. J’ai donc défini g dans mon cas.
  • channel : Le canal wifi utilisé. Les valeurs conseillées sont 1, 6 ou 11.
  • wpa_passphrase : La clé wifi (le mot de passe) de votre hotspot (mettez des guillemets si il y a un ou plusieurs espaces et un minimum 5 caractères).
  • ignore_broadcast_ssid : Permets de déterminer si le nom de votre réseau sera visible ou non (si la valeur est définie à 1 le nom sera caché).

Maintenant il faut spécifier à hostapd où ce trouve ce fichier de configuration en modifiant le fichier /etc/default/hostapd et en configurant le paramètre DAEMON_CONF.

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Malheureusement pour nous, comme évoqué plus haut, le driver par défaut de hostapd n’est pas compatible avec le dongle wifi Edimax EW-7811UN. Néanmoins nous allons utiliser un binaire alternatif afin de pouvoir créer notre hotspot wifi avec ce dongle.

cd /usr/bin
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
sudo wget http://code4pi.fr/wp-content/uploads/binaire/hostapd
sudo chown root:root hostapd
sudo chmod 755 hostapd

Cette opération permet donc de sauvegarder l’ancien binaire, de télécharger le nouveau et enfin de s’assurer qu’il possède les droits d’exécution.

Configuration de dnsmasq (serveur DHCP)

Nous allons maintenant configurer notre serveur DHCP. Pour cela il faut modifier le fichier de configuration de dnsmasq : 

sudo nano /etc/dnsmasq.conf

Rendez-vous à la fin du fichier afin d’ajouter ces lignes :

interface=wlan0
dhcp-range=192.168.1.2,192.168.1.254,255.255.255.0,12h

Vous pouvez, si vous le décidez, choisir une autre plage d’adresse IP. Néanmoins il pourra être nécessaire de modifier la configuration réseau de votre interface wifi. La dernière valeur déterminera la durée du bail de cette adresse IP. Pour faire simple si votre PC se reconnecte au hotspot dans un intervalle de 12h, il récupérera automatiquement l’adresse IP qui lui était précédemment attribuée.

Afin que les services puissent démarrer en même temps que le Raspberry Pi, vous devez saisir ces 2 commandes :

sudo update-rc.d dnsmasq enable
sudo update-rc.d hostapd enable

Nous sommes maintenant prêts à lancer notre hospot wifi avec ces 3 commandes (la 1ère permet d’éteindre l’interface wifi au cas ou cette dernière serait déjà configurée) :

sudo ifdown wlan0
sudo service dnsmasq restart
sudo service hostapd start

Et voilà, un nouveau réseau wifi devrait être visible (selon la configuration choisie bien sûr). Grâce à dnsmasq, vous pouvez accéder à vos différents appareils connectés au hotspot wifi depuis leur nom de machine au lieu d’utiliser leur adresse IP, car ce dernier fait office de serveur dns en plus de son rôle de serveur dhcp.

A propos de l'auteur :

C’est l’histoire d’un développeur pleine pile un peu touche à tout, qui découvre l'infrastructure et le nuage. Son plat préféré, c’est le hachi-corp sauce K8S. Détestant faire deux fois la même chose, féru d’automatisation, il s’est dévoué à la cause de l’infrastructure comme code, de la containérisation et du déploiement continu. Blogueur sur un site de Framboise, il a eu le malheur d’acheter une imprimante 3D, et cherche encore à comprendre pourquoi il est un fan ardu de Formule 1.


9 Comments

  • Répondre David |

    Salut Benoit,

    Remplacer:
    sudo apt-get install hostadp dnsmasq
    Par:
    sudo apt-get install hostapd dnsmasq

    (Erreur sur le nom hostapd …)

    Je continue l’installation ! A+

    David.

  • Répondre Det0xx |

    Bonsoir,
    J’ai un « Segmentation fault » quand je veux exécuter l’hostapd téléchargé sur code4pi.
    Sinon excellent tuto !

  • Répondre Simedon |

    Bonjour,j ai installé volumio sur raspberry pi 3.et il possible de se connecter au raspberry via un smartphone avec mpdroid sans connection internet? Je pense a une connection wifi ou bluethoot directement d appareil a appareil.
    Merci de votre aide.

    • Répondre Benoit |

      Je ne sais pas comment Volumio fonctionne, mais il doit pouvoir être utilisé avec un réseau local. Pour cela, il est nécessaire de créer un Hotspot comme indiqué au sein de ce tutoriel et de s’y connecter directement avec votre téléphone Android.

  • Répondre sebastien |

    bonjour, j’ai suivi le tuto, mais je n’ai pas de nouveau réseau wifi qui apparaît. la ligne « ignore ssid » est bien a 0.
    pourriez-vous m’aider?
    merci

Laissez un commentaire