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.
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.
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:
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.
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.
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.
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