No Ubuntu 14.04, estou usando dnsmasq para resolver domínios curinga example.com para a máquina local (computador desktop em casa).
Depois de muita leitura, não consigo resolver o mesmo em uma instalação limpa de 18.04.
Tudo o que eu quero alcançar no momento é:
- para
ping example.com
pingar 127.0.0.1 e não 93.184.216.34; - para
ping anysubdomain.example.com
também ping 127.0.0.1; - e para
ping google.com
fazer ping no google.com real por meio do roteador/IP DNS.
Certamente isso deve ser simples, até mesmo trivial?
Mas estou perplexo. Posso obter a resolução do example.com, mas apenas à custa de quebrar todo o resto.
Como posso fazer isso?
Aqui estão as etapas para o Ubuntu desde 18.04. É um pouco longo, pois
systemd-resolved
não funciona muito bemNetworkManager
quando configurado comdnsmasq
.No entanto, ainda recomendo começar
dnsmasq
emNetworkManager
, porque as alterações de conectividade de rede (WIFI, com fio, ...) serão tratadas de forma transparente.Habilite o dnsmasq no NetworkManager
Edite o arquivo
/etc/NetworkManager/NetworkManager.conf
e adicione a linhadns=dnsmasq
à[main]
seção, ficará assim:Deixe o NetworkManager gerenciar
/etc/resolv.conf
configurar
example.com
Recarregar
NetworkManager
e testarO NetworkManager deve ser recarregado para que as alterações entrem em vigor.
Então podemos verificar se podemos acessar algum site usual:
E, por último, verifique se os
example.com
subdomínios e são resolvidos como127.0.0.1
:Primeiro, certifique-se de que
/etc/NetworkManager/NetworkManager.conf
a linha a seguir não esteja presente ou comentada:Reinicie o NetworkManager:
Certifique-se de que o dnsmasq controlado pelo NetworkManager não esteja mais em execução, encerrando o processo ou reiniciando o sistema.
Em seguida, instale o dnsmasq:
Adicione o seguinte a
/etc/dnsmasq.d/example.com
:Reinicie o dnsmasq:
Agora você deve ter uma substituição de DNS curinga para example.com.
Isso não será tão simples quanto editar o arquivo hosts. Você tem algumas opções:
Este proxy DNS python que manipulará curingas em /etc/hosts
Usando DNSmasq
Com base na resposta do pim , criei uma essência contendo um script Bash simples que usa DNSMasq em combinação com NetworkManager para configurar o domínio .test apontando para 127.0.0.1
Veja a essência em https://gist.github.com/archan937/d35deef3b1f2b5522dd4b8f397038d27 .
Você pode executar o script com o seguinte comando:
Felicidades!