Linux Réseaux
Raspbian
Installation d'un point d'accès wifi




Pour : Linux/Raspbian


Nous allons voir ici comment transformer votre Raspberry Pi en point d'accès wifi.

Dans ce tutoriel, la prise ethernet du Raspberry Pi sera branché sur un réseau en 192.168.1.0 .
Et on utilisera la puce wifi intégré au Rasberry Pi pour créer le point d'accès, les client du wifi seront sur un réseau en 10.1.1.0.


Sommaire
1- Installation de dnsmasq hostapd
2- Configurer des adresses IP fixe (dhcpcd)
3- Configurer le point d'accès wifi (hostapd)
4- Chargement de la configuration (hostapd)
5- Configuration du DHCP et DNS pour wlan0 (DNSMASQ)
6- Activer le routage de paquets IP
7- Configuration du pare-feu Iptables
8- Démarrage des services
9- Vérifier les tentatives de connexion



1- Installation de dnsmasq hostapd

dnsmasq est un petit serveur DNS et DHCP.
hostapd permet de créer le point d'accès Wi-Fi.

sudo apt-get install dnsmasq hostapd




2- Configurer des adresses IP fixe (dhcpcd)

Sous Raspbian la configuration IP se fait sous l'application dhcpcd.
On fait une sauvegarde du fichier de paramètrage de dhcpcd:

sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.bak


Nous allons donc modifier le fichier /etc/dhcpcd.conf:

sudo nano /etc/dhcpcd.conf


Voici la configuration des IP fixe pour notre reseau ethernet eth0 et pour le wifi wlan0.

interface eth0 static ip_address=192.168.1.15/24 static routers=192.168.1.254 static domain_name_servers=192.168.1.254 interface wlan0 static ip_address=10.1.1.15/24




3- Configurer le point d'accès wifi (hostapd)

L'application hostapd permet de configurer le point d'accès wifi, voici notre fichier de configuration.
On fait une sauvegarde du fichier de paramètrage de hostapd:

sudo cp -R /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.bak


Nous allons donc modifier le fichier /etc/hostapd/hostapd.conf:

sudo nano /etc/hostapd/hostapd.conf


Voici notre fichier de configuration:

# This is the name of the WiFi interface we configured above interface=wlan0 # Use the nl80211 driver with the brcmfmac driver driver=nl80211 # This is the name of the network ssid=nom_du_reseau_wifi # Use the 2.4GHz band hw_mode=g # Use channel 6 channel=6 # Enable 802.11n ieee80211n=1 # Enable WMM wmm_enabled=1 # Enable 40MHz channels with 20ns guard interval ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] # Accept all MAC addresses macaddr_acl=0 # Use WPA authentication auth_algs=1 # Require clients to know the network name ignore_broadcast_ssid=0 # Use WPA2 wpa=2 # Use a pre-shared key wpa_key_mgmt=WPA-PSK # The network passphrase wpa_passphrase=Votre-mot-de-passe-wifi-ici # Use AES, instead of TKIP rsn_pairwise=CCMP




4- Chargement de la configuration (hostapd)

Nous allons paramètrer hostapd pour que il utilise notre fichier de configuration au démarrage du service.

sudo nano /etc/default/hostapd


Remplacer la ligne:

#DAEMON_CONF=""


Par la ligne suivant:

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




5- Configuration du DHCP et DNS pour wlan0 (DNSMASQ)

On va utiliser DNSMASQ pour fournir une adresse IP aux clients de notre point d'accès wifi et pour servir de cache DNS.

On commence par faire une sauvegarde du long fichier de configuration dnsmasq.conf.

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak


Et on va en créer un nouveau pour inserer notre petite configuration.

sudo nano /etc/dnsmasq.conf


Voici le contenu de notre fichier "/etc/dnsmasq.conf":
Pour simplifier le tutoriel, seul les 2 premières ligne sont utilisées.
Dans notre exemple on va fournir un adresse pour 11 clients wifi et ils auront une adresse IP de 10.1.1.30 à 10.1.1.40.

interface=wlan0 # Interface qui gère les requettes DHCP dhcp-range=10.1.1.30,10.1.1.40,255.255.255.0,12h # Pour fournir la plage d'adressage IP, le masque et la durée du bail. # bogus-priv # Ne retourne pas toutes les requêtes DNS inverses pour des adresses IP Privées qui ne sont pas dans le fichier hosts ou dans le baux DHCP. # listen-address=127.0.0.1,192.168.1.254 # Spécifier l'adresse IP de l'interface à écouter # bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere # server=8.8.8.8 # Pour transmetre des données à un domaine particulier # domain-needed # Ne transmet pas les requêtes ne contenant pas un nom de domaine complet. # cache-size=256 # Taille du cache des dernières requêtes et de leurs réponses (0=Désactive le cache) # log-dhcp # Log sur les transactions dhcp # log-queries # Log sur les résultats des requettes dns # log-facility=/var/log/dnsmasq.log #Log complet # dhcp-host=aa:bb:cc:dd:ee:ff,nom-machine,IP # Permet de réserver une adresse IP fixe à un ordinateur à l’aide son adresse MAC. # port=5353


Pour tester la syntax du fichier de configuration:

dnsmasq --test




6- Activer le routage de paquets IP

On doit activer le routage des paquets IP pour faire transiter les données entre les deux interfaces (eth0 et wlan0).
Editez le fichier "/etc/sysctl.conf":

sudo nano /etc/sysctl.conf



Puis retirez le # devant la ligne:

net.ipv4.ip_forward=1





7- Configuration du pare-feu Iptables

Exécutez les 3 rêgles suivante du pare-feu Iptables:

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 sudo modprobe ipt_MASQUERADE sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


On vérifie que les rêgles ont bien été pris en compte:

sudo iptables -L -n -v


Et pour vérifier que la rêgle pour le NAT à bien été prit en compte:

sudo iptables -L -t nat


Sauvegarde des rêgles dans un fichier:

sudo iptables-save > /etc/iptables.save.txt


Puis on va éditer le fichier "rc.local" pour que les rêgles iptables soient appliqués au démarrage:

sudo nano /etc/rc.local


Puis ajouter avant la ligne "exit 0":

sh -c "iptables-restore < /etc/iptables.save.txt"




8- Démarrage des services

On démarre les 3 services nécessaire:

sudo service hostapd start sudo service dnsmasq start sudo service dhcpcd start


Votre point d'accès wifi est maintenant opérationnel, vous pouvez vous connecter dessus.
Si vous rencontrez un problème de connexion, redémarrez votre Rapsberry Pi:

reboot




9- Vérifier les tentatives de connexion

Pour vérifier que le point d'accès wifi est bien démarré et pour afficher les dernières connexions:

service hostapd status


Et pour vérifier les tentatives de connexions en direct des appareils sur le PA:

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf




Par O.Cédric
Sur www.octetmalin.net

Article publié le:
24/03/2018 16:02





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.