Não é possível fazer o Dnsmasq funcionar na Sierra (para desenvolvimento local)

1

Então, apesar das minhas inúmeras tentativas de fazer o Dnsmasq funcionar, estou postando aqui para obter ajuda da comunidade. Resumo: Estou tentando fazer com que todos os .local domains resolvam automaticamente para localhost ou 127.0.0.1 .

Esta é uma instalação nova / limpa da Sierra em um MBP de 2014 15. Eu já tenho Homebrew, Composer, Node, etc instalado. Aqui estão os passos que tomei até agora seguindo guias de aqui e aqui :

  1. brew install dnsmasq
  2. /usr/local/etc já existia quando o brew foi instalado, então eu nano /usr/local/etc/dnsmasq.conf
  3. Dentro disso, eu tenho:

    address=/local/127.0.0.1 no-resolv strict-order

  4. sudo brew services start dnsmasq

  5. sudo mkdir /etc/resolver
  6. sudo nano /etc/resolver/local - > %código%
  7. Eu finalmente reiniciei meu Mac.

Uma vez reiniciado eu abri meu terminal zsh, e tentei pingar e cavar nameserver 127.0.0.1 :

test.local - > ping: não é possível resolver test.local: host desconhecido

ping -c 2 test.local - > conexão esgotada; nenhum servidor poderia ser alcançado

Eu tentei adicionar dig test.local @127.0.0.1 manualmente ao topo dos meus servidores DNS em Preferências de rede. Em 127.0.0.1 , eu também tentei dnsmasq.conf (note '.' Na frente de 'local' sendo a diferença). Finalmente eu tentei reiniciar o dnsmasq: address=/.local/127.0.0.1 ... infelizmente, nada disso ajudou.

Existe um passo que perdi ou configurei incorretamente?

    
por Shalan 25.06.2017 / 18:30

2 respostas

2

brew services restart dnsmasq

Este comando será executado com o usuário atual, assim o dnsmasq não tem permissão para escutar na porta 53

Sugiro interromper esse processo primeiro

brew service stop dnsmasq

E, em seguida, reinicie o dnsmasq com o usuário root

sudo brew service restart dnsmasq

Verifique o status do serviço

sudo brew services list

Name           Status  User Plist
dnsmasq        started root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

Verifique se User é root

    
por 22.04.2018 / 13:26
1

Eu estava correndo em um problema semelhante usando o OSX High Sierra, onde o dnsmasq não estava funcionando para mim. Eu também notei isso:

$ dnsmasq

dnsmasq: failed to create listening socket for 169.254.51.195: 
Permission denied

Então, tentei sudo dnsmasq e agora, de repente, meus domínios locais estão funcionando. Não faço ideia do porquê.

    
por 27.11.2017 / 09:29