Mon serveur DNS est 192.168.1.152
.
Ce DNS est fourni aux clients par DHCP. Les clients Windows sur mon réseau local résolvent les noms correctement à l'aide de ce DNS, mais ce n'est pas le cas de ma machine virtuelle Ubuntu.
La machine virtuelle est configurée avec un réseau de pont et le serveur DNS est correctement fourni, mais mes noms d'hôte locaux ne sont pas résolus par nslookup ou les navigateurs.
Voici nslookup
un de mes domaines locaux:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
Voici ce qu'il faut résoudre en utilisant mon serveur DNS:
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
/etc/resolv.conf
a un mauvais serveur de noms:
# 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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
J'ai couru cette commande. Sous Serveurs DNS, il est difficile de spécifier le bon serveur (et ma passerelle par défaut).
root@ubuntu:~# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens33)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.152
192.168.1.1
Je ne veux pas "coder en dur" l'adresse IP du serveur DNS dans un fichier de configuration car je ne pourrai pas résoudre le problème lorsque je changerai de réseau.
Comment puis-je obtenir que resolvconf et NetworkManager définissent automatiquement l'adresse IP du serveur DHCP /etc/resolv.conf
?
la source
Bug système connu .
Solution de contournement temporaire sans qu'il soit nécessaire de reconfigurer si l'IP du DNS change:
la source
/etc/resolv.conf
provient de/run/systemd/resolve/stub-resolv.conf
bollox, il devrait être/run/systemd/resolve/resolv.conf
noté qu’il/etc/resolv.conf
n’existe pas vraiment dans les deux casping
marche alors?host
etnslookup
résolvez les noms d'hôtes différemment deping
ouwget
. Vous devrez peut-être rechercher/etc/nsswitch.conf
une solution.J'ai finalement obtenu une solution à ce problème pour Ubuntu 17.10. Par défaut, cette version d'Ubuntu utilise
systemd-resolved
, j'espère qu'elle sera stable pour les prochaines versions.Pour utiliser des DNS personnalisés à la place du cache local résolu par systemd, procédez comme suit:
ajouter de nouveaux serveurs de noms. Editez le fichier en
/etc/systemd/resolved.conf
tant que sudoer. Ici, j'ai commenté l'entrée DNS et placé mon DNS[Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4
annuler le lien symbolique actuel vers
/etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo service systemd-resolved restart
sudo systemctl restart networking
Et maintenant, si vous creusez un nom fourni par votre add DNS, vous devriez voir l'enregistrement résolu
dig nexus.default.svc.cluster.mydomain
La dernière étape consiste à mettre à jour l’ordre de résolution dans
/etc/nsswitch.conf
, en plaçant le DNS avant le mdns4_minimalla source
J'ai mis en place un script qui résout le problème de Netplan ne prenant pas en charge la possibilité de remplacer les serveurs DNS fournis par DHCP et l'ordre de recherche de domaine. Il crée le fichier Netplan yaml et configure systemd-resol pour fonctionner comme prévu.
la source
La solution qui a fonctionné pour moi est affichée ici sur mon blog
Utilisez nano editor pour éditer ces 2 fichiers
Ajouter les serveurs DNS que vous souhaitez utiliser
Puis redémarrez le service
Vérification finale:
Faire nslookup
Je viens de l'utiliser et cela a résolu le problème sur mon ordinateur portable à la maison, mais quelque temps dans l'avenir, quand je serai hors de mon réseau domestique, je peux voir que cela causera des problèmes, car le serveur DNS principal et secondaire sera toujours mon domicile. serveurs avec leurs adresses LAN.
la source
/etc/resolv.conf
ne fonctionne pas car le fichier sera écrasé lors dusystemd-resolved
redémarrage. Juste éditer/etc/systemd/resolved.conf
. Voir ma réponse ici: askubuntu.com/questions/977243/ubuntu-17-10-disable-netplan/…Votre
/etc/resolv.conf
n'est pas le problème.systemd-resolved
juste par défaut à non configuré, de sorte qu'il échoue toutes les recherches. N'hésitez pas à vous plaindre à propos de Unconfigured vs A Reasonable Default.Ajoutez manuellement des serveurs de noms à
systemd-resolved
. (éditer selon le commentaire d'Olorin ci-dessous pour ajoutermkdir
,/etc
ne pas corriger le chemin/lib
, afin de survivre aux mises à jour du système)Ajouter:
Ensuite...
systemd-resolved
est intelligent, mais, non configuré comme il est, par les responsables de paquets, il regarde juste stupide parce que les responsables de paquets ne croient pas en un défaut raisonnable. Nous pouvons y placer 13 serveurs racine Internet "alias djb way", ou 10 serveurs opennic: https://pastebin.com/JBfYVVtG ou les trois serveurs opennic les plus rapides, tels que mesurés par namebench. Plus les serveurs de noms FAI, bien sûr. Plus Google, bien sûr.systemd-resolved
n'est pas le problème. Je suis le problème.la source
/usr/lib
, ceux-ci seront probablement écrasés lors de la mise à niveau du paquet. Je pense qu'un fichier correspondant quelque part/etc/systemd
est la voie à suivre (il devrait déjà être/etc/systemd/resolved.conf
prêt à être édité par les administrateurs).J'ai trouvé un mauvais lien symbolique sur mon système:
/etc/resolv.conf
était-ce un lien symbolique qui pointe vers/run/systemd/resolve/stub-resolv.conf
Ce fichier contient une seule ligne:
En conséquence, la recherche DNS du réseau local était souvent manquante.
Donc, au lieu de cela, j'ai changé
/etc/reolv.conf
pour indiquer/run/systemd/resolve/resolv.conf
et fonctionne maintenant correctement.
la source
C'est étrange mais la seule solution qui a fonctionné pour moi sur Ubuntu 18.04 est celle que j'ai trouvée ici :
Commencez
/etc/resolv.conf
par changer en définissant le serveur de noms souhaité :Définir, par exemple,
Et ensuite
Cela protège le
/etc/resolv.conf
fichier de sorte que personne ne puisse le modifier, y compris l'utilisateur root.la source
J'ai le même problème. Chaque redémarrage, rien ne résoudra. J'ai tout désinstallé et déjà réinstallé environ 50 fois. C'est tout simplement cassé.
le correctif est donc .... "il suffit d'appliquer quelques paramètres chaque fois que vous démarrez votre ordinateur, ce qui permet à 90% des noms d'hôte de se résoudre, mais les mises à jour et mises à niveau de wget et apt-get échoueront de manière aléatoire sans raison"
cat /etc/systemd/resolved.conf
Si vous utilisez Ubuntu 17.10 Desktop, vous devez éditer le fichier qui dit NE PAS MODIFIER CE FICHIER BLAH BLAH BLAH
Eh bien c'est la seule façon que cela fonctionne ~!
Supprimez donc l'adresse IP 127.0.0.53 en tant que serveur de noms et entrez-en un autre, Google par exemple. Il semble que mon adresse IP DNS réelle ne résolve pas non plus les noms d’hôte (même si elle fonctionne sur 10 autres machines et appareils de la maison), mais celle de Google fonctionne bien.
la source