Donner une IP fixe à votre Raspberry

Vous avez été nombreux (ok seulement 2 !) à me demander comment faire pour définir une IP statique sous Raspbien. Donc aujourd’hui nous allons voir ensemble la méthode qui est très simple.

Donner une IP statique à votre Raspberry

La configuration réseau sous Rasbian se passe dans un fichier : /etc/network/interfaces. Par défaut, voici ce que vous devriez avoir (ça vous permet aussi d’avoir les valeurs par défaut) :

auto lo
iface lo inet loopback

iface eth0 inet dhcp
allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

Alors, en détail, ce fichier contient les informations suivantes :

  • auto lo : va démarrer l’interface automatiquement lors de la séquence de boot
  • iface lo inet loopback : définition de l’interface loopback (vous savez ce 127.0.0.1 indispensable)
  • iface eth0 inet dhcp : l’interface eth0 (le port RJ45 du Raspberry) sera configuré en envoyant une requête DHCP sur le réseau. IP dynamique donc ..
  • Le bloc suivant permet de configurer à chaud le wifi via le fichier de configuration de wpa_supplicant. En DHCP.

Maintenant pour mettre en place une IP statique, le principe est simple :

  • Enlever le bloc eth0 ou wlan0 que vous souhaitez changer
  • Mettre la configuration de l’interface : IP, masque et passerelle.
  • Redémarrer la machine

Par exemple, votre réseau local derrière votre box est 192.168.1.x . L’adresse de votre box est 192.168.1.1. Le masque de votre réseau est donc 255.255.255.0 (plus d’infos sur les masque de réseau sur Wikipédia ici). Et vous souhaitez que votre adresse soit 192.168.1.34

Voici ce que vous allez mettre dans votre fichier /etc/network/interfaces pour par exemple l’interface ethernet :

iface eth0 inet static

address 192.168.1.34

netmask 255.255.255.0

gateway 192.168.1.1

Voilà maintenant le contenu de votre fichier complet :

auto lo

iface lo inet loopback
iface eth0 inet static

address 192.168.1.34

netmask 255.255.255.0

gateway 192.168.1.1
allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

Vous pouvez maintenant redémarrer le Raspberry et votre IP sera celle que vous avez configurée. Vous pouvez aussi redémarrer uniquement l’interface :

ifdown eth0

ifup eth0

Si vous avez un problème de DNS (le ping de google ne répond pas par exemple) vous pouvez ajouter cette ligne au bloc de l’interface, après la ligne gateway :

dns-nameservers 8.8.8.8

Maintenant chez moi je ne suis pas un fan des IP statiques. Toutes mes machines sont en DHCP. J’ai verrouillé la plage DHCP et j’utilise des baux sur base de mes adresses MAC. Clairement ça ne garantira pas une intrusion sur le réseau (changer son adresse MAC est possible) mais c’est très pratique pour les périphériques qui voyagent.

Il y a quelques temps, en vacances au soleil (ouais le truc jaune dans le ciel qui donne de la chaleur, souvenez-vous) pas moyen dans l’hôtel d’avoir Internet. Le problème était qu’avec mon IP fixe forcée sur l’ordi, je n’avais pas le droit d’utiliser le wifi. Du coup j’avais été obligé de repasser en DHCP. Voilà pourquoi maintenant je préfère rester en DHCP pour ne pas avoir à refaire la config du/des portable(s) et tablette 😉

Vous avez donc une possibilité de ne pas modifier votre configuration et d’avoir toujours la même IP chez vous.

A vous de jouer maintenant pour votre configuration.

Vous aimerez aussi...

  • Bencici

    Pour ma part j’ai jamais réussi comme ça du coup je l’ai fais dans les réglages « Baies DHCP » directement sur la Freebox 😛 suffit d’avoir l’adresse MAC du RPi

  • si on est directement sur la machine (et pas via une session ssh donc) on peut simplement relancer l’interface réseau plutôt que de redémarrer toute la machine:

    $ sudo ifdown eth0

    $ sudo ifup eth0

  • Schopp

    Bonjour,

    J’ai un problème et je ne sais pas comment le résoudre.
    Depuis 2/3 jours je n’arrive plus à accéder a mon Raspberry en ssh.
    Je me suis donc co dessus en HDMI pour voir, et quand je branche mon cable ethernet aucun paque n’est envoyé/recu par mon raspberry.
    Lorsque que j’effectue un ifup eth0 le message d’erreur est le suivant :

    /etc/network/interfaces:2: misplaced option
    ifup: couldn’t read interfaces file « /etc/network/interfaces »
    j’ai peur que mon interface eth0 soit « foutue » mais je ne comprends pas très bien tout fonctionnait jusqu’a ce jour….

    Pls need help !

    • Bonjour
      Quel est le contenu du fichier /etc/network/interfaces ? C’est lui qui pose problème à priori

  • Schopp

    Le contenu du fichier est le même que celui écrit plus haut :

    auto lo
    iface lo inet loopback
    iface eth0 inet dhcp

    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    iface default inet dhcp

    Il n’y a visiblement aucune erreur dans le fichier. Je n’ai même pas le souvenir d’y avoir été auparavant donc je pense pas que j’aurais pu effectué des modifs.
    Même les LED fonctionnent, la LED Jaune/Orange s’allume bien dès que je branche mon câble sur le port RJ45, j’ai essayé avec différent câble toujours le même problème.

    J’ai pu voir sur un autre forum que certains avait également le même soucis mais aucune solution n’a été trouvé :/

    • Quels sont les droits sur le fichier ?
      Le message dit que la commande ifup n’arrive pas à accéder à ce fichier …
      ifup: couldn’t read interfaces file « /etc/network/interfaces »
      Est-ce que le filesystem n’est pas corrompu ?

    • Et y a un truc qui va pas à la ligne 2 surtout
      /etc/network/interfaces:2: misplaced option
      Peut être un caractère caché ? Essaye de refaire un nouveau fichier

      • Schopp

        Problème résolu !

        En effet il y’avait bien une erreur avec le fichier /etc/network/interfaces.
        Un malheureux « i » qui a été supprimé et qui du coup faisait remonté le message d’erreur « couldn’t read… »
        Ce que je ne comprends pas c’est comment cela a pu arriver mais l’essentiel c’est que ça marche de nouveau !
        Merci en tout cas pour ton aide rapide et clair ! 🙂

  • jb

    Salut, comment changer le fichier interfaces depuis l’interface graphique. Je n’ai pas les droits et ne peut pas les modifier.

    • Bonjour
      Ouvrir une ligne de commande et lancer l’édition avec un éditeur comme vi ou nano avec devant sudo pour prendre les droits root

      Exemple :
      sudo vi /etc/network/interfaces

      • helio72

        J’ai lancé la ligne « sudo vi… » j’edite le fichier interfaces mais je ne peux rien modifier.
        Peux tu m’aider ? d’autre part comment editer une ligne en tant que root . (je suis un débutant de 80 ans).
        Merci d’avance

        • Bonjour
          Quel est le message d’erreur lors de l’édition ? Quels sont les droits du fichier interfaces (en faisant un ls -l) ?

  • Abuche

    bonjour,

    Avec le fichier /etc/network/interfaces, une ip fixe n’est pas reconnu
    Un system de fichier corrompu .. comment vérifier cet état et corriger ce système
    Au lancement startx ne démarre que après CTRL+D
    🙂

    • Bonjour
      Pour forcer le contrôle du système de fichier au prochain démarrage, il faut se mettre dans un terminal en tant que root et utiliser la commande suivante :
      shutdown -rF now
      Une autre possibilité est de créer (toujours en tant que root) le fichier suivant :
      touch /forcefsck

  • Joseph Sajam

    Bonjour Chris j’ai un problème et j’aurai aimé avoir un coup de main, voila j’éssaye depuis presque un mois de partager ma connexion de type « ppp », donc modem 3g, avec ma console via le port ethernet, j’ai donc suivi pas mal de tutos sur « ifconfig », « iptables », « route », j’ai aussi essayé avec le NAT mais ça n’a pas fonctionné. Donc tout d’abord j’aimerai tout remettre à « zéro » en ce qui concerne les fichiers « interfaces », « network.conf » et aussi « iptables » et ensuite j’aimerai que tu m’aides à reconfigurer mon raspberry et ma console aves une IP fixe pour pouvoir partager ma connéxion. Merci de me répondre même si tu n’est pas d’accord.

    • Salut,
      Je suis pas expert mais est ce qu’il ne faut pas faire un bridge entre l.interface ethernet et l’interface 3g pour qu’il y ait routage entre lesdeux ? A la manière de virtual box entre la machine hote et l’interface de la VM

      • Joseph Sajam

        Merci de m’avoir répondu pour ce qui concerne le bridge entre les deux interfaces afin qu’il y ait un routage je vais chercher sur le web, je reviendrai pour te faire un retour.

  • Dorian192

    Bonjour. Merci pour ce tutoriel parfait qui a permis de résoudre mon problème. C’est rare de trouver des tutoriels très complets (avec des détails) sur un sujet précis comme celui-là.

  • silia

    Bonjour, merci pour ce tuto
    par contre j’ai suivi toutes ces etapes là, et j ‘ai loué une adresse ip statique pour ma carte raspberry pi ; mais je n’arrive toujours pas à me connecter sur internet ( atravaers le cable intranet) :/
    merci pour votre aide d’avance

    • L’ip fixe sera pour ta box de ton fai (chez free c’est deja une ip fixe je crois). Ici on parle d’une ip fixe locale attribuee par ta box ou ton routeur

      • silia

        merciii pour l’intérêt que tu porte à ma question; mais au fait c’est de ça que je parle aussi d’une adresse ip fixe queje dois attribuer a ma carte raspberry pi afin de pouvoir acceder a distance a un serveur apache que je vais installer la dessus 🙂

        • Oui c’est bien ce que j’ai compris. Tu dois faire la difference entre une ip fixe locale sur ton reseau interne derriere la box de ton fournisseur et l’ip fixe de ta box qui est visble depuis internet.
          De l’exterieur tu dois connaitre l’ip e ta box. Ca sera l’ip que tu as acheté ou celle d’un fournisseur comme no-ip ou dyndns. Tu vas acceder a ta box avec qqch comme http://ip.de.ma.box:num.port
          Sur ta box tu dois rediriger le traffic du port externe num.port vers le port du serveur apache sur l’ip de ton raspberry (ip locale)
          Cette article ne fait qu’expliquer comment donner une ip fixe a ton pi mais sans le rendre visible de l’exterieur

          • silia

            d accord merciii mais au fait est ce que y a un moyen de partager la conexion entre mon pc et la pi

          • Oui en faisant un pont entre l’interface reliée à internet et celle au Raspberry. Il faudra aussi peu etre un service DHCP

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop