Como adicionar servidor DNS personalizado e preservar o DNS padrão do ISP no OS X Mountain Lion

9

Estou usando o OS X Mountain Lion. Estou usando dnsmasqpara configurar nomes de domínio localhost com caracteres curinga, como http://local.dev , para apontar para localhost. Mas tenho que adicionar 127.0.0.1 na minha preferência do sistema -> configurações de rede.

Depois de configurar o 127.0.0.1 como servidor DNS, os servidores DNS padrão do ISP foram sobrescritos pelos meus. Isso estava me impedindo de acessar sites. Não é grande coisa quando eu não movo meu computador, eu poderia entrar manualmente no servidor DNS do ISP. Mas se eu mudar de lugar, o DNS do provedor mudará.

Eu também tentei usar o servidor DNS do google, mas não está funcionando em alguns casos. Como posso reservar (ou atualizar) o servidor DNS do ISP sem excluir 127.0.0.1 como DNS.

Agradeço antecipadamente.

Daiwei
fonte

Respostas:

11

Sim. Você pode fazer isso, /etc/resolveré seu amigo.

$ man 5 resolver:

domínio
Nome de domínio associado a esta configuração do resolvedor. Normalmente, essa opção não é requerida pelo sistema de pesquisa DNS do Mac OS X quando a configuração do resolvedor é lida de um arquivo no diretório / etc / resolvedor. Nesse caso, o nome do arquivo é usado como o nome do domínio.

Simplificando, você pode colocar nameserver 127.0.0.1dentro de um arquivo que você cria chamado/etc/resolver/dev

Você precisará recarregar / reiniciar. Em seguida, direcionará todas as solicitações *.devpara o servidor de nomes local.

O DNS da sua conexão de rede permanece automático, para lidar com as alterações no seu ambiente.

Edit: Acabei de encontrar https://serverfault.com/a/164215/163311 e http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again que têm mais alguns detalhes e incluem dnsmasqdetalhes de configuração.

rjocoleman
fonte
Segundo artigo agora pode ser encontrada em alanthing.com/blog/2012/04/24/...
ebelisle
0

Existe um motivo específico para o uso dnsmasq?

Você pode simplesmente adicionar entradas ao seu /private/etc/hostsarquivo, deixando o DNS apontado para o ISP ao qual você está conectado. Veja como fazer isso usando o Terminal:

sudo nano /private/etc/hosts Digite sua senha quando solicitado.

Adicione quaisquer adições no final do arquivo hosts (uma única entrada por linha), por exemplo:

127.0.0.1 local.dev

Ctrl + O e, em seguida, insira para salvar o arquivo no nano. Ctrl + X para sair do nano.

Você precisará liberar o cache DNS local usando: dscacheutil -flushcache

crh
fonte
2
Usar arquivo hosts pode ser uma solução simples, mas preciso configurar domínios curinga, como * .dev, para apontar para o host local.
Daiwei