Servidor de DNS para domínio específico

0

Existe uma maneira de definir um servidor dns para um domínio específico? Estou configurando uma máquina de desenvolvimento com uma pilha de amplificadores e quero redirecionar todos os URLs com um domínio específico (ou seja, project.dev) para 127.0.0.1. Eu fiz isso no OSX com dnsmasq configurado desta forma:

# /etc/dnsmasq.conf

address=/.dev/127.0.0.1
listen-address=127.0.0.1
port=35353

e adicionando um arquivo dev em / etc / resolver com este conteúdo

# /etc/resolver/dev

nameserver 127.0.0.1
port 35353

mas isso no arclinux com o dhcpd não funciona.

Eu testei o dnsmasq com dig [email protected] -p 35353 e ele funciona (o endereço retornado é 127.0.0.1), então o problema é o resolvedor.

Eu também tentei colocar no /etc/resov.conf.head isto:

# /etc/resolv.conf.head
nameserver 127.0.0.1
port 35353

e configure o dnsmasq com a porta padrão 53 sem sorte.

Este é o meu /etc/resolv.conf

# /etc/resolv.conf
nameserver 127.0.0.1
nameserver 192.168.0.1
    
por Gigitsu 03.03.2015 / 18:33

1 resposta

1

Você tem duas opções aqui; ou você precisa configurar o servidor DNS em 192.168.0.1 para resolver ".dev" para 127.0.0.1, ou executar o dnsmasq e rotear todos seus pedidos através disso, assim como você fez com o OSX anteriormente. / p>

Os múltiplos servidores de nomes em resolv.conf são tentados na ordem - isto é, se o superior estiver inacessível, o segundo será usado. Obter uma resposta NXDOMAIN ou SRVFAIL do servidor principal não conta como uma falha para este caso .

Eu tenho a mesma configuração configurada aqui, embora agora eu tenha controle do servidor DNS remoto (usando unbound) eu consegui converter ".local" para resolver para 127.0.0.1. Anteriormente fiz isso com o dnsmasq - a única coisa que você realmente precisa fazer é dizer ao dnsmasq três coisas:

no-resolv : não procure pelo servidor de nomes upstream no arquivo resolv.conf . Como isso vai conter 127.0.0.1 , isso causará uma dor de cabeça recursiva.

server = 192.168.0.1 ou onde quer que seu servidor DNS remoto esteja - para onde dnsmasq deve procurar se não encontrar a resposta para sua pergunta em sua configuração local? Você também pode usar algo como '8.8.8.8' aqui (serviço de DNS público do Google).

address / .dev / 127.0.0.1 - Combina todos os pedidos de "* .dev" para "127.0.0.1".

Com isso, e a diretiva nameserver=127.0.0.1 em resolv.conf.head , você deve estar definido.

    
por 09.03.2015 / 18:14