dnsmasq no funciona para apuntar direcciones .local a 127.0.0.1

dnsmasq no funciona para apuntar direcciones .local a 127.0.0.1

Me gustaría obtener .localdirecciones (como test.local) a las que señalar, 127.0.0.1pero no funciona. Estoy en la última versión de Ubuntu. En /etc/NetworkManager/NetworkManager.conf comenté dns=dnsmasqy luego lo hice sudo service network-manager restart.

Luego instalé dnsmasq y agregué un archivo address=/local/127.0.0.1a /etc/dnsmasq.d/mycustomfile y luego lo hice sudo service dnsmasq restart. Aparte de lo que he mencionado, no hice ningún otro cambio.

Pero cuando visito test.local no se resuelve en 127.0.0.1 y tampoco se realiza un ping a esa dirección .local. Tal vez el contenido de /etc/resolv.confsea relevante, es solo el valor predeterminado. No lo cambié:

# 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

Este es el resultado cuando ejecuto dnsmasq no como un demonio:

$ 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

Cuando dnsmasq se está ejecutando, /etc/resolv.conf se actualiza automáticamente (y vuelve a la entrada anterior cuando se detiene dnsmasq):

# 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

Y esto:

$ 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

Pero seguir haciendo ping a localhost no funciona.

¿Qué debo hacer para que dnsmasq funcione para resolver direcciones .locales?

Respuesta1

localParece ser algún tipo de palabra clave reservada, al menos en Ubuntu:

  • address=/local/127.0.0.1-- no funciona.
  • address=/loc/127.0.0.1-- obras.

Respuesta2

Parece que dnsmasq se está iniciando correctamente. Debe probar si dnsmasq funciona correctamente con nslookup test.local 127.0.0.1.

Para asegurarse de que el sistema esté usando dnsmasq, debe actualizar para /etc/resolv.confusarlo nameserver 127.0.0.1como primera opción.

También puede utilizar una configuración de resolución ascendente de custo en dnsmasq con --resolv-file=/etc/resolv.conf.dnsmasq.

Respuesta3

Probablemente el demonio avahi esté utilizando el dominio "local". Ver:

https://unix.stackexchange.com/questions/352237/avahi-daemon-and-local-domain-issues

Respuesta4

Si lo que desea solo implica apuntar a su propia máquina y no intentar usar dnsmasq para controlar la resolución de DNS de otras computadoras, entonces lo que desea es simplemente agregar algunas entradas en el archivo /etc/hosts. Le recomiendo que deshaga todos los cambios en dnsmasq y su configuración y se asegure de que /etc/hoststenga lo siguiente en la parte superior:

127.0.0.1 localhost
127.0.1.1 mycomputername mycomputername.local anothername.local

Después de esto, hacer ping a mycomputername.local apuntará a usted mismo (en realidad, apuntará al servidor dnsmasq que se ejecuta en 127.0.1.1, LUEGO a localhost). Incluso puede agregar entradas para otras computadoras en su red para que le parezca, en esta máquina, que se puede hacer referencia a las computadoras como computer1.local computer2.localetc.

192.168.1.31 computer1.local
192.168.1.32 computer2.local

Si parece que no puede deshacer los cambios con dnsmasq, puede agregar esas entradas adicionales después de localhost, pero no elimine ni cambie la localhostentrada en sí. Entonces así:

127.0.0.1 localhost mycomputername mycomputername.local anothername.local

Por cierto: la forma correcta de modificar resolv.conf en el escritorio de Ubuntu es con el administrador de red en la barra de tareas. La forma correcta en el servidor Ubuntu es agregar dns-nameserverentradas en su dispositivo de red /etc/network/interfacesy reiniciar o hacerlo ifdown eth0 && ifup eth0. Como dice la advertencia /etc/resolv.conf, no la modifique directamente, se escribe dinámicamente según /etc/network/interfacesla configuración.

información relacionada