Avec son faible encombrement et sa faible consommation, le Raspberry Pi est la machine parfaite dans une utilisation serveur. Nous allons donc le configurer en point d’accès wifi sécurisé (ce tuto fonctionne également sur autre chose qu’un Raspi 😉 )
A l’aide de sa carte WiFi, il créera un point d’accès sécurisé permettant de nous y connecter avec un ordinateur, un smartphone ou n’importe quoi d’autre (comme un mac :p ).
Sa seconde carte réseau (WiFi ou cable) permettra à notre Raspberry de se connecter à un réseau existant pour profiter de sa connexion.
Nous aurons besoin de plusieurs composants :
– un Raspberry Pi
– une ou 2 cartes WiFi : une pour le point d’accès, la seconde optionnelle pour connecter le Pi à un réseau
Dans ce tutoriel, j’utilise 2 cartes wifi (identiques, par simplicité) :
– wlan0 : se connecte à un réseau wifi à proximité
– wlan1 : héberge le point d’accès wifi
Si vous n’utilisez qu’une seule carte wifi et la carte ethernet, alors remplacez simplement wlan0 par eth0, et wlan1 par wlan0, dans tous les scripts et les fichiers de configuration de ce tutoriel.
Au niveau logiciel :
– hostapd : c’est lui qui va nous servir à créer un réseau wifi avec toutes les sécurités nécessaires sur l’interface wifi wlan1
– dnsmasq : il permettra à notre raspberry de jouer le rôle de serveur DHCP, pour attribuer des adresses IP automatiquement aux périphériques autorisés à se connecter au point d’accès
– iptables : iptables sert à créer des rêgles de routage. C’est grâce à ces rêgles que nous pourrons rediriger la connexion d’une interface réseau vers une autre.
Une fois les cartes wifi branchées et le Pi démarré, nous pouvons commencer :
sudo apt-get update sudo apt-get install hostapd iptables dnsmasq
- hostapd
Si vous avez une carte wifi basée sur un chipset Realtek RTL8188CUS (il y a de grandes chances que ce soit le cas), vous aurez besoin d’une mise à jour du driver wifi et une version spéciale de hostapd.
Pour connaitre votre chipset de carte wifi :
lsusb
si comme dans mon cas vous voyez RTL8188CUS dans une des lignes, alors suivez la procédure suivante pour installer le driver et compiler/installer le patch d’hostapd. Dans le cas contraire, vous pouvaez passer directement à la configuration de hostapd
cd /tmp sudo wget http://fichiers.touslesdrivers.com/39144/RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip sudo unzip RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip cd RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911 cd wpa_supplicant_hostapd sudo tar -xvf wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz cd wpa_supplicant_hostapd-0.8_rtw_r7475.20130812 cd hostapd sudo make
… pause café …
sudo make install sudo mv hostapd /usr/sbin/hostapd sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapd
Si la commande wget de départ ne fonctionne pas, vous pouvez télécharger le pilote manellement sur le site de Realtek et continuer la procédure avec le unzip.
Nous allons maintenant configurer hostapd :
sudo nano /etc/hostapd/hostapd.conf
Copiez la configuration suivante, en remplaçant les valeurs MON_SSID et MON_PASSWORD par le nom de réseau wifi et le mot de passe que vous désirez :
ctrl_interface=/var/run/hostapd driver=rtl871xdrv ieee80211n=1 ctrl_interface_group=0 beacon_int=100 interface=wlan1 ssid=MON_SSID hw_mode=g channel=6 auth_algs=1 wmm_enabled=1 eap_reauth_period=360000000 macaddr_acl=0 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=MON_PASSWORD wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
- dnsmasq
sudo nano /etc/dnsmasq.conf
interface=wlan1 dhcp-range=192.168.200.100,192.168.200.200,255.255.255.0,12h
Nos clients wifi se connectant sur l’interface wlan1 se verront attribuer une IP entre 192.168.200.100 et 192.168.200.200, avec un masque de sous-réseau 255.255.255.0, et un bail de 12 heures
- IPtables
Activons le port forwarding :
sudo nano /etc/sysctl.conf
ajouter :
net.ipv4.ip_forward=1
On redirige la connexion venant de wlan0 vers wlan1 :
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
- Configuration réseau
Il nous reste à configurer nos interfaces réseau :
sudo nano /etc/network/interfaces
allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B w -D wext -i wlan0 -c /etc/wpa.conf post-down killall -q wpa_supplicant allow-hotplug wlan1 iface wlan1 inet static address 192.168.200.1 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 up iptables-restore < /etc/iptables.ipv4.nat
Pensez à attribuer une adresse dans le même sous-réseau que vous avez configuré la plage d’attribution DHCP, dans le chapitre dnsmasq.
Il ne reste plus qu’à rebooter, et lancer le tout :
sudo service dnsmasq start sudo service hostapd start
Si vous pouvez vous connecter au point d’accès du Raspberry Pi depuis un autre ordinateur, alors c’est gagné !
Si vous le désirez, vous pouvez lancer le pont d’accès comme daemon au démarrage du système :
sudo nano /etc/default/hostapd
Remplacez la ligne #DAEMON_CONF= » » par DAEMON_CONF= »/etc/hostapd/hostapd.conf »
17 réflexions au sujet de « Raspberry Pi : Créer un point d’accès WiFi »