/etc/resolv.conf

De ArchwikiFR


/etc/resolv.conf est le fichier de configuration de la bibliothèque resolver permettant de déterminer, entre autre, quel(s) serveur(s) DNS utiliser pour résoudre un nom de domaine.

Configuration

Vous pouvez définir autant de serveurs DNS à utiliser que vous voulez avec la syntaxe suivante :

nameserver [adresse IP du serveur de nom]

Par exemple,

  • pour le nouveau serveur de DNS, se proclamant respectueux de votre vie privée, Cloudflare, on écrira :
## Cloudflare
nameserver 1.1.1.1
# pour IPv6
nameserver 2606:4700:4700::1111,2606:4700:4700::1001
  • pour le serveur 8.8.8.8 (Google DNS), on écrira :
nameserver 8.8.8.8

À noter que lors de la tentative de résolution d'un domaine, l'ordinateur lit d'abord la première ligne. Si la résolution aboutit avec le premier serveur de nom, la lecture du document s'arrête ici. Si elle échoue, l'ordinateur lit alors le deuxième ligne, et ainsi de suite.

Vous pouvez jouer sur le temps de passage d'un serveur à l'autre avec l'option timeout :

options timeout:1

Écrasement du fichier

Certains programmes tels que dhcpcd, networkmanager, ... peuvent modifier /etc/resolv.conf. C'est un comportement normal et souvent souhaité. Ceci dit, si pour une raison ou une autre, vous voulez spécifier des options différentes, vous pouvez empêcher la modification de ce fichier :

chattr +i /etc/resolv.conf
Astuce : Certains programmes peuvent être configurés pour ne pas écraser le fichier. dhcpcd, par exemple n'écrase pas le fichier avec :
Fichier: /etc/dhcpcd.conf
#...
nohook resolv.conf


Astuce : Alternativement, vous pouvez créer un fichier appelé /etc/resolv.conf.head contenant vos serveurs DNS. Ceci les placera en tête de votre fichier /etc/resolv.conf à chaque re-création de celui-ci, que ce soit par dhcpcd, NetworkManager, ou autres qui utiliseraient openresolv

Pour lancer de suite la mise à jour de /etc/resolv.conf, la commande est:

# sudo resolvconf -u