web-dev-qa-db-fra.com

Pourquoi /etc/resolv.conf ne se met-il pas à jour lorsque je change de DNS?

J'ai essayé de changer mon DNS en 8.8.8.88.8.4.4 mais ne semble pas pouvoir le faire.

Dans /etc/resolv.conf j'ai

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Dans /etc/resolvconf/resolv.conf.d/base j'ai ajouté

nameserver 8.8.8.8
nameserver 8.8.4.4

et rechargé avec Sudo resolvconf -u

mais rien ne change dans /etc/resolv.conf

Si je mal orthographie quelque chose dans /etc/resolvconf/resolv.conf.d/base, par exemple, ajouter ameserver 8.8.8.8 et recharger cat /etc/resolv.conf apparaît maintenant.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
ameserver 8.8.8.8

Que dois-je faire pour changer le DNS et comment puis-je vérifier si cela a fonctionné?

4
Qwertie

Pour approfondir l'autre réponse ici, et pour dissiper certaines confusions, si vous utilisez Network Manager pour gérer vos connexions, il inclut également une petite version de dnsmasq. C'est ce à quoi l'adresse 127. * se trouve dans votre resolv.conf - l'adresse IP de localhost, où dnsmasq s'est lié à.

Network Manager, lorsqu'il est configuré avec les serveurs DNS, indiquera à dnsmasq à quels serveurs DNS relayer les demandes.

Si vous définissez 8.8.8.8 comme serveur DNS dans les paramètres de Network Manager, Dnsmasq transmettra toutes les demandes qui ne sont pas mises en cache à 8.8.8.8 pour résolution, tandis que votre ordinateur envoie les demandes DNS directement à Dnsmasq pour le traitement.

C'est déroutant, je le sais, mais vous ne pouvez pas vous fier à resolv.conf pour afficher les serveurs DNS utilisés lorsque vous utilisez Network Manager pour gérer les connexions.

5
Thomas Ward

Tout d'abord revenir tout ce que nous avons fait dans les commentaires.

Utilisation:

$ nmcli device 

pour obtenir le statut de gestionnaire de réseau:

DEVICE  TYPE      STATE        CONNECTION 
enp3s0  ethernet  connected    myConnection

Donc, mon interface est enp3s0 et mon nom de connexion est myConnectionname__.

Je peux vérifier quel serveur DNS ma connexion utilise:

$ nmcli -f IP4.DNS connection show myConnection

Pour vous, je suppose que ça va montrer:

ipv4.dns:                               127.0.0.1

Maintenant définissons les serveurs DNS que vous souhaitez:

nmcli connection modify myConnecion ipv4.dns "8.8.8.8, 8.8.4.4"

Après tout recharger la connexion:

nmcli connection down myConnecion
nmcli connection up myConnecion

Puis vérifiez /etc/resolv.conf:

cat /etc/resolv.conf

S'il indique toujours que vous utilisez 127.0.0.1 en tant que serveur DNS, il y a de grandes chances que vous utilisiez "dnsmasq", pour être sûr que vous exécutez:

Sudo ss -pln sport = 53

Vous devez obtenir le nom dnsmasqen tant que processus à l'écoute sur le port 53, pour que tout fonctionne correctement et que vous utilisiez le nom DNS correct, 127.0.0.1 n'est qu'une couche entre vous et les serveurs que vous avez définis.

Si vous voulez réellement voir "8.8.8.8" dans /etc/resolv.conf, vous devez désactiver "dnsmasq".

Ouvrez ce fichier:

/etc/NetworkManager/NetworkManager.conf

Remplacez dns=dnsmasq par #dns=dnsmasq.

Finalement:

Sudo systemctl restart NetworkManager

Maintenant, vérifiez à nouveau /etc/resolv.conf.

3
Ravexina