Debian identifier réseau et résolution
Pour déterminer quel type de réseau est installé sur Debian Trixie, vous pouvez utiliser plusieurs commandes et vérifier certains fichiers de configuration.
Identifier les interfaces réseau
La première étape consiste à lister les interfaces réseau disponibles :
1
ip link show
Ou avec l’ancienne commande (si net-tools est installé) :
1
ifconfig -a
Les noms d’interfaces vous indiquent le type de réseau :
en…(ex.enp0s3,eno1) = interface filaire Ethernet[academie-du-recyclage][jchr]wl…(ex.wlp2s0,wlan0) = interface Wi-Fi sans fil[academie-du-recyclage][jchr]lo= interface de boucle locale (localhost)
Vérifier l’état et la configuration actuelle
Pour voir si une interface est active et configurée :
1
ip addr show
Cela affiche les adresses IP attribuées et l’état (UP/DOWN) de chaque interface.[debian]
Pour connaître la méthode de configuration (DHCP ou statique), examinez le fichier :
1
cat /etc/network/interfaces
Ou, si vous utilisez NetworkManager (cas courant sur les bureaux GNOME/KDE) :
1
2
nmcli device status
nmcli connection show
NetworkManager gère automatiquement le réseau et peut être vérifié avec :
1
systemctl status NetworkManager
Déterminer le gestionnaire de réseau utilisé
Debian Trixie peut utiliser plusieurs systèmes :
| Gestionnaire | Commande de vérification |
|---|---|
| NetworkManager | systemctl status NetworkManager |
| systemd-networkd | systemctl status systemd-networkd |
| ifupdown (classique) | présence de /etc/network/interfaces |
| Netplan | ls /etc/netplan/ |
[debian]
Résumé rapide
- Exécutez
ip linkouip addrpour identifier les interfaces (en= filaire,wl= Wi-Fi). - Consultez
/etc/network/interfacesou utiliseznmcliselon votre gestionnaire. - Vérifiez quel service réseau est actif (
NetworkManager,systemd-networkd, etc.).
Ces étapes vous permettront de déterminer précisément le type et la configuration du réseau sur votre Debian Trixie.
Sur Debian 13 Trixie, il faut distinguer le type de réseau matériel — Ethernet, Wi‑Fi — du gestionnaire qui configure le réseau. Pour déterminer lequel est utilisé, exécutez :
1
2
systemctl --type=service --state=running | grep -E \
'NetworkManager|systemd-networkd|networking|connman|wicd'
Le service actif indique généralement le gestionnaire :
NetworkManager.service→ NetworkManagersystemd-networkd.service→ systemd-networkdnetworking.service→ ifupdown- aucun de ceux-ci → configuration éventuellement manuelle ou autre outil
Vérifiez ensuite les fichiers de configuration :
1
2
3
4
ls -l /etc/network/interfaces /etc/network/interfaces.d/ 2>/dev/null
ls -l /etc/systemd/network/ 2>/dev/null
ls -l /etc/NetworkManager/system-connections/ 2>/dev/null
ls -l /etc/netplan/ 2>/dev/null
Interprétation :
/etc/network/interfacescontient des lignesauto,allow-hotplugouiface→ ifupdown/etc/systemd/network/*.networkou*.netdev→ systemd-networkd/etc/NetworkManager/system-connections/*.nmconnection→ NetworkManager/etc/netplan/*.yaml→ Netplan, qui transmet ensuite la configuration à NetworkManager ou à systemd-networkd
Pour savoir quel outil gère chaque interface :
1
ip -br link
Avec NetworkManager :
1
nmcli device status
Exemple :
1
2
3
DEVICE TYPE STATE CONNECTION
enp1s0 ethernet connected Wired connection 1
wlp2s0 wifi connected MonWiFi
Avec systemd-networkd :
1
networkctl
Pour obtenir une vue complète de l’état actuel :
1
2
3
ip -br addr
ip route
resolvectl status
La vérification la plus directe est donc :
1
2
3
systemctl is-active NetworkManager
systemctl is-active systemd-networkd
systemctl is-active networking
Le service qui renvoie active est normalement celui qui configure le réseau. Évitez toutefois de modifier ou d’activer un autre gestionnaire sans désactiver correctement le précédent : NetworkManager, ifupdown et systemd-networkd peuvent entrer en conflit. Debian propose plusieurs méthodes de configuration réseau, sans gestionnaire unique obligatoire.
Résolution DNS sous Debian : les modèles
Le principe de base
Toute application passe par le résolveur de la glibc (getaddrinfo), qui consulte :
/etc/nsswitch.conf, lignehosts:, qui définit l’ordre des sources (files=/etc/hosts,dns,mdns,resolve…)/etc/resolv.conf, qui liste les serveurs DNS (nameserver), le domaine de recherche (search) et des options
Le vrai sujet est donc : qui écrit /etc/resolv.conf et qui fait le cache ? Il y a quatre modèles courants.
1. Statique (manuel)
Le plus simple, souvent utilisé sur un serveur avec IP fixe.
1
2
3
4
5
# /etc/resolv.conf
nameserver 9.9.9.9
nameserver 1.1.1.1
search example.lan
options timeout:2 attempts:2
Pour éviter qu’un outil l’écrase : chattr +i /etc/resolv.conf (à utiliser avec prudence).
2. Géré par ifupdown / DHCP (resolvconf ou openresolv)
Sur une installation minimale, le client DHCP ou /etc/network/interfaces fournit les DNS.
1
2
3
4
5
6
# /etc/network/interfaces
iface eth0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 9.9.9.9 1.1.1.1
dns-search example.lan
Ces directives dns-* ne sont prises en compte que si le paquet resolvconf (ou openresolv) est installé. Il agrège les DNS de chaque interface et génère /etc/resolv.conf.
3. NetworkManager (postes de travail)
Par défaut sur Debian avec environnement de bureau. NetworkManager écrit lui-même /etc/resolv.conf.
1
2
3
nmcli con mod "Ma connexion" ipv4.dns "9.9.9.9 1.1.1.1"
nmcli con mod "Ma connexion" ipv4.ignore-auto-dns yes
nmcli con up "Ma connexion"
Il peut aussi déléguer à systemd-resolved ou dnsmasq via /etc/NetworkManager/conf.d/ (dns=systemd-resolved ou dns=dnsmasq).
4. systemd-resolved (stub local + cache)
Depuis Debian 12, il est dans un paquet séparé et non installé par défaut.
1
2
3
apt install systemd-resolved
systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
resolv.conf pointe alors sur 127.0.0.53, un stub local qui met en cache, gère le DNS par interface, DNSSEC, DNS over TLS et le split DNS.
Configuration dans /etc/systemd/resolved.conf (ou un drop-in dans /etc/systemd/resolved.conf.d/) :
1
2
3
4
5
6
[Resolve]
DNS=9.9.9.9 1.1.1.1
FallbackDNS=8.8.8.8
Domains=example.lan
DNSOverTLS=opportunistic
DNSSEC=allow-downgrade
Puis systemctl restart systemd-resolved. Pour vérifier : resolvectl status et resolvectl query debian.org.
Pour ajouter resolved à nsswitch.conf, il suffit d’installer libnss-resolve (souvent tiré automatiquement).
Variante : résolveur cache local dédié
Pour un vrai cache ou un contrôle fin, on installe un résolveur local (unbound, dnsmasq, bind9) écoutant sur 127.0.0.1, et on met nameserver 127.0.0.1 dans resolv.conf.
1
2
3
4
5
6
7
8
# /etc/unbound/unbound.conf.d/local.conf
server:
interface: 127.0.0.1
access-control: 127.0.0.0/8 allow
forward-zone:
name: "."
forward-tls-upstream: yes
forward-addr: 9.9.9.9@853#dns.quad9.net
Comment savoir quel modèle est actif chez vous
1
2
3
4
5
ls -l /etc/resolv.conf # lien symbolique ? vers quoi ?
head /etc/resolv.conf # commentaire "Generated by ..."
systemctl is-active systemd-resolved NetworkManager
getent hosts debian.org # test via la glibc, comme les applis
dig debian.org # test direct du serveur DNS (paquet dnsutils)
Résolution OVH yannig.net (vps-1780de45)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ls -l /etc/resolv.conf # lien symbolique ? vers quoi ?
head /etc/resolv.conf # commentaire "Generated by ..."
systemctl is-active systemd-resolved NetworkManager
getent hosts debian.org # test via la glibc, comme les applis
dig debian.org # test direct du serveur DNS (paquet dnsutils)
lrwxrwxrwx 1 root root 39 13 avril 16:34 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
active
inactive
2a04:4e42:200::644 debian.org
2a04:4e42:400::644 debian.org
2a04:4e42:600::644 debian.org
2a04:4e42::644 debian.org
; <<>> DiG 9.20.29-1~deb13u1-Debian <<>> debian.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30150
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;debian.org. IN A
;; ANSWER SECTION:
debian.org. 300 IN A 151.101.2.132
debian.org. 300 IN A 151.101.194.132
debian.org. 300 IN A 151.101.66.132
debian.org. 300 IN A 151.101.130.132
;; Query time: 16 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Mon Sep 28 16:19:12 CEST 2026
;; MSG SIZE rcvd: 103
vous êtes sur le modèle 4 (systemd-resolved)
Résultats
/etc/resolv.confest un lien symbolique versstub-resolv.conf: c’est bien systemd-resolved qui gère la résolution.systemctl is-active:systemd-resolvedest active,NetworkManagerest inactive. Donc pas de NetworkManager, c’est probablementsystemd-networkdouifupdownqui gère le réseau (ou une config faite à la main).diginterroge127.0.0.53: le stub local répond, avec du cache (le TTL affiché, 147, est celui restant au cache).- Vous êtes sur Debian 13 (trixie), d’après la version de dig (
deb13u1).
Remarque : getent hosts debian.org ne retourne que des adresses IPv6. C’est normal, getent hosts préfère IPv6 quand elle est disponible. Pour les deux familles : getent ahosts debian.org.
Voir la configuration réelle
1
resolvectl status
Cette commande montre les serveurs DNS par interface (section Link), les domaines de recherche, l’état de DNSSEC et de DNS over TLS. Sur ce modèle, les DNS ne viennent pas forcément de resolved.conf : ils sont souvent fournis par le DHCP ou la config réseau de l’interface, et resolved.conf ne sert que de valeur globale ou de repli.
Pour tester et voir d’où vient la réponse (cache ou réseau) :
1
2
resolvectl query debian.org
resolvectl statistics
Comment configurer, selon ce que vous voulez
Imposer des DNS globaux
1
2
3
4
5
6
7
8
9
mkdir -p /etc/systemd/resolved.conf.d
cat > /etc/systemd/resolved.conf.d/dns.conf <<'EOF'
[Resolve]
DNS=9.9.9.9 149.112.112.112 2620:fe::fe
FallbackDNS=1.1.1.1
DNSOverTLS=opportunistic
DNSSEC=allow-downgrade
EOF
systemctl restart systemd-resolved
Attention : si l’interface reçoit déjà des DNS par DHCP, ceux-ci restent utilisés en plus. Pour que vos DNS globaux soient prioritaires, ajoutez Domains=~. dans le même fichier (le ~. signifie « route par défaut pour toutes les requêtes »), ou fixez les DNS au niveau de l’interface.
Fixer les DNS d’une interface
Selon votre gestionnaire réseau :
-
systemd-networkd (
/etc/systemd/network/*.network) :1
[Network]DNS=9.9.9.9Domains=example.lan
puis
networkctl reload -
ifupdown (
/etc/network/interfaces) : les lignesdns-nameserversfonctionnent avecresolvconf, pas toujours avec resolved ; préférezsystemd-networkdouresolvectl dns eth0 9.9.9.9(temporaire, perdu au redémarrage).
Pour savoir lequel gère votre interface : networkctl (colonne SETUP : configured = networkd) ou cat /etc/network/interfaces.
Vider le cache
1
resolvectl flush-caches