Recherche de site Web

Comment définir des serveurs de noms DNS permanents dans Ubuntu et Debian


Le /etc/resolv.conf est le fichier de configuration principal de la bibliothèque de résolution de noms DNS. Le résolveur est un ensemble de fonctions de la bibliothèque C qui permettent d'accéder au Système de noms de domaine Internet (DNS). Les fonctions sont configurées pour vérifier les entrées dans le fichier /etc/hosts, ou dans plusieurs serveurs de noms DNS, ou pour utiliser la base de données de l'hôte du Network Information Service (NIS ).

Sur les systèmes Linux modernes qui utilisent systemd (gestionnaire de système et de services), les services DNS ou de résolution de noms sont fournis aux applications locales via le résolu par systemd. Par défaut, ce service dispose de quatre modes différents pour gérer la résolution du nom de domaine et utilise le fichier stub DNS systemd (/run/systemd/resolve/stub-resolv.conf) dans le mode de fonctionnement par défaut.

Le fichier stub DNS contient le stub 127.0.0.53 local comme seul serveur DNS, et il est redirigé vers le fichier /etc/resolv.conf qui a été utilisé pour ajouter le serveurs de noms utilisés par le système.

Si vous exécutez la commande ls suivante sur /etc/resolv.conf, vous verrez que ce fichier est un lien symbolique vers /run/systemd/resolve/stub-resolv.conf< fichier.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Malheureusement, parce que le /etc/resolv.conf est indirectement géré par le service systemd-resolved, et dans certains cas par le service réseau (en utilisant des initscripts< ou NetworkManager), les modifications apportées manuellement par un utilisateur ne peuvent pas être enregistrées de manière permanente ou ne durent que pendant un certain temps.

Dans cet article, nous allons montrer comment installer et utiliser le programme resolvconf pour définir des serveurs de noms DNS permanents dans le fichier /etc/resolv.conf sous Debian et Ubuntu Linux.

Pourquoi voudriez-vous modifier le fichier /etc/resolv.conf ?

La raison principale pourrait être que les paramètres DNS du système sont mal configurés ou que vous préférez utiliser des serveurs de noms spécifiques ou les vôtres. La commande cat suivante affiche le serveur de noms par défaut dans le fichier /etc/resolv.conf sur mon système Ubuntu.

cat /etc/resolv.conf

Dans ce cas, lorsque des applications locales telles que le gestionnaire de packages APT tentent d'accéder aux FQDN (Noms de domaine entièrement qualifiés) sur le réseau local, le résultat est un «  Échec temporaire de la résolution de nom », comme indiqué dans la capture d'écran suivante.

La même chose se produit lorsque vous exécutez une commande ping.

ping google.com

Ainsi, lorsqu'un utilisateur tente de définir manuellement les serveurs de noms, les modifications ne durent pas longtemps ou sont révoquées après un redémarrage. Pour résoudre ce problème, vous pouvez installer et utiliser l'utilitaire reolvconf pour rendre les modifications permanentes.

Pour installer le package resolvconf comme indiqué dans la section suivante, vous devez d'abord définir manuellement les serveurs de noms suivants dans le fichier /etc/resolv.conf, afin d'accéder à les FQDM des serveurs de référentiel Ubuntu sur Internet.

nameserver 8.8.4.4
nameserver 8.8.8.8

Lire aussi : Comment configurer le DNS local à l'aide du fichier /etc/hosts sous Linux

Installation de resolvconf dans Ubuntu et Debian

Tout d'abord, mettez à jour les packages logiciels système, puis installez resolvconf à partir des référentiels officiels en exécutant les commandes suivantes.

sudo apt update
sudo apt install resolvconf

Une fois l'installation de resolvconf terminée, systemd déclenchera le démarrage et l'activation automatiques de resolvconf.service. Pour vérifier s’il est opérationnel, exécutez la commande suivante.

sudo systemctl status resolvconf.service

Si le service n'est pas démarré et activé automatiquement pour une raison quelconque, vous pouvez le démarrer et l'activer comme suit.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Définir des serveurs de noms DNS permanents dans Ubuntu et Debian

Ensuite, ouvrez le fichier de configuration /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

et ajoutez-y les lignes suivantes :

nameserver 8.8.8.8 
nameserver 8.8.4.4

Enregistrez les modifications et redémarrez resolvconf.service et systemd-resolved ou redémarrez le système.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Désormais, lorsque vous vérifiez le fichier /etc/resolv.conf, les entrées du serveur de noms doivent y être stockées de manière permanente. Désormais, vous ne rencontrerez aucun problème concernant la résolution de noms sur votre système.

J'espère que cet article rapide vous a aidé à configurer les serveurs de noms DNS permanents dans vos systèmes Ubuntu et Debian. Si vous avez des questions ou des suggestions, partagez-les avec nous dans la section commentaires ci-dessous.