Para fins de desenvolvimento, desejo que todas as solicitações de DNS do TLD .dev sejam encaminhadas para o meu próprio PC.
O arquivo hosts não é suficiente. Eu uso vários domínios e também vários subdomínios. Eu teria que adicionar uma linha para cada combinação.
Eu li que um encaminhador de DNS como DNSmasq pode ser usado para fazer o trabalho (por exemplo, conforme descrito aqui ). Além disso, este software já está instalado no Ubuntu 12.10.
O problema é que não consigo ver como e onde devo configurar o DNSmasq, ou seja, onde devo colocar esta linha:
address=/dev/127.0.0.1
.dev
como o Google usou . Ainda estou pesquisando para que o usarão e se planejam que pessoas comuns se conectem a ele ou apenas funcionários, mas talvez você não queira redirecionar todo o acesso, caso seja o primeiro, a menos que seja apenas uma caixa de teste que nunca se conectará a hosts externos.Respostas:
O dnsmasq independente completo (servidor DHCP e DNS) não é instalado por padrão no Ubuntu 12.04 e 12.10, mas um pacote chamado dnsmasq-base é instalado por padrão no Ubuntu Desktop 12.04 e 12.10. O pacote dnsmasq-base contém o binário dnsmasq e é usado pelo NetworkManager.
Para fazer o que você deseja, você precisará usar o dnsmasq como um servidor DNS em cache. Você precisa:
Crie
/etc/dnsmasq.d/dev-tld
com este conteúdo:O primeiro comando diz que as
*.dev
solicitações não podem ser encaminhadas para o servidor DNS real. O segundo diz*.dev
resolve para127.0.0.5
qual é o host local.fonte
No Ubuntu 12.10 ou posterior, você pode fazer isso com o dnsmasq, executado pelo NetworkManager.
Crie o diretório
mkdir /etc/NetworkManager/dnsmasq.d
se ele ainda não existir.Atire a seguinte linha em
/etc/NetworkManager/dnsmasq.d/dev-tld
.(Ubuntu 12.10) Reinicie o NetworkManager.
(Ubuntu> 13.04) Reinicie o Dnsmasq.
Aprecie a grandiosidade.
fonte
O seguinte funcionou para mim no Ubuntu 16.04:
Instalar
dnsmasq
Editar
dnsmasq.conf
arquivo:Adicione seu comando:
Para curinga (*), você pode usar o ponto (.) E o dnsmasq para resolver
WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
o mesmo ip. Por exemplo,address=/.localhost.dev/127.0.0.1
Reinicie o serviço dnsmasq:
fonte
Acabei de instalar um novo 19.04 e a única maneira de fazê-lo funcionar era desabilitar
systemd-resolved
eNetworkManager
usar odnsmasq
DNS.NetworkManager
tem suporte embutido paradnsmasq
ednsmasq-base
pacote é instalado por padrão.Estou apontando vários domínios para diferentes VMs, como
*.customerX.test
para192.168.33.10
e*.productY.test
para192.168.33.20
e assim por diante. Eu não usaria*.dev
mais, mas em vez disso, um dos domínios de nível superior reservados .Solução
Desativar
systemd-resolved
Edite
/etc/NetworkManager/NetworkManager.conf
para usardnsmasq
no DNS.Coloque a
dnsmasq
configuração em/etc/NetworkManager/dnsmasq.d/test-tld.conf
e, finalmente, reiniciar o
NetworkManager
que irá gerar um novo/etc/resolv.conf
fonte