Le service DHCP client permet au système de demander pour chaque interface réseau (ethernet et wifi) une adresse IP au fournisseur d’adresses du réseau. Dans la plupart des cas le routeur, la box Internet ou la borne wifi.
Dans notre cas nous allons créer avec le Raspberry notre propre réseau autonome. Il ne doit pas demander d’adresse mais au contraire les distribuer aux appareils qui vont se connecter à lui. Il faut désactiver la demande d’adresse et définir manuellement une IP statique.
Nous allons utiliser les adresses IP standard privées 192.168.0.x pour notre réseau sans fil. Attribuer au serveur l’adresse IP 192.168.0.1. Le périphérique sans fil est nommé wlan0.
Il faut aussi désactiver la demande de connexion automatique au réseau wifi par le biais du fichier wpa_supplicant
Éditer /etc/dhcpcd.conf
Ajouter à la fin du fichier
interface wlan0
static ip_address=192.168.0.1/24
nohook wpa_supplicant
Redémarrer le service dhcp client
systemctl restart dhcpcd
Dynamic Host Configuration Protocol (DHCP) est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une machine, notamment en lui attribuant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut et les serveurs de noms DNS.
Domain Name System (DNS) est un service informatique distribué utilisé pour traduire les noms de domaine Internet en adresse IP. Le DNS est un composant essentiel du réseau internet.
Par exemple : iutsd.univ-lorraine.fr est un nom de domaine pleinement qualifié (FQDN) il pointe vers une machine dont l’adresse IP est 193.50.135.38. Cette relation est définie par les serveurs de noms maîtres orion.ciril.fr et arcturus.ciril.fr. Cette association est ensuite répliquée par les autres serveurs DNS lorsqu’un client en fait la demande.
Notre système va fournir aux appareils connectés une résolutions des noms de domaines en IP en interrogeant les différents serveurs maître.
dnsmasq est un paquet qui fournit plusieurs services dont le DNS et le DHCP.
Installer le paquet logiciel dnsmasq.
Arrêter le service, car il n’est pas encore correctement configuré
$ systemctl stop dnsmasq
Éditer /etc/dnsmasq.conf
Trouver dans le fichier et activer les options suivantes
domain-needed
bogus-priv
interface=wlan0
dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
Tester la configuration
dnsmasq --test
Pour l’interface Wifi (wlan0), nous allons fournir des adresses IP entre 192.168.0.50 et 192.168.0.150, avec une durée de location de 12 heures.
Nous pouvons maintenant démarrer le service dnsmasq.
hostapd est un logiciel qui permet à une interface réseau d’agir comme un point d’accès (hospot / access point).
Installer le paquet hostapd et éditer le fichier de configuration /etc/hostapd/hostapd.conf.
interface=wlan0
hw_mode=g # Norme a/b/g
channel=1 # Canal de fréquences, de 1 à 13
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK # Méthode de cryptage pour sécuriser la communication
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=RASPBERRY21 # Mettre un nom de réseau personnalisé
wpa_passphrase=supermotdepasse
Attention pas de commentaire dans le fichier
:warning: Attention : Vous devez utiliser un nom de SSID différent pour ne pas créer d’interférences avec les raspberry de vos camarades. Changer aussi le n° de canal (channel). Il y a en 13 au total pour la norme g.
a = IEEE 802.11a (5 GHz)
b = IEEE 802.11b (2.4 GHz)
g = IEEE 802.11g (2.4 GHz)
Vous pouvez tenter le mode a. Les canaux sont des nombres pairs entre 32 et 48
Il faut maintenant dire au système d’utiliser ce fichier de configuration. Éditer le fichier /etc/default/hostapd
Décommenter et compléter la ligne
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Activer et démarrer le service hostapd.
Ajouter l’application Wifi Analyser sur votre téléphone pour vérifier la présence d’un nouveau réseau Wifi.
Connecter vous sur le réseau wifi du raspberry avec votre téléphone. Vous pouvez accéder aux services du Raspberry mais pas naviguer sur Internet. Pour cela il faut que vos requêtes soient redirigées vers l’extérieur par l’intermédiaire d’un pont entre la wifi et l’interface filaire ethernet.
Il est nécessaire que les requêtes arrivant par la Wifi soient redirigées vers le port Ethernet. C’est un liende routage entre l’interface Wifi et l’interface ethernet (eth0).
Éditer /etc/sysctl.conf
net.ipv4.ip_forward=1
Créer les règles dans la table de routage
Installer le paquet iptables
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables-save > /etc/iptables.ipv4.rules
Éditer le fichier /etc/rc.local
iptables-restore < /etc/iptables.ipv4.rules
exit 0
Redémarrer votre appareil.
graph LR
Téléphone-- Wifi ---Raspberry-- Ethernet ---Internet
https://www.maketecheasier.com/turn-raspberry-pi-into-wi-fi-bridge/ https://willhaley.com/blog/raspberry-pi-wifi-ethernet-bridge/ https://www.linuxtricks.fr/wiki/dnsmasq-le-serveur-dns-et-dhcp-facile-sous-linux https://www.techrepublic.com/article/how-to-speed-up-dns-caching-on-your-linux-machines-with-dnsmasq/