Introduction
Cet article résume comment installer un d'accès WIFI sur une Raspberry Pi 3 Model B.
Il faudra installer puis configurer deux packets supplémetaires.
hostapd
hostapd sera le service en charge de la création du point d'accès WIFI.dnsmasq
dnsmasq est un serveur léger pour fournir les services DNS, DHCP, Bootstrap Protocol et TFTP sur un petit réseau. Il sera utilisé dans notre cas pour la affecter des adresses IP dynamiques aux clients qui vont se connecter sur le point d'accès WIFI, par l'intermédiaire du service hostapd.Configuration DHCP
DHCP est désormais pris en charge par un nouveau paquet appelé dhcpcd. Dans ce cas, le fichier de configuration des interfaces réseaux /etc/network/interfaces ne comprend plus la ligne d'instruction iface eth0 inet dhcp. Celle-ci est remplacée par la ligne d'instruction iface eth0 inet manual.
/etc/network/interfaces
Pour définir une adresse IP statique, le fichier /etc/network/interfaces reste désormais inchangé. Il faudra ajouter les instructions suivantes à la fin du fichier /etc/dhcpcd.conf# Static IP configuration for eth0.
interface eth0
static ip_address=192.168.1.xxx/24
static routers=192.168.1.1
# Dynamic IP configuration for wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
/etc/dhcpd.conf
Lorsque la carte réseau possède une adresse IP définie de manière statique, la résolution de noms (DNS) ne se fait plus et le fichier de configuration /etc/resolv.conf est vide ! Dans ce cas, il sera nécessaire d'ajouter les entrées de DNS dans le fichier de configuration /etc/dhcpcd.conf qui prendra finalement la forme suivante:# Static IP configuration for eth0.
interface eth0
static ip_address=192.168.1.xxx/24
static routers=192.168.1.1
static domain_name_servers=8.8.4.4 8.8.8.8
Vérification adressage IP
Les commandes ifconfig et ip addr permettent d'afficher les infomations sur les interfaces réseau configurées:hosapd et dnsmasq
Installation des packages nécessaires
apt-get updateapt-get install hostapd
apt-get installdnsmasq
Desactiver le démarrage automatique
update-rc.d -f hostapd remove update-rc.d -f dnsmasq removeou bien:
update-rc.d hostapd disable
update-rc.d dnsmasq disable
Configurer le service hostapd
Créer un fichier /etc/hostapd/hostapd.conf avec le contenu suivant:# 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=Pi3-AP
# 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=raspberry
# Use AES, instead of TKIP
rsn_pairwise=CCMP
Configurer le service dnsmasq
Créer un fichier /etc/dnsmasq.conf avec le contenu suivant:interface=wlan0 # Use interface wlan0
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
Mise en oeuvre
Créer un script de démarrage: wap.sh
#!/bin/bash
if [ "$(whoami)" != root ]
then
echo "You need administrator privileges to run this script"
exit 1
fi
ifconfig wlan0 down
ifconfig wlan0 172.24.1.1/24
ifconfig wlan0 up
service dnsmasq start
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
service hostapd start
Aucun commentaire:
Enregistrer un commentaire