[Dernière mise à jour: 28/03/19]
Dans ce petit tutoriel, nous allons transformé notre Raspberry Pi en point d’accès Wifi, ceci dans le but de nous connecter dessus et d’accéder à internet en utilisant sa connexion filaire Ethernet ou pour pouvoir utiliser les applications qui y sont installés dessus comme par exemple notre Plex Media Server 🙂
Pour réaliser cela, il nous faut au préalable avoir installé, configuré et mis à jour Raspbian.
Au moment où j’écris ce tutoriel, la version de Raspbian est la 2018-11-13 Raspbian Stretch Lite Kernel version 4.14.
Connectez vous en SSH à votre Raspberry Pi, ensuite :
1. Installation des packages :
Exécutez la commande suivante : sudo apt-get install dnsmasq hostapd -y
Une fois dnsmasq installé, exécutez les commandes suivantes pour stopper les services non configurés :
sudo systemctl stop dnsmasq
sudo systemctl stop hostapd
Et redémarrez le avec la commande : sudo reboot now
2. Configuration de l’interface sans fil (wlan) :
Éditez le fichier « dhcpcd.conf » avec la commande : sudo nano /etc/dhcpcd.conf
A la fin de ce fichier ajoutez :
interface wlan0
static ip_address=192.168.4.1/24
static routers=192.168.4.1
static domain_name_servers=8.8.8.8
Tapez ctrl+o puis ENTER pour sauvegarder les changements, tapez ctrl+x pour quitter l’éditeur.
Redémarrez le service avec le commande suivante : sudo service dhcpcd restart
3. Configuration de HOSTAPD :
Éditez le fichier « hostapd.conf » avec la commande : sudo nano /etc/hostapd/hostapd.conf
Dans ce fichier ajoutez :
interface=wlan0
driver=nl80211
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=RPiAP
wpa_passphrase=mypassword
Vous pouvez changer la valeur des deux dernières lignes afin de mettre le ssid et le mot de passe de votre choix.
Tapez ctrl+o puis ENTER pour sauvegarder les changements, tapez ctrl+x pour quitter l’éditeur.
Entrez ensuite la commande suivante : sudo nano /etc/default/hostapd
Trouvez la ligne #DAEMON_CONF=""
et changez la en DAEMON_CONF="/etc/hostapd/hostapd.conf"
Tapez ctrl+o puis ENTER pour sauvegarder les changements, tapez ctrl+x pour quitter l’éditeur.
4. Configuration du DNSMASQ :
Éditez le fichier « dnsmasq.conf » avec la commande : sudo nano /etc/dnsmasq.conf
A le fin de ce très long fichier ajoutez le code ci-dessous.
Truc : Descendez en bas du ficher avec la touche « Page Down ».
interface=wlan0
domain-needed
bogus-priv
dhcp-range=192.168.4.8,192.168.4.250,12h
Tapez ctrl+o puis ENTER pour sauvegarder les changements, tapez ctrl+x pour quitter l’éditeur.
5. Configuration de l’IP Table (optionnelle – Personnellement pas tester) :
Cette opération est optionnelle, faite la seulement si vous souhaitez que les appareils connectés à votre Point d’accès puissent accéder à internet.
Entrez la commande : sudo nano /etc/sysctl.conf
Supprimez le # au début de la ligne containant net.ipv4.ip_forward=1
Configurez maintenant le NAT (Network address translation). Vous pouvez le faire en utilisant les commandes suivantes :
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Pour que cette configuration soit appliquée à chaque démarrage du Raspberry Pi, executez les commandes suivante :
Pour sauvegarder ces règles dans le fichier « iptables.ipv4.nat », entrez la commande suivante :sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Éditez le fichier « rc.local » avec la commande sudo nano /etc/rc.local
et juste avant le exit 0
ajoutez :
iptables-restore < /etc/iptables.ipv4.nat
Tapez ctrl+o puis ENTER pour sauvegarder les changements, tapez ctrl+x pour quitter l’éditeur.
6. Pour finir :
Voilà, tout est prêt, il ne vous reste plus qu’à activer les services avec les commandes suivantes:
sudo systemctl start hostapd
Si vous avez le message suivant : « Failed to start hostapd.service: Unit hostapd.service is masked. », exécutez les deux commandes suivants :
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
Ensuite à nouveau : sudo systemctl start hostapd
Suivie de : sudo systemctl start dnsmasq
Et pour finir, on va redémarrer le Raspberry Pi avec la commande : sudo reboot now
Une fois démarrer, connectez vous sur votre nouveau Wifi avec un appareil client.
Salut,
j’ai suivi à lettre les instructions mais je n’ai pas mon point d’accès au démarrage.
pourtant les services dnsmaq et hostapd sont bien executé et actif et le la ligne de conf DAEMON est correcte.
je dois l’activer en manuel avec : sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf.
pour palier le problème j’ai fait un script python qui lance cette commande au démarrage, ça fonctionne mais c’est pas optimal.
Quelqu’un a également eu ce soucis?
merci 🙂
Hello,
J’ai tout suivi mais ça ne fonctionne pas …
Effectivement, le point d’accès n’est pas disponible. J’ai tenté de taper la ligne proposer dans le commentaire précédent, ça affiche le réseau mais quand je rentre le password, ça m’annonce qu’il est mauvais.
Le terminal affiche :
pi@raspberry:~ $ sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo: impossible de déterminer le nom de l’hôte raspberry
Configuration file: /etc/hostapd/hostapd.conf
Failed to create interface mon.wlan0: -95 (Operation not supported)
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:01:95:2f and ssid « Plex-Server »
random: Cannot read from /dev/random: Resource temporarily unavailable
random: Only 0/20 bytes of strong random data available from /dev/random
random: Not enough entropy pool available for secure operations
WPA: Not enough entropy in random pool for secure operations – update keys later when the first station connects
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
Après avoir tenté de me connecter au réseau, il a tendance à disparaitre.
Ce tuto ne fonctionne donc pas. Impossible de faire la suite pour un serveur PLEX.
Bonjour Jérémy,
J’ai encore fait ce tuto ce weekend sur un Raspberry Pi 3, et je n’ai eu aucun souci. 🙂
Pouvez-vous me coller ici le contenu de votre fichier « hostapd.conf » et « hostapd » (les deux fichiers de l’étape 3 « configuration de HOSTAPD) tel qu’ils sont sur votre RaspberryPi svp? Donc avec les modifications que vous leur avez apportées.
En attendant, pour vous débloquer, je vous conseillerais de recommencer tout le tutu PLEX media Server de zéro en n’y apportant aucune modification personnelle afin de voir si ce que vous modifiez provoque votre souci.
Ne réalisez aucune étape optionnelle, copier et coller les bouts de code sans rien y changer hormis les choses obligatoires comme l’ID du disque dur.
Procédez comme suite :
Dans l’étape 1 :
1.1. Installer Raspbian sur le micro SD en y créant directement le fichier SSH;
1.2. Configurer Raspbian : ne réalisez aucune étape optionnelle, uniquement les étapes : 1 à 5 + reboot (sudo reboot now);
1.3. Mettez à jour Raspbian (sudo aptitude update -y && sudo aptitude upgrade -y && sudo reboot now);
1.4. Connectez-vous en SSH sur le PI;
1.5 N’optimisez pas les fichiers média maintenant, passez cette étape;
Étape 2 du tuto : Ne la faites pas maintenant, passez à l’étape 3.
Étape 3 du tuto : Configurez le Wifi en Acces Point. Réalisez les étapes 1 à 4, ne faites pas la 5, et finissez en faisant l’étape 6. Exécutez les commandes telles quelles, créez les fichiers et collez-leur les bouts de code sans rien y changer.
Une fois le PI rebooter, essayez de vous connecter en wifi dessus avec un smartphone par exemple, Utilisez le password Wifi du fichier « hostapd.conf » qui devrait être « mypassword » (sans les guillemets).
Une fois que le wifi est fait, continuer le tuto (Étape 4, 5,…) sans oublier de monter le périphérique de stockage (Étape 2).
J’attends impatiemment votre retour.
Amusez-vous bien.
Bonjour et merci pour ce tuto. L’ayant suivi à la lettre, il est complètement fonctionnel. C’est le premier tuto (parmi de nombreux autres) que je teste et qui fonctionne du premier coup, donc bravo !!! (PI3+ et PI3)
J’ai ensuite installé apache2, php, mysql et phpmyadmin pour finaliser un projet.
Je me permet de solliciter vos compétences. Ce tuto permet bien de se connecter en wifi, mon objectif est que la personne qui se connecte soit directement redirigée sur le serveur apache installé. Actuellement, le serveur est visible sur l’IP locale 192.168.0.xxx qui est sur eth0. Mon problème est que je ne sais pas comment rediriger la connexion wifi sur ce serveur . l’idéal serait que dés la connexion, la connexion se fasse directement sur le serveur web local.
Avec tous mes remerciements
Lama
Bonjour, heureux que ce tuto vous ait (partiellement) aidé, mais avec mes plus plates excuses, n’aillant pas d’expérience avec apache, je ne serais pas vous aider 🙁