dnsmasq non funziona su Mac OS High Sierra

1

Ho un servizio in esecuzione su localhost su MacOS High Sierra.

curl foo.test 

non funziona, ma

curl localhost 

fa.

Per accedere al mio setup, ho installato dns usando homebrew,

brew install dnsmasq

ha aggiunto la mia configurazione a /usr/local/etc/dnsmasq.conf,

address=/test/127.0.0.1

e aggiunto un file resolver / etc / resolver / test:

nameserver 127.0.0.1

Ho passato un giorno a provarci     dig foo.test     scutil --dns     dscacheutil -q host -a nome foo.test e niente ha funzionato.

Il mio eventuale problema non era coperto da nessun'altra parte, quindi sto rispondendo qui per qualcun altro.

    
posta ebelisle 22.09.2018 - 23:32
fonte

1 risposta

1

tl; dr assicurati di avviare dnsmasq come root.

Per diagnosticare questo problema, ho usato Console.app e cercato dnsmasq.

  1. Il mio primo problema rivelato nei registri:

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

Per risolvere il problema, assicurati che dnsmasq sia arrestato:

brew services stop dnsmasq

quindi utilizza Activity Monitor.app per eliminare eventuali vecchi processi dnsmasq.

Dopo che il conflitto del socket è stato rimosso, ho tentato di avviare nuovamente dnsmasq:

brew services start dnsmasq # does not work

e ora i registri in Console.app mostrano

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

Per risolvere il problema, ho riavviato il servizio come root:

brew services stop dnsmasq
sudo brew services start dnsmasq

Ora

curl foo.test

opere!

Dopo questo viaggio, ho rivisitato tutti gli articoli della guida di dnsmasq che ho letto. Il sudo era lì da sempre e l'ho sfogliato. Sto postando questo per la prossima persona che dimentica di avviare dnsmasq come root.

    
risposta data 22.09.2018 - 23:32
fonte

Leggi altre domande sui tag