web-dev-qa-db-fra.com

Dnsmasq ne fonctionne pas à des adresses de pointe à 127.0.0.1

J'aimerais avoir .local adresses (telles que test.local) pour indiquer 127.0.0.1 Mais ça ne marche pas. Je suis sur le dernier Ubuntu. Dans /etc/networkmanager/networkmanager.conf j'ai commenté dns=dnsmasq Alors Sudo service network-manager restart.

J'ai ensuite installé Dnsmasq et a ajouté un address=/local/127.0.0.1 à /etc/dnsmasq.d/mycustomfile alors a fait Sudo service dnsmasq restart. En dehors de ce que j'ai mentionné, je n'ai fait aucun autre changement.

Mais quand je visitant le test.Local, il ne résout pas à 127.0.0.1, faire un ping de cette adresse .Local n'a pas non plus de succès. Peut-être le contenu de /etc/resolv.conf sont pertinents, c'est juste la valeur par défaut que je ne l'ai pas changée:

# 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 222.11.22.36
nameserver 222.11.22.37

C'est la sortie lorsque j'exécute Dnsmasq non comme un démon:

$ Sudo dnsmasq --no-daemon     
dnsmasq: started, version 2.68 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 222.11.22.37#53
dnsmasq: using nameserver 222.11.22.36#53
dnsmasq: read /etc/hosts - 9 addresses

Lorsque DNSMASQ est exécuté, les mises à jour /etc/resolv.conf sont automatiquement mises à jour (et revenez à l'entrée ci-dessus lorsque DNSMASQ est arrêté):

# 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

Et ça:

$ Sudo nslookup test.local 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   test.local
Address: 127.0.0.1

Mais toujours faire un ping à localhost ne fonctionne pas.

Que dois-je faire pour que DNSMASQ fonctionne pour résoudre les adresses? Local?

4
user779159

local semble être une sorte de mot-clé réservé, au moins sur Ubuntu:

  • address=/local/127.0.0.1 - ne fonctionne pas.
  • address=/loc/127.0.0.1 -- travaux.
6
Dmitri

On dirait que dnsmasq commence correctement. Vous devez tester si DNSMASQ travaille correctement avec nslookup test.local 127.0.0.1.

Pour vous assurer que le système utilise DNSMASQ, vous devez mettre à jour le /etc/resolv.conf utiliser nameserver 127.0.0.1 comme première option.

Vous pouvez également utiliser une configuration de résolution Custo en amont sur DNSMASQ avec --resolv-file=/etc/resolv.conf.dnsmasq.

7
denisvm