Existe uma maneira de usar um DNS específico para um domínio específico?

23

No trabalho, usamos o OpenDNS e, erroneamente, bloqueamos o malware irc.freenode.net. Como posso ter certeza de que qualquer solicitação para * .freenode.net vai para 8.8.8.8 e 8.8.4.4 (DNS do Google).

Eu tentei fazer isso mexendo no resolv.conf no Ubuntu, mas não consegui ir muito longe. Além disso, existe uma maneira fácil de fazer isso para sistemas Mac e Windows (eu tenho alguns colegas usando esses sistemas operacionais e eles gostariam de usar o IRC também).

    
por vivin 23.05.2012 / 18:37

5 respostas

12

O Linux não suporta o uso de servidores DNS específicos do domínio por meio de resolv.conf . Você poderia trabalhar em torno disso executando um servidor de nome de armazenamento em cache (como BIND ou dnsmasq ) localmente e configurando encaminhadores explícitos para cada domínio.

No OS X, esse tipo de configuração é relativamente fácil usando o comando scutil . O caso de uso comum para esta configuração é encaminhar solicitações de DNS para uma conexão VPN para servidores DNS específicos de VPN, portanto, você encontrará isso discutido frequentemente em conjunto com, por exemplo, o OpenVPN. Este documento fala sobre o comando scutil this , e uma pesquisa no Google por openvpn e scutil produzirá mais resultados.

Não tenho certeza sobre o Windows. Você poderia usar a solução de servidor DNS local para todas as três plataformas, se necessário.

    
por 23.05.2012 / 19:00
29

Isso não pode ser feito com a resolução de DNS padrão fornecida pelo * nix (e Windows AFAIK), você precisa do seu próprio servidor DNS para fazer isso. No * nix dnsmasq é a melhor escolha para isso, e você pode executá-lo em cada estação de trabalho ou executar em um servidor e configure todas as estações de trabalho para usar isso.

/etc/resolv.conf :

nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220

/etc/dnsmasq.conf :

server=/freenode.net/8.8.8.8
server=/freenode.net/8.8.4.4
    
por 23.05.2012 / 18:59
4

Eu fiz isso no Fedora instalando um servidor DNS local.

primeiro instale o bind:

sudo dnf install bind

passo 1: acrescente uma linha a /etc/named.conf (como root):

include "/etc/named/freenode.net.conf";

etapa 2: crie o arquivo de zona /etc/named/freenode.net.conf (como root):

zone "freenode.net" {
    type forward;
    forwarders { 8.8.8.8; };
};

agora reinicie o nome:

sudo service named restart

agora reconfigure suas configurações de lan para usar 127.0.0.1 como o servidor DNS, em vez dos hosts alocados para DCHP.

    
por 15.05.2018 / 09:54
3

No OS X, você pode usar arquivos como /etc/resolver/example.com com conteúdo:

nameserver 172.16.5.5

para encaminhar solicitações de DNS para * .example.com para 172.16.5.5

link

    
por 11.02.2016 / 09:21
0

Você pode fazer isso no Windows com o PowerShell:

Add-DnsClientNrptRule -Namespace "pqr.com" -NameServers "10.0.0.1"

Referência: link

    
por 09.11.2018 / 17:19