Comment configurer une adresse IP fixe sur Debian 11 ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à configurer le réseau sur une machine Debian 11 en attribuant une adresse IP fixe : une étape - presque - indispensable lors de la mise en service d'un nouveau serveur basé sur Linux. Lorsqu'une machine sous Debian 11 est installée, la carte réseau est configurée en DHCP par défaut. S'il s'agit d'un serveur, généralement on attribue une adresse IP fixe que l'on va définir dans la configuration du système, mais comment faire ? Réponse dans cet article. Vous allez voir que c'est simple, mais incontournable.

II. Visualiser la configuration réseau actuelle

Commençons voir quelques commandes utiles afin d'afficher la configuration réseau actuelle de la machine.

Tout d'abord, la commande "ip address" ou "ip a" en raccourci, permet d'afficher les interfaces réseau avec les adresses IP associées. C'est la commande qui remplace "ifconfig" et c'est en quelque sorte un équivalent de "ipconfig" sous Windows.

ip a

La commande retourne l'interface "lo" qui correspond à l'interface de "loopback" (boucle locale), ainsi que l'interface "ens192" correspondante à la carte réseau connectée à mon réseau local. On peut voir que l'adresse IP actuelle sur cette carte est "192.168.100.72/24".

Debian 11 ip a

Afin de connaître la passerelle par défaut utilisée actuellement par notre machine, plusieurs solutions sont possibles. La commande suivante retourne les routes locales, ainsi que la route par défaut, ce qui donne l'adresse IP de la passerelle.

ip route show

Dans mon cas, la passerelle est "192.168.100.1".

Debian 11 ip route show

Enfin, pour le DNS, il faut regarder le contenu du fichier "/etc/resolv.conf" :

cat /etc/resolv.conf

Debian 11 DNS

Voilà, nous connaissons la configuration réseau actuelle de notre machine Debian 11.

III. Définir une adresse IP fixe sur Debian 11

La configuration d'une carte réseau s'effectue par l'intermédiaire du fichier "/etc/network/interfaces". Nous allons l'éditer avec "nano", comme ceci :

nano /etc/network/interfaces

On peut voir que nos deux interfaces sont déclarées ici, en l'occurrence "lo" et "ens192". On peut également voir "inet dhcp", ce qui signifie que l'interface est configurée en mode "DHCP".

Note : le dossier "/etc/network/interfaces.d/" peut contenir des fichiers de configuration indépendants qui seront chargés automatiquement. Par exemple, cela permet de définir la configuration d'une interface réseau dans un fichier dédié. D'où la ligne "source /etc/network/interfaces.d/*".

Fichier /etc/network/interfaces DHCP

Pour basculer en mode "adresse IP statique", il faut remplacer "dhcp" par "static". Ensuite, nous devons déclarer les différentes propriétés : adresse IP et le masque de sous-réseau, la passerelle par défaut, les serveurs DNS et le nom de domaine local (facultatif).

Voici un exemple pour définir l'adresse IP "192.168.100.14/24", la passerelle "192.168.100.1", les serveurs DNS "192.168.100.11" et "1.1.1.1", ainsi que le nom de domaine local "it-connect.local".

allow-hotplug ens192
iface ens192 inet static
  address 192.168.100.14/24
  gateway 192.168.100.1
  dns-nameservers 192.168.100.11 1.1.1.1
  dns-domain it-connect.local

Ce qui donne en image :

Fichier /etc/network/interfaces statique

Il est à noter que l'adresse IP et le masque de sous-réseau peuvent être séparés sur deux lignes, comme ceci :

address 192.168.100.14
netmask 255.255.255.0

Il ne reste plus qu'à sauvegarder puis fermer le fichier.

Ensuite, nous devons redémarrer le service lié au réseau puis activer notre carte réseau. Cela s'effectue via un enchaînement de deux commandes (en une seule fois, ou en deux temps). Si vous êtes connectés en SSH et que l'adresse IP de la machine change, vous allez bien sûr perdre la main sur le serveur.

Voici la commande à exécuter (adaptez le nom de l'interface réseau) :

sudo systemctl restart networking.service ; sudo ifup ens192

Lorsque c'est fait, on peut consulter la configuration IP de la machine Debian 11.

ip a

L'interface "ens192" utilise sa nouvelle adresse IP : mission accomplie !

Le nom de domaine et les serveurs DNS définis dans le fichier "interfaces" sont également répliqués dans le fichier "/etc/resolv.conf". De toute façon, vous ne devez pas modifier ce fichier directement.

Félicitations, vous savez définir une adresse IP statique sur une machine Debian 11 !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5575.Voir tous les posts

4 thoughts on “Comment configurer une adresse IP fixe sur Debian 11 ?

  • Article intéressant, merci !
    J’ai 2 remarques pour compléter les paramétrages :
    – Les paramétrages DNS du type dns-nameservers et dns-domain dans le fichier interfaces ne sont pris en compte que si le paquet « resolvconf » est installé et ce n’est pas forcement le cas avec une installation non graphique en utilisant les choix par défaut
    – Il est possible d’éviter le ifup après redémarrage du service networking en utilisant la directive « auto » plutôt que « allow-hotplug » dans le fichier interfaces, la directive allow-hotplug semble mal gérée avec les systèmes déployés sous forme machines virtuelles

    Répondre
  • Bonjour,
    je constate un mélange (bienvenu pour moi). A savoir l’utilisation des commandes ip route2 et l’utilisation du fichier de config utilisé pour les antiques commandes du paquet net-tools : /etc/network/interfaces

    Et il y a peu encore j’utilisais la commande pseudo graphique nmtui pour reconfigurer mes cartes réseau (dont la config ne se trouvait plus dans ce fichier /etc/network/interfaces, mais dans un autre dont je ne me souviens jamais de son nom ni de son emplacement.

    Et aussi une convention de nommage des cartes réseau ayant délaissé la convention « enps… » pour revenir au classique « eth… ».

    Tout cela me convient parfaitement. Mais pouvez vous me confirmer que tous ces changements sont officialisés par l’équipe de Debian ? Et depuis quand est ce ainsi (j’ai loupé l’info) ?

    Alexandre

    Répondre
  • Hello Florian,
    Sur Debian 12, netplan semble avoir pris le relais pour la partie réseau, avec un fichier situé dans /etc/netplan/
    Serait-il envisageable de faire une update de l’article avec la nouvelle procédure ?

    Répondre

Répondre à Gilles Brossier Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.