Hotspot Wi-Fi Raspberry PI

La mise en place d'un point d'accès Wi-Fi (appelé hotspot par la suite) sur un Raspberry Pi (appelé Rpi par la suite) requiert 2 briques : le hotspot en lui-même et le serveur DHCP qui permettra aux clients de recevoir une adresse IP et donc joindre le réseau.


Le point d'accès Wi-Fi

Installez hostapd :

$ sudo aptitude install hostapd

Créez le fichier de configuration /etc/hostapd/hostapd.conf et insérez :

# Nom de l'interface réseau
interface = wlan0

# Nom du réseau
ssid = $ssid

# Canal
channel = 6

# Les clients ne sont pas filtrés par adresse MAC
macaddr_acl = 0

# Algorithme utilisé par IEEE 802.11
auth_algs = 1

# Utilisation de WPA2
wpa = 2

# Mot de passe
wpa_passphrase = $passphrase

wpa_key_mgmt = WPA-PSK
wpa_pairwise = TKIP
rsn_pairwise = CCMP

# Nombre maximum de clients autorisés
#max_num_sta = 12

Afin de démarrer hostapd au démarrage du Rpi, modifiez /etc/default/hostapd :

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

Assignez un sous-réseau d'adresses IP à la carte Wi-Fi gérant le hotspot en modifiant /etc/network/interfaces :

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

Le serveur DHCP

Installez ISC DHCP server :

$ sudo aptitude install isc-dhcp-server

Modifier le fichier de configuration /etc/dhcp/dhcpd.conf tel que :

authoritative;
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.10 192.168.2.50;
    option domain-name-servers 192.168.2.1;
    option netbios-name-servers 192.168.2.1;
    option routers 192.168.2.1;
    option broadcast-address 192.168.2.255;
    interface wlan0;

    # Adresses IP assignées en dur pour des adresses MAC données
    group {
        host client-01 { hardware ethernet $mac_addr; fixed-address 192.168.2.11; }
        #host NOM { hardware ethernet MAC; fixed-address IP; }
    }
}

Modifier le fichier de configuration /etc/default/isc-dhcp-server tel que :

INTERFACES="wlan0"

Pour terminer

Redémarrez le Rpi :

$ sudo reboot

Le clients peuvent dorénavant se connecter à votre hotspot Wi-Fi.
Pour voir la liste des clients connectés (installez le paquet iw) :

$ iw dev wlan0 station dump
Station 11:22:33:44:55:66 (on wlan0)
(...)
Station 12:23:34:45:56:67 (on wlan0)
(...)