J'essaye juste le dernier Ubuntu 19.04 et il a quelques différences avec resolv.conf lors de l'exécution de ma propre liaison localement. Précédemment dans 18.04 resolv.conf ressemble à ceci
nameserver 127.0.0.1
nameserver 127.0.0.53
alors qu'en 19.04, il a changé pour
nameserver 127.0.0.53
options edns0
Si j'utilise Dig ou nslookup pour rechercher une recherche DNS, il n'utilise pas la configuration de liaison locale et obtient un fichier introuvable.
Si je mets
Dig www.example.com @127.0.0.1
vs la valeur par défaut Dig www.example.com
Dig www.example.com @127.0.0.53
il fonctionne et obtient une réponse appropriée à la recherche.
J'ai essayé d'ajouter un fichier netplan yaml /etc/netplan/00-private-nameservers.yaml
network:
version: 2
ethernets:
enp0s3:
nameservers:
addresses:
- 127.0.0.1
- 1.1.1.1
- 1.0.0.1
- 8.8.8.8
- 4.4.4.4
#search: [ nyc3.example.com ]
mais cela ne change pas resolv.conf pour faire la recherche locale comme je le pense.
Cette version est nouvelle pour moi et je ne sais pas s'il s'agit d'un bug ou quoi? Encore une fois, j'exécute bind localement et je m'attends à ce qu'il résolve les recherches de domaines localement.
[J'ai ajouté ceci en ce qui concerne le commentaire ci-dessous.]
root@server:/tmp# systemd-resolve --status
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
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 (enp0s3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 127.0.0.1
1.1.1.1
1.0.0.1
8.8.8.8
4.4.4.4
192.168.2.1
2001:569:7552:3900:4a5f:38ee:fe29:130
Sans les serveurs de noms privés, il apparaît
Link 2 (enp0s3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.2.1
2001:569:7552:3900:4a5f:38ee:fe29:130
Vous pouvez éditer /etc/systemd /olved.conf
et définissez le DNS sur la liaison en cours d'exécution alias DNS Server via
[Resolve]
DNS=127.0.0.1
redémarrer avec
systemctl restart systemd-resolved.service
et lorsque vous creusez (ou recherchez comme expliqué ci-dessus), vous obtenez (juste) un www.example.com Un enregistrement avec un fichier IP de fichiers de zone servis localement le résultat IP approprié mais il n'affiche pas autant d'informations que ce que vous obtenez si vous ajoutez @ 127.0.0.1 ou le resolv.conf a 127.0.0.1 devant 127.0.0.53
Ceci est une réponse partielle provenant de l'aide dans les commentaires et doit être conservée et non supprimée comme toutes les autres réponses que j'ai ajoutées qui ont été supprimées au motif qu'elles n'étaient pas déclarées comme celle-ci comme réponse valide/utile ou réponses partielles, mais elles probablement utile dans certaines situations. Dans mon cas, je fais DNSSEC etc. et j'ai besoin de voir des résultats plus substantiels comme ceux de @ 127.0.0.1 ou du moins c'est pourquoi je n'ai pas mis plus de clarté sur le fait qu'il soit correct dans certains cas. Je m'attendais bien sûr à la réponse complète que vous obtenez lorsque le resolv.conf pointe directement vers le DNS s'exécutant sur le système à 127.0.0.1 et non chaîné via 127.0.0.53 à la passerelle de routeur fournie par DHCP (généralement).
[Veuillez également noter que les maigres commentaires sont insuffisants pour montrer le travail avec les blocs de code et les résultats, d'où l'importance de ne pas supprimer la discussion des communautés sur la résolution de ces problèmes ensemble. Veuillez considérer plusieurs drapeaux d'utilisateurs pour l'état de suppression.]
Ouais, ça me rend aussi fou. Et franchement, je n'ai pas eu assez de patience pour l'analyser en profondeur donc je ne répondrai pas à votre question de manière directe.
Mais fondamentalement, il y a cette unité systemd-encore-anoher-crazy-nommée résolue par systemd , qui se lie à 127.0.0.53:53
à la fois tcp et udp. Voilà pourquoi vous voyez nameserver 127.0.0.53
dans ton /etc/resolv.conf
.
Plus que ça /etc/resolv.conf
est laissé pour compatibilité par systemd-resolu comme lien symbolique vers /run/systemd/resolve/stub-resolv.conf
.
Et c'est la partie que je ne comprends pas complètement, mais même si je configure mes serveurs DNS dans /etc/systemd/resolved.conf
, qui semble être un fichier de configuration résolu par systemd, certains programmes ne l'utilisent tout simplement pas. Pourquoi? Aucun indice pour l'instant.
Comment je vis avec ça? J'ai également défini mes serveurs DNS dans NetworkManager
. Ensuite, avec mes serveurs DNS définis à l'intérieur /etc/systemd/resolved.conf
et dans NetworkManager
je l'ai vraiment réglé.
Qu'en est-il de netplan.io
? Je ne comprends pas encore. Mais en ce qui concerne les serveurs DNS, cela ne semble rien faire pour moi pour le moment.
D'accord, merci. Je résistais à l'évidence car elle n'était pas incluse. Je suis à peu près sûr que c'est un bug de façon réaliste, mais les attentes des développeurs de systèmes d'exploitation et l'utilisation imaginée doivent être différentes ou changeantes. Je pense qu'ils pensent que si vous exécutez un DNS, il ne recherche rien d'irréaliste à mon avis. Il me semblait bizarre qu'ils aient supprimé la façon dont cela fonctionnait auparavant et ne couvraient pas correctement leurs bases. (Encore une fois, j'essaierai de signaler les bogues, car il semble peut-être un oubli ou une différence d'opinions essayant d'être maigre, etc. J'avais espéré (et il y a encore une chance) que quelqu'un a trouvé une meilleure façon (et commentera ici), puis de restaurer les fonctionnalités précédentes manuellement pour qu'elles fonctionnent réellement. Quoi qu'il en soit, jusqu'à ce qu'elles reviennent dans Ubuntu 20.04 ou quoi que ce soit d'autre.
apt install resolvconf
puis modifiez ou ajoutez le fichier de configuration du démon du service resolvconf pour pointer vers l'ip locale 127.0.0.1
pico /etc/resolvconf/resolv.conf.d/head
comme ça il ressemblera
nameserver 127.0.0.1
puis redémarrez cette partie
service resolvconf restart
et voila le Dig www.example.com reviendra et le /etc/resolve.conf sera restauré à son état approprié de
nameserver 127.0.0.1
nameserver 127.0.0.53
options edns0
Eh bien, les options edns0 ont été récemment ajoutées à Ubuntu 19.04 alors que cela n'existait pas en 18.04 et comme vous le savez, car nous ajoutons le package bind9, je suppose que vous devez également ajouter/restaurer ce package resolveconf si vous utilisez la machine locale être en mesure de résoudre les enregistrements DNS qu'il fournit. Je suppose que s'ils sont correctement encordés dans le système mondial, vous pourriez également ne pas en avoir besoin, alors peut-être que vous/nous avons besoin de plus de foi le resolveconf mais il faut tester qu'il fonctionne localement je pense et oui je veux qu'il fonctionne localement sans dire à chaque commande comment pour trouver le serveur local en premier, etc.