dnsmasq no funciona oh Mac OS High Sierra

1

Tengo un servicio ejecutándose en localhost en MacOS High Sierra.

curl foo.test 

no funciona, pero

curl localhost 

hace.

Para llegar a mi configuración, instalé DNS usando homebrew,

brew install dnsmasq

Agregué mi configuración a /usr/local/etc/dnsmasq.conf,

address=/test/127.0.0.1

y agregue un archivo de resolución / etc / resolver / test:

nameserver 127.0.0.1

He pasado un día intentando     cavar foo.test     scutil --dns     dscacheutil -q host -un nombre foo.test y nada funcionó.

Mi problema final no se cubrió en ningún otro lugar, por lo que estoy respondiendo aquí por otra persona.

    
pregunta ebelisle 22.09.2018 - 23:32

1 respuesta

1

tl; dr asegúrate de iniciar dnsmasq como root.

Para diagnosticar este problema, usé Console.app y busqué dnsmasq.

  1. Mi primer problema revelado en los registros:

    failed to create listening socket for 127.0.0.1: Address already in use
    FAILED to start up
    

Para solucionar esto, asegúrese de que dnsmasq esté detenido:

brew services stop dnsmasq

luego use Activity Monitor.app para eliminar cualquier proceso antiguo de dnsmasq.

Después de que se eliminó el conflicto de socket, intenté volver a iniciar dnsmasq:

brew services start dnsmasq # does not work

y ahora los registros en Console.app muestran

failed to create listening socket for 127.0.0.1: Permission denied
FAILED to start up

Para solucionar esto, reinicié el servicio como root:

brew services stop dnsmasq
sudo brew services start dnsmasq

Ahora

curl foo.test

funciona!

Después de este viaje, volví a visitar todos los artículos de ayuda de dnsmasq que leí. El sudo estuvo ahí todo el tiempo y lo repasé. Estoy publicando esto para la siguiente persona que se olvida de iniciar dnsmasq como root.

    
respondido por el ebelisle 22.09.2018 - 23:32

Lea otras preguntas en las etiquetas