J'utilisais Ubuntu 10.04.3 ou 11.04. Dans l'une ou l'autre de ces versions, les noms d'hôte tels que ec2-123-45-6-7.compute-1.amazonaws.com seraient résolus en une valeur privée dans la plage 10.0.0.0/8. Après la mise à niveau vers 12.04, ils sont désormais résolus en adresses publiques. Par exemple, 184.1.2.3. Il semble que c’est parce que Ubuntu utilise maintenant resolvconf. Il semble également que je cours nommé.
# more /run/resolvconf/interface/eth0.dhclient
domain ec2.internal
nameserver 172.16.0.23
# more /run/resolvconf/interface/lo.named
nameserver 127.0.0.1
/etc/resolv.conf est un lien symbolique vers /run/resolvconf/resolv.conf
more /etc/resolv.conf
# 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
nameserver 127.0.0.1
search ec2.internal
Si je modifie le fichier resolv.conf pour qu'il pointe vers 172.16.0.23 au lieu de 127.0.0.1, cela fonctionne correctement, mais après le redémarrage, il est modifié.
De plus, voici le contenu de /etc/resolvconf/resolv.conf.d
/etc/resolvconf/resolv.conf.d# more base
nameserver 172.16.0.23
domain ec2.internal
search ec2.internal
/etc/resolvconf/resolv.conf.d# more head
# 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
/etc/resolvconf/resolv.conf.d# more original
nameserver 172.16.0.23
domain ec2.internal
search ec2.internal
# more interface-order
# interface-order(5)
lo.inet*
lo.dnsmasq
lo.pdnsd
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
eth*
ath*
wlan*
ppp*
*
Les fichiers de configuration semblent être correctement configurés, mais il continue à revenir à 127.0.0.1. J'imagine qu'il veut pointer sur 127.0.0.1 pour pouvoir utiliser le service nommé local, ce qui semble vraiment étrange pour Ubuntu de l'installer et de l'utiliser par défaut.
Qu'est-ce que je fais mal? Existe-t-il un moyen "préféré" de procéder, au lieu de jouer avec resolvconf, devrais-je demander au service nommé local de résoudre correctement?
Faites en sorte que /etc/resolvconf/resolv.conf.d/base soit vide. Les informations qu'il contient sont fournies dynamiquement par dhclient à resolvconf.
Si vous n'avez pas besoin d'exécuter named
localement, désinstallez le paquet bind9.
Si vous devez exécuter named
localement et que vous ne souhaitez pas l'utiliser pour résoudre les noms localement, définissez RESOLVCONF=no
dans/etc/default/bind9, puis redémarrez. Définir RESOLVCONF = no empêche bind9 de ne pas enregistrer l'adresse 127.0.0.1 avec resolvconf au démarrage nommé.
Réf.: https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/93372