Accueil / Mini ordinateur : Raspberry Pi, Orange Pi, cartes de développement... / Raspberry Pi / Attribuer une adresse IP fixe, un nom de domaine à un Raspberry Pi

Attribuer une adresse IP fixe, un nom de domaine à un Raspberry Pi

Attribuer une adresse IP fixe à son Raspberry Pi peut être très utile si on possède de nombreux matériels (ordinateurs, accessoires domotiques, projets DIY ESP Easy, box domotique…) sur son réseau local.

Pour ce tutoriel, j’ai utilisé un Raspberry Pi 3 sous Raspbian, mais la procédure est la même quelque soit la distribution Linux.

Attribuer une adresse IP fixe à son Raspberry Pi

Ouvrez un Terminal sous Raspbian ou connectez-vous en SSH à votre 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 (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 de son nom de domaine

Raspbian attribue automatiquement un nom de domaine au Raspberry. Par défaut c’est raspberrypi. 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

raspberrypi.local domoticz

Cool non !

Changer le nom de domaine par défaut

Maintenant, nous voudrions bien pouvoir changer le nom de domaine 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 dans le fichier de configuration hosts.

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 domaine 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

Une fois redémarré, essayez de vous reconnecter en SSH. Par exemple

ssh pi@domoticz.local

ssh domoticz.local

Ou d’accéder à l’interface de Domoticz depuis un navigateur


domoticz.local domoticz

Bien plus facile que de retenir une adresse IP !