Rota TLD completo (* .dev por exemplo) para 127.0.0.1

28

Para fins de desenvolvimento, quero que todas as solicitações de DNS para o DPN .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 como 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
    
por Roel van Duijnhoven 27.12.2012 / 12:27

3 respostas

16

O dnsmasq autônomo 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ê quer, você precisará usar o dnsmasq como um servidor DNS em cache. Você precisa:

  • Instalar o dnsmasq sudo apt-get instala o dnsmasq
  • Altere sua configuração de rede, para que seu computador use a si mesmo como servidor dns.
  • Faça as alterações nos arquivos de configuração:

Crie /etc/dnsmasq.d/dev-tld com estes conteúdos:

local=/dev/

address=/dev/127.0.0.5

O primeiro comando diz que *.dev solicitações não podem ser encaminhadas para seu servidor DNS real. A segunda diz que *.dev resolve para 127.0.0.5 , que é localhost.

  • Reinicie o serviço dnsmasq (não o gerenciador de rede)
por Javier Rivera 27.12.2012 / 13:25
20

No Ubuntu 12.10 ou posterior, você pode fazer isso com o dnsmasq como executado pelo NetworkManager.

  1. Crie o diretório mkdir /etc/NetworkManager/dnsmasq.d se ele ainda não existir.

    sudo mkdir /etc/NetworkManager/dnsmasq.d
    
  2. Jogue a linha a seguir em /etc/NetworkManager/dnsmasq.d/dev-tld .

    address=/dev/127.0.0.1
    
  3. (Ubuntu 12.10) Reinicie o NetworkManager.

    sudo service network-manager restart
    
  4. (Ubuntu > 13.04) Reinicie o Dnsmasq.

    sudo service dnsmasq restart
    
  5. Aprecie a grandiosidade.

    
por jrg 27.12.2012 / 14:20
0

Os seguintes trabalhos funcionaram para mim no Ubuntu 16.04:

  1. Instale dnsmasq

    sudo apt-get -y install dnsmasq
    
  2. Edite o arquivo dnsmasq.conf :

    sudo nano /etc/dnsmasq.conf
    
  3. Adicione seu comando:

    address=/dev/127.0.0.1
    

    Para curinga (*), você pode usar ponto (.) e dnsmasq para resolver WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain para o mesmo ip. Por exemplo, address=/.localhost.dev/127.0.0.1

  4. Reinicie o serviço dnsmasq:

    sudo /etc/init.d/dnsmasq restart
    
por Jeril 19.06.2017 / 13:18

Tags