Configurer son adresse ip sous Linux
Comment paramétrer son adresse ip sous Linux
Sous une Raspbian 10 (buster), éditer /etc/dhcpcd.conf
avec la commande
sudo nano /etc/dhcpcd.conf
Lien vers le fichier : cliquez ici
Décommenter et éditer ce bloc pour fixer des valeurs
Exemple de modification pour fixer l'ip à 192.168.0.201
mettre 192.168.0.1 en gateway
et 192.168.0.254 en serveur DNS
Notez que la masque de sous réseau se met en même temps que l'ip, c'est pour cela que c'est 192.168.0.201/24 qui a été entré pour l'ip
Pour faire prendre en compte la modification, relancer le gestionnaire réseau avec
sudo systemctl restart NetworkManager.service
Lien vers le fichier : cliquez ici
Il y a cette commande plus ancienne
/etc/init.d/networking restart
Lien vers le fichier : cliquez ici
Au pire, si cela ne fonctionne pas, redémarrer la machine avec
shutdown -r now
Lien vers le fichier : cliquez ici
Sous Redhat / CentOs / Almalinux etc, on peut utiliser nmtui, une interface texte interactive pour NetworkManager, le gestionnaire réseau par défaut des bases Red Hat (voir https://docs.redhat.com/fr/documentation/red_hat_enterprise_linux/7/html/networking_guide/sec-using_the_text_user_interface_nmtui). L'interface se charge de configurer les fichiers qui sont dans /etc/NetworkManager/system-connections/. Il n'est pas conseillé de les modifier directement.
Pour lancer la configuration, taper cette commande
nmtui
Lien vers le fichier : cliquez ici
Il faut entrer le masque de sous-réseau en même temps que l'adresse ip.
Exemple
Relancer le gestionnaire réseau avec
sudo systemctl restart NetworkManager.service
Lien vers le fichier : cliquez ici
Sinon, toujours sous CentOs/Red Hat etc, le fichier de configuration est visible dans /etc/sysconfig/network-scripts mais il est déconseillé de le modifier directement. Ces fichiers assurent la rétrocompatibilité avec d'anciens scripts et outils.
cd /etc/sysconfig/network-scripts
ls
Lien vers le fichier : cliquez ici
Il y a un fichier par carte réseau.
Par exemple ici il y en a une qui est ifcfg-ens192
En ligne de commandes il y a nmcli. On peut par exemple lister les interfaces réseaux avec
nmcli connection show
Lien vers le fichier : cliquez ici
Exemple de retour
NAME UUID TYPE DEVICE
ens192 03da7500-2101-c722-2438-d0d006c28c73 ethernet ens192
lo 1c8aeec0-3e0b-4fa5-ad26-7b0edc9589d5 loopback lo
On peut voir la configuration d'une carte avec
nmcli connection show ens192
Lien vers le fichier : cliquez ici
Exemple de configuration de la carte ens192
sudo nmcli connection modify ens192 \
ipv4.addresses 10.0.0.100/24 \
ipv4.gateway 10.0.0.1 \
ipv4.dns "10.0.0.10 10.0.0.11" \
ipv4.method manual
Lien vers le fichier : cliquez ici
Pour la prise en compte
#Pour prise en compte à chaud
sudo nmcli connection up ens192
#Au pire des cas
sudo nmcli connection down ens192 && sudo nmcli connection up ens192
Lien vers le fichier : cliquez ici
Pour un passage en dhcp
sudo nmcli connection modify ens192 \
ipv4.method auto \
ipv4.addresses "" \
ipv4.gateway "" \
ipv4.dns ""
Lien vers le fichier : cliquez ici
Sur une Ubuntu, il y a plusieurs façons de faire. Il y a netplan par défaut depuis Ubuntu 18.04 LTS. C'est une couche d'abstraction au-dessus des gestionnaires réseaux traditionnels NetworkManager ou systemd-networkd, sachant NetworkManager est utilisé sur Ubuntu Desktop en raison de son interface graphique intuitive ou pour le wifi alors que sur Ubuntu Server c'est systemd-networkd qui est utilisé car il est par exemple plus léger. Netplan plan permet de configurer les 2.
Pour contrôler quel quel gestionnaire est actif, taper
# Vérifier si NetworkManager est actif
systemctl status NetworkManager
# Vérifier si systemd-networkd est actif
systemctl status systemd-networkd
# Voir quel service gère une interface
nmcli device status # Si NetworkManager
networkctl status # Si systemd-networkd
Lien vers le fichier : cliquez ici
Exemple de retour sur Ubuntu Server
root@MONUBUNTU:~# systemctl status NetworkManager
Unit NetworkManager.service could not be found.
root@MONUBUNTU:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-02-04 15:09:44 CET; 2 weeks 2 days ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 982 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 4514)
Memory: 2.9M
CPU: 3.138s
CGroup: /system.slice/systemd-networkd.service
└─982 /lib/systemd/systemd-networkd
Notice: journal has been rotated since unit was started, output may be incomplete.
root@MONUBUNTU:~# nmcli device status
Command 'nmcli' not found, but can be installed with:
snap install network-manager # version 1.2.2-29, or
apt install network-manager # version 1.36.6-0ubuntu2.2
See 'snap info network-manager' for additional versions.
root@MONUBUNTU:~# networkctl status
● State: routable
Online state: online
Address: 192.168.1.5 on ens160
Gateway: 192.168.1.1 on ens160
DNS: 172.16.8.8
172.16.8.9
Search Domains: mondomaine.local
root@MONUBUNTU:~#
Pour éditer le fichier yaml de votre carte réseau, modifiez celui que vous trouvez sous /etc/netplan/
Exemple sur un
nano /etc/netplan/99-netcfg-vmware.yaml
Lien vers le fichier : cliquez ici
Exemple de contenu
# Generated by VMWare customization engine.
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: no
dhcp6: no
addresses:
- 192.168.1.5/24
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1, 192.168.1.2]
Pour la configuration des DNS, comme dit sur https://www.linuxtricks.fr/wiki/systemd-la-resolution-de-nom-avec-systemd-resolved
quand on utilise systemd-networkd, le service de résolution de nom est lui géré à part par systemd-resolved.service. En effet :
- systemd-networkd : Gère la configuration réseau (adresses IP, routes, interfaces)
- systemd-resolved : Gère la résolution de noms DNS (requêtes DNS, cache, DNSSEC)
Il ne faut plus éditer le fichier historique /etc/resolv.conf, il faut utiliser un fichier dans /etc/systemd/resolved.conf.d
Cela applique une configuration globale et persistante qui s'applique à toutes les interfaces, sauf si une configuration spécifique à l'interface existe.
Pour cela faire
# Créer le répertoire si nécessaire
sudo mkdir -p /etc/systemd/resolved.conf.d
# Créer le fichier de configuration DNS
sudo nano /etc/systemd/resolved.conf.d/dns_servers.conf
Lien vers le fichier : cliquez ici
Exemple de contenu pour dns_servers.conf
[Resolve]
DNS=192.168.1.1 192.168.1.2
FallbackDNS=1.1.1.1 8.8.8.8
Domains=votre-domaine.local
Lien vers le fichier : cliquez ici
Pour appliquer les modifications
# Redémarrer le service
sudo systemctl restart systemd-resolved
# Vérifier la configuration
resolvectl status
Lien vers le fichier : cliquez ici
Pages Web
| Site Web | Description |
|---|---|
| doc.ubuntu-fr.org | Fixer l'adresse IP de nos machines |
| linuxtricks.fr | systemd : La résolution de nom avec systemd-resolved |