CONSULTE ABAIXO!
Eu também gosto de usar o Dnsmasq na minha máquina local, e eu tive esse problema também. Aqui está a solução:
De man 5 resolver
:
The configuration for a particular client may be read from a file
having the format described in this man page. These are at present
located by the system in the /etc/resolv.conf file and in the files
found in the /etc/resolver directory.
/etc/resolver/
não está presente por padrão; você deve criá-lo você mesmo.
Também na página man:
domain
Domain name associated with this resolver configuration. This
option is normally not required by the Mac OS X DNS search system
when the resolver configuration is read from a file in the
/etc/resolver directory. In that case the file name is used as the
domain name.
Então, se você quiser que todas as consultas do DNS para o domínio de nível superior de dev
sejam
roteado para o servidor de nomes local, você faria:
# mkdir /etc/resolver
# echo 'nameserver 127.0.0.1' > /etc/resolver/dev
configd
não altera arquivos em /etc/resolver/
, portanto, essa configuração
persistir através de alterações de rede e reinicializações.
ATUALIZAÇÃO 17 de julho de 2012
Infelizmente, como no OS X Lion, o resolvedor superior (como mostrado por scutil
--dns
) desaparece quando nenhuma interface está ativa:
# scutil --dns # Online
DNS configuration
resolver #1
nameserver[0] : 127.0.0.1
...
resolver #8
domain : dev
nameserver[0] : 127.0.0.1
# scutil --dns # Offline
DNS configuration
resolver #1
...
resolver #8
domain : dev
nameserver[0] : 127.0.0.1
Observe que o resolvedor # 1 está vazio, mas o derivado / etc / resolv a entrada do servidor de nomes permanece.
Acontece que você pode especificar o domínio do resolvedor diretamente em
o arquivo / etc / resolver /, especificando o domínio raiz especial da Internet .
provoca a criação de uma entrada de resolução global que se parece com:
resolver #8
nameserver[0] : 127.0.0.1
Agora, todas as consultas DNS são roteadas para localhost, mesmo quando estão off-line.
É claro que você ainda terá que resolver seus domínios escolhidos como 127.0.0.1 usando algo como a opção --address do dnsmasq:
# dnsmasq --address=/dev/127.0.0.1
Em resumo:
- Defina todos os servidores DNS da interface de rede como 127.0.0.1:
networksetup -setdnsservers Ethernet 127.0.0.1 networksetup -setdnsservers Wi-Fi 127.0.0.1 ...
- Crie um arquivo / etc / resolver / whatever:
nameserver 127.0.0.1 domain .
- Configure um servidor DNS local e seja feliz.
cf. link