Dans ce guide pratique, je vais vous expliquer comment transformer facilement un Raspberry Pi 4 en un véritable point d’accès Wi-Fi sous Kali Linux.
- Cette configuration peut être très utile dans de nombreux scénarios :
- Créer un réseau Wi-Fi temporaire pour partager une connexion Internet
- Isoler un réseau pour des tests ou des démonstrations
- Monter un laboratoire de cybersécurité pour pratiquer le MITM ou le déploiement de Captive Portals
- Offrir un réseau privé dans un endroit sans routeur
Dans mon cas, j’ai utilisé un Raspberry Pi 4 avec Kali Linux 64-bit (release 2024-12-03).
Matériel requis :
Raspberry Pi 4 avec Kali Linux
J’utilise dans ce guide Kali Linux Rolling 2025.1 (64-bit ARM – aarch64).
Cette version est idéale car elle apporte le support complet de l’architecture 64 bits du Raspberry Pi 4, avec les dernières mises à jour et une excellente compatibilité.
👉 Note : Si vous utilisez une autre version de Kali (par exemple 32-bit ou plus ancienne), la configuration sera très similaire, mais certaines commandes ou services peuvent légèrement varier.
Interface Wi-Fi intégrée (généralement détectée sous le nom wlan0)
Elle sera utilisée pour diffuser le réseau Wi-Fi.
Connexion Internet via Ethernet (eth0)
Cela peut être une connexion filaire classique ou un partage via USB tethering.
Étape 1 : Préparation et installation des paquets nécessaires
Pour simplifier les manipulations, je me suis connecté au Raspberry Pi par SSH.
Mettez à jour le système et installez les paquets nécessaires :
sudo apt update sudo apt install hostapd dnsmasq iptables-persistent
Étape 2 : Configuration de l’accès Wi-Fi avec hostapd
Vérifiez le nom de votre interface Wi-Fi
ip a
ou
nmcli device
En général, c’est wlan0.
Créez le fichier de configuration
sudo nano /etc/hostapd/hostapd.conf
Réseau ouvert (sans mot de passe) :
interface=wlan0 driver=nl80211 ssid=FreeWiFi hw_mode=g channel=6 macaddr_acl=0 ignore_broadcast_ssid=0 auth_algs=1
Réseau sécurisé WPA2 (je recommande cette option) :
interface=wlan0 driver=nl80211 ssid=FreeWiFi hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=Pass123! wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP
Note : changez la passphrase par une plus robuste pour un vrai déploiement.
Étape 3 : Lier la configuration à hostapd
Éditez le fichier suivant :
sudo nano /etc/default/hostapd
Ajoutez ou modifier cette ligne:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Étape 4 : Configurer le DHCP avec dnsmasq
Sauvegardez l’ancien fichier
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
Créer un nouveau fichier :
sudo nano /etc/dnsmasq.conf
Ajoutez :
interface=wlan0 dhcp-range=10.0.0.10,10.0.0.100,12h dhcp-option=3,10.0.0.1 dhcp-option=6,10.0.0.1
Étape 5 : Attribuer une IP fixe à wlan0
Créez un fichier pour configurer l’adresse statique :
sudo nano /etc/network/interfaces.d/wlan0
Ajoutez :
auto wlan0 iface wlan0 inet static address 10.0.0.1 netmask 255.255.255.0
Activez l’interface :
sudo ip link set wlan0 up
Étape 6 : Activer le partage Internet (NAT)
Ajoutez les règles suivantes :
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Puis sauvegardez les règles :
sudo netfilter-persistent save sudo systemctl enable netfilter-persistent
Étape 7 — Activer le routage IP
Vous pouvez configurer le routage IP de deux manières.
Option 1 (fichier)
Créer un fichier /etc/sysctl.d/99-ip_forward.conf :
Et ajouter:
net.ipv4.ip_forward=1
Option 2, rapide avec echo :
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-ip_forward.conf
Appliquer immédiatement :
sudo sysctl --system
Vérifier que c’est activé :
cat /proc/sys/net/ipv4/ip_forward
La sortie doit être : 1
Étape 8 : Activer les services au démarrage
sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl enable dnsmasq
Étape 9 : Vérification
J’ai créé un petit script pour vérifier, disponible sur sur mon Gitlab
En l’exécutant, vous verrez si tout fonctionne correctement :
sudo ./ap-check.sh
Commandes utiles
Démarrer manuellement les services :
sudo systemctl start hostapd sudo systemctl start dnsmasq
Arrêter les services :
sudo systemctl stop hostapd sudo systemctl stop dnsmasq
Redémarrer après modifications :
sudo systemctl restart hostapd sudo systemctl restart dnsmasq
Avec cette configuration, votre Raspberry Pi est désormais un point d’accès Wi-Fi avec :
Un réseau nommé FreeWiFi
Une attribution d’adresses IP automatique dans la plage 10.0.0.10 à 10.0.0.100
Une passerelle/DNS locale 10.0.0.1
Un accès à Internet via eth0
Une configuration qui redémarre automatiquement avec le système
Bonne chance!