Como posso configurar a resolução de domínio curinga local (127.0.0.1) em 18.04?

8

No Ubuntu 14.04, estou usando o dnsmasq para resolver domínios wildcard example.com para a máquina local (computador desktop em casa).

Depois de muita leitura, não posso para a vida de mim resolver o mesmo em uma instalação limpa de 18.04.

Tudo o que quero alcançar no momento é:

  • para ping example.com fazer ping 127.0.0.1 e não 93.184.216.34;
  • para ping anysubdomain.example.com para também pingar 127.0.0.1;
  • e por ping google.com para fazer ping no google.com real por meio do roteador / IP DNS.

Certamente isso deve ser simples, até mesmo trivial?

Mas estou perplexo. Eu posso obter a resolução do exemplo.com, mas apenas à custa de quebrar todo o resto.

Como posso fazer isso?

    
por Nick Rice 30.04.2018 / 00:03

3 respostas

11

Aqui estão os passos para o Ubuntu 18.04. Demora um pouco desde que systemd-resolved não joga muito bem com NetworkManager quando configurado com dnsmasq .

No entanto, ainda recomendo iniciar dnsmasq de NetworkManager , porque as alterações de conectividade de rede (WIFI, com fio, ...) serão tratadas de forma transparente.

Ative o dnsmasq no NetworkManager

Edite o arquivo /etc/NetworkManager/NetworkManager.conf e adicione a linha dns=dnsmasq à seção [main] , e será assim:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

Deixe o NetworkManager gerenciar /etc/resolv.conf

sudo rm /etc/resolv.conf ; sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf

Configurar example.com

echo 'address=/.example.com/127.0.0.1' | sudo tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf

Recarregue NetworkManager e teste

O NetworkManager deve ser recarregado para que as alterações entrem em vigor.

sudo systemctl reload NetworkManager

Em seguida, podemos verificar se podemos alcançar algum site comum:

dig askubuntu.com +short
151.101.129.69
151.101.65.69
151.101.1.69
151.101.193.69

Por fim, verifique se os example.com e os subdomínios foram resolvidos como 127.0.0.1 :

dig example.com askubuntu.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1
    
por pim 04.05.2018 / 11:07
0

Primeiro, certifique-se de que em /etc/NetworkManager/NetworkManager.conf a seguinte linha está não presente ou comentada:

dns=dnsmasq

Reinicie o NetworkManager:

sudo systemctl restart NetworkManager

Certifique-se de que o dnsmasq controlado pelo NetworkManager não esteja mais em execução, seja matando o processo ou reinicializando o sistema.

Em seguida, instale o dnsmasq:

sudo apt install dnsmasq

Adicione o seguinte a /etc/dnsmasq.d/example.com :

address=/example.com/127.0.0.1

Reinicie o dnsmasq:

sudo systemctl restart dnsmasq

Agora você deve ter uma substituição de dns curinga para example.com.

    
por Sebastian Stark 04.05.2018 / 10:21
0

Isso não será tão simples quanto editar o arquivo hosts. Você tem algumas opções:

Este proxy DNS python que processará curingas em / etc / hosts

Usando o DNSmasq

    
por Harikrishnan R 04.05.2018 / 06:27