August 14, 2026
Créer un Point d’Accès Wi-Fi WPA2 Professionnel avec dnsmasq, hostapd, iptables, PMF et PMFC
Créer un point d’accès Wi-Fi fiable et sécurisé sous Linux est une compétence essentielle pour tout administrateur système. Que ce soit…

By ATTE-THM
3 min read
Créer un point d'accès Wi-Fi fiable et sécurisé sous Linux est une compétence essentielle pour tout administrateur système. Que ce soit pour un laboratoire de test, un réseau IoT isolé, ou un partage de connexion robuste, la combinaison de hostapd, dnsmasq et iptables offre un contrôle total et une performance inégalée. Pour élever ce point d'accès à un niveau professionnel, l'intégration de Protected Management Frames (PMF) est indispensable pour se prémunir contre les attaques sur les trames de gestion (déauthentification, désassociation). Ce guide vous accompagnera pas à pas dans la mise en place d'une solution complète.
Prérequis et Installation
Avant de commencer, assurez-vous que votre système répond aux exigences suivantes :
- Carte Wi-Fi compatible AP : Votre adaptateur Wi-Fi doit supporter le mode "AP" (Access Point). Vous pouvez le vérifier avec la commande :
sudo iw list | grep -A 10 "Supported interface modes"sudo iw list | grep -A 10 "Supported interface modes"Recherchez la mention AP dans la liste
- Paquets nécessaires :
sudo apt update
sudo apt install hostapd dnsmasq iptables rfkill net-tools -ysudo apt update
sudo apt install hostapd dnsmasq iptables rfkill net-tools -y- Privilèges root : Toutes les commandes doivent être exécutées en tant que
root(avecsudo).
Architecture du Réseau
L'architecture est simple et efficace :
- Interface Internet (ex:
eth0) : Fournit l'accès à Internet. - Interface Wi-Fi (ex:
wlan0) : Sert de point d'accès. hostapd: Gère la couche Wi-Fi (authentification, association).dnsmasq: Fournit les services DHCP (attribution d'IP) et DNS.iptables: Assure le routage (NAT) et la sécurité du trafic.
Étape 1 : Configuration de l'Interface Wi-Fi
Désactivez tout service (comme NetworkManager) qui pourrait interférer avec votre interface Wi-Fi, puis attribuez-lui une adresse IP statique qui servira de passerelle pour vos clients.
sudo ip link set wlan0 down
sudo ip addr flush dev wlan0
sudo ip addr add 10.0.0.1/24 dev wlan0
sudo ip link set wlan0 upsudo ip link set wlan0 down
sudo ip addr flush dev wlan0
sudo ip addr add 10.0.0.1/24 dev wlan0
sudo ip link set wlan0 upci, 10.0.0.1 sera l'adresse IP de votre point d'accès.
Étape 2 : Configuration du Serveur DHCP et DNS (dnsmasq)
dnsmasq est un serveur léger qui va attribuer des adresses IP aux clients et résoudre leurs requêtes DNS. Créez un fichier de configuration dédié.
sudo nano /etc/dnsmasq.d/ap.confsudo nano /etc/dnsmasq.d/ap.confAjoutez les lignes suivantes :
interface=wlan0
dhcp-range=10.0.0.10,10.0.0.250,12h
dhcp-option=3,10.0.0.1
dhcp-option=6,10.0.0.1
log-queries
log-facility=/var/log/dnsmasq.loginterface=wlan0
dhcp-range=10.0.0.10,10.0.0.250,12h
dhcp-option=3,10.0.0.1
dhcp-option=6,10.0.0.1
log-queries
log-facility=/var/log/dnsmasq.logLe serveur DHCP attribuera des IP de 10.0.0.10 à 10.0.0.250, avec la passerelle et le DNS pointant vers 10.0.0.1.
Étape 3 : Configuration du Point d'Accès Wi-Fi (hostapd)
hostapd est le cœur de votre point d'accès. Il va créer le réseau Wi-Fi, gérer les connexions WPA2 et, surtout, configurer la sécurité avancée.
Configuration de Base WPA2
Créez le fichier de configuration principal :
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=MonReseauPro
hw_mode=g
channel=6
wpa=2
wpa_passphrase=VotreMotDePasseFort
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMPsudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=MonReseauPro
hw_mode=g
channel=6
wpa=2
wpa_passphrase=VotreMotDePasseFort
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMPParamètres clés :
wpa=2: Force l'utilisation de WPA2 (RSN).rsn_pairwise=CCMP: Utilise le chiffrement AES, plus sécurisé que TKIP.
Intégration de PMF (Protected Management Frames) — La Sécurité Pro
La spécification PMF (802.11w) protège les trames de gestion. Pour une sécurité maximale, vous devez l'exiger.
Pour activer PMF sur votre point d'accès, il faut compiler hostapd avec le support et le configurer
. La compilation est souvent déjà prise en charge dans les versions récentes.
- Vérifier la compilation :
hostapd -v | grep IEEE80211whostapd -v | grep IEEE80211wSi vous ne voyez pas IEEE80211w, vous devrez peut-être recompiler hostapd avec CONFIG_IEEE80211W=y.
Configurer PMF : Ajoutez ces lignes à /etc/hostapd/hostapd.conf
ieee80211w=2
wpa_key_mgmt=WPA-PSK-SHA256
group_mgmt_cipher=AES-128-CMACieee80211w=2
wpa_key_mgmt=WPA-PSK-SHA256
group_mgmt_cipher=AES-128-CMACieee80211w=2 : Exige que tous les clients supportent PMF. ieee80211w=1 le rendrait optionnel.
wpa_key_mgmt=WPA-PSK-SHA256 : Utilise la méthode de gestion de clés plus robuste SAE (Simultaneous Authentication of Equals) nécessaire pour PMF.
group_mgmt_cipher=AES-128-CMAC: Spécifie le chiffrement des trames de gestion.
Remarque sur PMFC : En définissant ieee80211w=2, votre point d'accès devient PMF Capable (PMFC) et, en réalité, l'exige. Cela répond pleinement à la configuration d'un point d'accès avec PMF.
Étape 4 : Routage et NAT avec iptables
Pour permettre aux clients Wi-Fi d'accéder à Internet via votre interface eth0, vous devez activer le forwarding IP et mettre en place un NAT (Masquerade).
# Activer le forwarding IP
sudo sysctl -w net.ipv4.ip_forward=1
# Configurer le NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Autoriser le forwarding
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# Activer le forwarding IP
sudo sysctl -w net.ipv4.ip_forward=1
# Configurer le NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Autoriser le forwarding
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Étape 5 : Démarrage et Test des Services
- Démarrage manuel (pour le test) :
sudo systemctl unmask hostapd
sudo systemctl start hostapd
sudo systemctl start dnsmasqsudo systemctl unmask hostapd
sudo systemctl start hostapd
sudo systemctl start dnsmasqActivation au démarrage :
sudo systemctl enable hostapd
sudo systemctl enable dnsmasqsudo systemctl enable hostapd
sudo systemctl enable dnsmasq- Vérification :
- Depuis un client Wi-Fi, recherchez le SSID
MonReseauProet connectez-vous. - Vérifiez que vous recevez une IP de la plage
10.0.0.10-250. - Testez la connectivité Internet.
Optimisation et Gestion de la Sécurité
- Sauvegarde des règles iptables : Pour que les règles survivent à un redémarrage :
sudo apt install iptables-persistent
sudo netfilter-persistent savesudo apt install iptables-persistent
sudo netfilter-persistent saveSurveillance des logs :
- Le fichier
/var/log/dnsmasq.logvous donne des informations sur les requêtes DNS et les attributions DHCP. - La commande
cat /var/lib/misc/dnsmasq.leasesaffiche les baux DHCP actifs. - Protection de l'interface : Vous pouvez renforcer votre configuration avec des règles
iptablessupplémentaires pour filtrer le trafic entrant sur l'interfacewlan0.
Conclusion
Vous avez désormais un point d'accès Wi-Fi WPA2 entièrement fonctionnel, sécurisé par les dernières normes grâce à l'implémentation de Protected Management Frames (PMF). Cette configuration offre une flexibilité et un contrôle incomparables, idéale pour un usage professionnel ou pour des projets avancés. N'hésitez pas à adapter les paramètres comme les plages DHCP ou le canal Wi-Fi à vos besoins spécifiques. Pour aller plus loin, vous pourriez automatiser ce processus avec un script bash intégrant les commandes de ce guide.