Comment configurer une adresse IP fixe sur Debian 11 ?
Sommaire
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".
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".
Enfin, pour le DNS, il faut regarder le contenu du fichier "/etc/resolv.conf" :
cat /etc/resolv.conf
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/*".
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 :
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 !
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
Ah super, merci Gilles pour ce complément d’infos !
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
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 ?