J'utilise un serveur BIND9 local pour héberger certains enregistrements DNS locaux. Lorsque j'essaie de creuser pour un nom de domaine local, je ne le trouve pas si je ne dis pas explicitement à Dig d'utiliser mon serveur BIND9 local.
user@heimdal:~$ Dig +short heimdal.lan.se
user@heimdal:~$ Dig +short @192.168.1.7 heimdal.lan.se
192.168.1.2
Ubuntu 17.04 et résolu par systemd sont utilisés. Ceci est le contenu de mon/etc/résolu
# 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
Et la sortie de systemd-resolver --status
Global
DNS Servers: 192.168.1.7
192.168.1.1
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
La section Serveurs DNS semble avoir correctement configuré 192.168.1.7 comme serveur DNS principal (mon instance BIND9 locale). Je ne comprends pas pourquoi il n'est pas utilisé ...?
Ainsi, la modification de mon interface filaire eth0 à gérer a résolu ce problème pour moi.
Changer ifupdown en managed = true dans /etc/NetworkManager/NetworkManager.conf
[ifupdown]
managed=true
Redémarrez ensuite NetworkManager
Sudo systemctl restart NetworkManager
Après cela, cela fonctionne parfaitement ..
Ce n'était pas 100%. J'ai également appliqué ces changements pour essayer de tuer le résolveur
Sudo service resolvconf disable-updates
Sudo update-rc.d resolvconf disable
Sudo service resolvconf stop
Un grand merci à ce billet de blog concernant le sujet: https://ohthehugemanatee.org/blog/2018/01/25/my-war-on-systemd-resolved/
Permet de prier pour que cela fonctionne. Toute cette affaire de résolution de problèmes est tellement moche.
Je suppose que votre systemd-resolved
le service est configuré correctement, mais il ne voit jamais la demande. Le .local
le domaine est traité spécialement par les systèmes exécutant mDNS . avahi-daemon
, qui fournit des services mDNS/DNS-SD (alias "Bonjour" sur Apple) peut être configuré pour avoir la priorité sur DNS pendant la résolution de nom; il semble qu'Ubuntu le fasse.
Vous pouvez choisir parmi plusieurs options:
Renommez votre .local
domaine vers quelque chose de différent (éventuellement .internal
ou .lan
). Cela peut être le plus facile à faire dans la pratique, car il vous suffit de modifier quelques éléments sur votre serveur DNS, et cela fonctionne mieux avec Avahi. Je recommanderais cette méthode.
Modifiez votre /etc/nsswitch.conf
file en plaçant l'entrée dns
devant les entrées mdns
.
Modifier la configuration d'Avahi pour changer le domaine mDNS de .local
vers autre chose en modifiant /etc/avahi/avahi-daemon.conf
et modifier (ou ajouter) domain-name=.something
(situé dans la [server]
section). Vous devrez le faire sur tous les ordinateurs qui utilisent mDNS pour qu'ils fonctionnent toujours ensemble.
Pour moi, en exécutant un 18.04 récemment installé, j'ai apporté la première modification citée par @Civing:
[ifupdown]
managed=true
puis, notant que /etc/resolv.conf pointait toujours stub-resolv.conf et qu'un resolv.conf raisonnable avec le bon serveur DNS LAN était en cours de génération, a changé le lien symbolique:
/etc/resolv.conf -> /run/systemd/resolve/resolv.conf
puis local tous les noms d'hôtes résolus via ping.
Il reste à voir combien de temps cela continuera de fonctionner.
Lors de la première installation, la configuration du réseau sans fil a échoué et je ne peux m'empêcher de me demander si l'installation a laissé /etc/resolv.conf dans cet état initial.
Donc, une suggestion est de regarder ce que génère la résolution; vous avez peut-être déjà une base de travail.
Semble que ce serait mieux comme commentaire, mais pas assez de réputation ....
La réponse de Civing était le plus conforme à ce que je voulais.
J'ai aussi dû ajouter dns=none
à la [main]
section de /etc/NetworkManager/NetworkManager.conf
, cela ressemble à ceci:
[main]
plugins=ifupdown,keyfile
dns=none
Je viens de passer à xubuntu 18.04, à partir de 14.04, et j'ai un LAN plus ancien que cela, avec de nombreux petits ajustements accumulés au fil des ans. Je veux donc que mon DNS fasse ce que je veux (oui, j'ai acheté de nombreux exemplaires du livre de Cricket Lius au fil des ans, à commencer par la deuxième édition).
En passant, j'avais précédemment ajouté les informations de résolution DNS que je veux voir au fichier /etc/resolvconf/resolv.conf.d/head
.
En un mot, une fois que j'avais un /etc/resolv.conf de travail, en tant que root:
cat /etc/resolv.conf >> /etc/resolvconf/resolv.conf.d/head
Mais maintenant, je viens de modifier /etc/resolv.conf directement, et ça reste en place. Les visiteurs de mon LAN, qui utilisent systemd/resolvconf, sont SOOL. Ils n'existent pas.
En train de lire man 8 resolvconf
aidé. Beaucoup. J'ai pas suivi les instructions pour mettre les choses là où le programme ifup pouvait les trouver. Principalement parce qu'il y a toute une superstructure dans l'interface graphique qui était déjà ignorée par tout ce qui a été fait pendant la mise à niveau. Cela semble être un problème plus important (WTF, Ubuntu?).
Donc, c'est énormément, et il y a toujours le problème que ce que j'avais (il y a longtemps) entré dans l'interface graphique du panneau de contrôle réseau n'était pas obéi par le système nouvellement mis à niveau, mais c'est une question totalement différente, une fois que j'ai compris comment demande-le.