web-dev-qa-db-fra.com

DNS réglé sur 127.0.0.53 de systemd - comment changer en permanence?

Je suis récemment passé à 17.10. Lorsque j'essaie de naviguer sur un site Web ou d'envoyer une requête ping à un domaine, il échoue en indiquant que le site ne peut pas être résolu.

network-admin affiche le contenu de /etc/resolv.conf sous la forme nameserver: 127.0.0.53

Si je change cela en 8.8.8.8 ou 208.67.222.222, alors tout fonctionne. Jusqu'à ce que je redémarre.

Lors du redémarrage ou de la reprise, le serveur de noms est réinitialisé à 127.0.0.53.

Comment puis-je définir de manière permanente le serveur de noms sur quelque chose qui fonctionne?


Pour les fans de systemd, si je lance systemd-resolve --status je reçois

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Si je suis le conseil à cette question - le DNS continue à se réinitialiser après le redémarrage. Ubuntu 17.1 - Le DNS ne parvient toujours pas à résoudre.

27
Terence Eden

Vous pouvez installer un paquet resolvconf, qui modifiera la manière dont /etc/resolv.conf est construit au démarrage du système.

Sudo apt install resolvconf

Vous pouvez ensuite créer ou modifier un fichier /etc/resolvconf/resolv.conf.d/tail. Si vous mettez dans ce fichier une ligne nameserver 8.8.8.8, cette ligne sera ajoutée à la fin de /run/resolvconf/resolv.conf au démarrage. /etc/resolv.conf sera maintenant un lien symbolique vers ce fichier.

23
oscar1919

J'utilise Lubuntu & Kubuntu 18.04. J'ai pu surmonter le problème DNS en 2 étapes:

Première étape: Installez unbound et configurez-le pour remplacer systemd-resolved car Grégoire C montre ici .

Sudo systemctl disable systemd-resolved
Sudo systemctl stop systemd-resolved
Sudo systemctl enable unbound-resolvconf
Sudo systemctl enable unbound

redémarrer

Ouvrez en tant que root le fichier /etc/NetworkManager/NetworkManager.conf

(Sudo leafpad /etc/NetworkManager/NetworkManager.conf dans Lubuntu 18.04 ou dans Kubuntu 18.04 Sudo_EDITOR=kate sudoedit /etc/NetworkManager/NetworkManager.conf)

et en dessous de [main], mettez cette ligne:

dns=unbound

redémarrer à nouveau

Deuxième étape: Si, après le redémarrage, le problème n'est toujours pas résolu, comme ce fut le cas dans mon cas, démarrez le gestionnaire de fichiers en tant que root, accédez à /etc, supprimez resolv.conf et créez un nouveau resolv.conf. Laissez-le vide et redémarrez le système d'exploitation. Dans mon cas, après ce redémarrage, le problème a disparu.

Dans Kubuntu 18.04, vous ne pouvez pas démarrer Dolphin en tant qu’utilisateur root. Par conséquent, vous pouvez d'abord accéder à /etc et ouvrir le terminal à partir de là, puis taper Sudo su et appuyer sur Entrée pour l'utiliser en tant que root et puis supprimez resolv.conf à l’aide de la commande rm resolv.conf. Ensuite, vous pouvez créer un nouveau fichier vide sur votre bureau, nommez-le resolv.conf et ouvrez un terminal à partir de cet emplacement. Utilisez la commande Sudo su pour entrer le mode racine du terminal, puis copiez le nouveau resolv.conf de votre bureau vers /etc à l'aide de la commande cp resolv.conf /etc.

Je dois ajouter que je n'ai pas essayé de faire la deuxième étape avant d’installer unbound, la prochaine fois que je le ferai, il suffit de voir si ce sera suffisant ou non.

travaillant dans le paradigme systemd ajouter un DNS à un lien/périphérique

using ubuntu 17.10 + ajoutez un fichier *.network:

Sudo nano /lib/systemd/network/100-somecustom.network:

100-somecustom.network (100 peut être un nombre quelconque pour la priorité et nécessite l'extension de fichier .network):

[Match]
Name=wlo1 # the device name here

[Network] # add multiple DNS 
DNS=8.8.8.8
DNS=208.67.222.222

Puis redémarrez:

Sudo service systemd-networkd restart

Regardez aussi dans:

netplan apply

Puis vérifier:

systemd-resolve --status wlo1

De la page d'information info systemd.network:

En plus de /etc/systemd/network, drop-in ".d" répertoires peut êtreplacé dans/lib/systemd/network ou/run/systemd/network = répertoires. Les fichiers dans/etc ont priorité sur ceux de/run, qui à leur tour ont priorité sur ceux de/lib. Les fichiers insérés sous l’un de ces répertoires ont la priorité sur le fichier netdev principal, où qu’il se trouve. (Bien sûr, puisque/run est temporaire et que/usr/lib est destiné aux fournisseurs, il est peu probable que des drop-ins soient utilisés à ces endroits.)

ne autre approche consiste à désactiver le DNSStubListener pour une utilisation avec dnsmasq:

Sudo nano /etc/systemd/resolved.conf:

#
DNSStubListener=false

en relation:

6
jmunsch

La solution correcte consisterait à résoudre le problème résolu par systemd au lieu d'essayer de guérir la migraine avec une guillotine.

C'est un outil de Nice, vraiment, s'il est utilisé correctement.

À en juger par votre systemd-resolve --status output ...

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

... votre outil de gestion de réseau ne transmet pas la configuration DNS par interface à résolue par systemd.

Les versions récentes de NetworkManager, par exemple, le feraient automatiquement si /etc/resolv.conf est un lien symbolique pointant vers /run/systemd/resolve ou vers /usr/lib/systemd/resolv.conf. Sinon, les versions récentes de systemd-resolut essaient d'etre compatibles avec l'interface resolvconf historique en installant un binaire resolvconf qui parle a systemd-resol.

Bien que l’utilisation de l’une ou l’autre de ces solutions soit préférable, si vous recherchez une solution rapide et compliquée, vous pouvez simplement configurer systemd-resol pour utiliser vos serveurs DNS de manière globale:

$ cat /etc/systemd/resolved.conf
<...>
[Resolve]
DNS=8.8.8.8 8.8.4.4
<...>

Puis redémarrez systemd-resolved.service ou redémarrez.

2
intelfx

Voici comment je modifie mon enregistrement DNS sur la configuration de l'interface.

$ vi /etc/netplan/50-cloud-init.yaml

Changer les adresses du serveur de noms, auparavant il était .4 puis je l'ai changé en .3:

...
            nameservers:
                addresses:
                - 192.168.1.3
...

Enregistrez la configuration puis appliquez la configuration:

$ Sudo netplan apply

Après cela, redémarrez le service resolvectl.

$ Sudo systemctl restart systemd-resolved.service

Pour les notes: J'ai redémarré le serveur et les modifications que j'ai apportées sont toujours intactes. J'utilise la commande resolvctl dns pour vérifier l'enregistrement DNS.

1
kapten

Peut-être un peu tard, mais j'ai rencontré ce problème. Je dois admettre que j'ai configuré manuellement mes paramètres réseau via cli auparavant et non via le gestionnaire de réseau intégré. Je cours Ubuntu 18.04.

Ainsi, après avoir désactivé et réactivé systemd.resolved.service, ce comportement erratique consistant à perdre ma configuration DNS de manière aléatoire a été résolu.

systemctl disable systemd.resolved.service
reboot

après le redémarrage:

systemctl enable systemd.resolved.service
reboot

Je suis un utilisateur Linux relativement récent, il doit donc y avoir quelqu'un qui peut expliquer le comment et pourquoi cela aurait fonctionné pour moi, mais il semblait utile de mentionner si cela peut aider les autres.

0
Sjoerd

Eu quelques problèmes avec NordVPN alors décidé d’ajouter à cela.

Résultats:
NordVPN définit /run/systemd/resolve/resolv.conf paramètres DNS lors de la connexion.
NordVPN supprime tous les paramètres DNS de /run/systemd/resolve/resolv.conf lors de la déconnexion.
Cela fait que le serveur DNS ne fonctionne plus (car il n'y a pas un seul ensemble).

Le système a besoin d'un redémarrage pour le rétablir. Un redémarrage standard du service (Sudo systemctl restart systemd-resolved.service) ne fonctionne pas.

La solution pour contourner ce problème:

Sudo apt install resolvconf

Allez sur /etc/resolvconf/resolv.conf.d/

cd /etc/resolvconf/resolv.conf.d/
Sudo nano tail

Ajouter des serveurs de noms

nameserver 1.1.1.1
nameserver 1.0.0.1

Vérifiez les emplacements suivants pour les serveurs de noms qui auraient pu être définis:

/run/resolvconf/interface/original.resolvconf
/run/resolvconf/interface/systemd-resolved
/etc/resolvconf/resolv.conf.d/tail
/etc/resolvconf/resolv.conf.d/head
/etc/systemd/resolved.conf
/run/systemd/resolve/resolv.conf
/run/systemd/resolve/stub-resolv.conf

Testez les serveurs DNS utilisés avec:

nslookup google.com

Server:         1.1.1.1
Address:        1.1.1.1#53
0
Eirik Rimehaug