Attribuer une adresse IP fixe ou un hostname (nom de machine) au Raspberry Pi peut être très utile si on possède de – très – nombreux matériels connectés au réseau local (ordinateurs, accessoires domotiques, smartphone, enceinte connectée, objets connectés en WiFi à base d’ESP8266, box domotique…).
Tutoriel actualisé le 3 juin 2020
La procédure proposée dans ce tutoriel a été réalisée sur Raspbian Buster mais reste valable sur presque toutes les distributions Linux.
Sommaire
Attribuer une adresse IP fixe au Raspberry Pi
Ouvrez un Terminal sous Raspbian ou connectez-vous en SSH au Raspberry puis ouvrez le fichier de configuration des interfaces.
sudo nano /etc/network/interfaces
Le fichier de configuration ressemble à ceci
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf allow-hotplug wlan1 iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Attribuer une IP fixe à l’interface wlan0 (WiFi)
Pour ce tutoriel, nous allons modifier la configuration de l’interface WiFi (wlan0). Modifiez le fichier en adaptant la configuration suivante à vos besoins
iface wlan0 inet static address 192.168.1.23 netmask 255.255.255.0 gateway 192.168.1.1 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
Attribuer une IP fixe à l’interface eth0 (pour la connexion via un câble Ethernet)
On peut faire exactement la même chose pour l’interface Ethernet. Voici un exemple de configuration qu’il faudra adapter à votre configuration.
iface eth0 inet static address 192.168.1.24 netmask 255.255.255.0 gateway 192.168.1.1
Ajouter un route permanente
Si votre Pi n’est pas sur le même sous-réseau, il est possible d’ajouter une route permanente avec l’option
up route add -net IP_RPI/24 gw IP_GATEWAY, ce qui donne par exemple :
- Le Raspberry a une IP 192.168.2.2
- La gateway (gw) est l’IP d’une box internet ou d’un routeur (par exemple 192.168.1.1).
up route add -net 192.168.2.2/24 gw 192.168.1.1
Pour en savoir plus : http://www.linux-france.org/~mdecore/linux/doc/memo2/node24.html
Cette configuration fonctionne très bien si vous branchez votre Raspberry Pi sur un autre ordinateur qui partage sa connexion internet. J’utilise par exemple mon Mac Mini comme pont internet le temps de mettre à jour la distribution Raspbian pour les images des logiciels domotiques trop anciennes qui ne prennent pas en charge le WiFi du Pi3.
Appliquer la nouvelle configuration
Enregistrez avec Ctrl + X puis O (ou Y si vous n’êtes pas en français).
Pour appliquer la nouvelle configuration, vous pouvez redémarrer
sudo reboot
ou relancer la couche réseau
sudo /etc/init.d/networking restart
Accéder au Raspberry Pi à l’aide du nom de machine (hostname)
Raspbian attribue automatiquement un hostname au Raspberry. Par défaut c’est raspberrypi suivi éventuellement d’un numéro incrémental s’il y a plusieurs Raspberry Pi connectés au réseau local. Nous n’avons donc pas besoin de connaitre l’adresse IP du Raspberry pour y accéder. Par exemple en SSH il suffit de saisir
ssh pi@raspberrypi.local
De même si vous faites de la domotique, vous pouvez accéder à votre box Domoticz depuis un navigateur en saisissant l’URL
raspberrypi.local:8080
Cool non !
Modifier le nom de machine (hostname) attribué automatiquement
Maintenant, nous voudrions bien pouvoir modifier le nom de machine par défaut. Pourquoi pas donner au Raspberry le nom de la box domotique par exemple. C’est très simple, il suffit de la modifier le nom de machine (hostname)
Modifier le hostname avec raspi-config (uniquement pour Raspberry Pi OS)
Ouvrez un Terminal et lancez raspi-config avec la commande
sudo raspbi-config
Allez dans le menu Network Options.
Puis dans le menu N1 Hostname
Saisissez le hostname et validez
Redémarrez le système pour changer le nom de machine
Modifier le hostname manuellement
L’utilitaire raspi-config est développé par la fondation et n’est disponible que sur Raspberry Pi OS. Cette méthode fonctionne quelque soit la distribution Linux utilisée.
Il faut modifier deux fichiers. Le premier fichier est le fichier hosts situé dans le dossier /etc
sudo nano /etc/hosts
Le fichier de configuration ressemble à ceci
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 raspberrypi
Remplacez raspberrypi par domoticz par exemple ou n’importe quel autre nom (sans espace, ni caractère spéciaux, ni caractères accentués). Enregistrez avec Ctrl + X puis O (ou Y).
Maintenant ouvrez le fichier hastname et remplacez raspberrypi par le même nom de machine que précédemment.
sudo nano /etc/hostname
Enregistrez et exécutez cette commande pour appliquer les changements
sudo /etc/init.d/hostname.sh
Il ne reste plus qu’à redémarrer le Raspberry
sudo reboot
Tester l’accès au Raspberry Pi avec un hostname
Une fois redémarré, essayez de vous reconnecter en SSH. Par exemple
ssh pi@domoticz.local
Ou d’accéder à l’interface de Domoticz depuis un navigateur.
Bien plus facile que de retenir qu’une adresse IP !
Mises à jour
03/06/2020 Configurer le hostname à l’aide de raspi-config
Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]