Como faço para ativar um servidor de nomes de cache local?

7

Eu quero ter um servidor de cache DNS strong no meu host local (servidor). Então eu preciso mudar o servidor de nomes para o meu localhost.

  1. Como posso mudar isso? byt this config parece que não devo alterá-lo via editor então como eu posso mudar isso?

    root@asqar# cat /etc/resolv.conf 
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 4.2.2.4
    search asqar.net
    
  2. Estou usando bind9 como posso definir o cache DNS, qualquer configuração?

por sweb 06.03.2013 / 20:46

2 respostas

12

Se você quiser um cache DNS em sua máquina local, use dnsmasq, não BIND.

A menos que você realmente precise de um servidor de nomes iterativo local, desinstale o BIND.

sudo apt-get purge bind9

Agora para o dnsmasq. Existem duas maneiras de usar o dnsmasq.

1: Se você estiver usando o NetworkManager para gerenciar redes, então você já tem o pacote dnsmasq-base instalado; você apenas tem que habilitar a instância dnsmasq controlada pelo NetworkManager editando NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

e garantindo que a linha

dns=dnsmasq

está presente. Em seguida, ative o armazenamento em cache nessa instância do dnsmasq. Crie um novo arquivo de configuração chamado, por exemplo, local

sudo gedit /etc/NetworkManager/dnsmasq.d/local

e adicione a linha única

cache-size=150

para alterar o tamanho do cache padrão de zero. Então reinicie o network-manager

sudo restart network-manager

que também iniciará ou reiniciará a instância dnsmasq controlada pelo NetworkManager usando o novo tamanho de cache diferente de zero.

Isso só funciona no Ubuntu 12.10 ou posterior. No Ubuntu 12.04, a configuração dnsmasq controlada pelo NetworkManager não pode ser personalizada e o tamanho do cache é zero.

2: A outra maneira de usar o dnsmasq é executá-lo como um servidor. Para fazer isso, instale o pacote dnsmasq e configure-o editando /etc/dnsmasq.conf e configurando cache-size para um valor maior que zero.

No Ubuntu 12.10 o servidor dnsmasq encaminhará consultas para servidores de nomes externos se a instância dnsmasq controlada pelo NetworkManager estiver desabilitada e encaminhará as consultas para a instância dnsmasq controlada pelo NetworkManager no endereço 127.0.1.1 se a instância dnsmasq controlada pelo NetworkManager estiver ativada .

No Ubuntu 12.04, a mesma coisa pode ser obtida, mas algumas etapas de configuração manual adicionais são necessárias porque no Ubuntu 12.04 a instância dnsmasq controlada pelo NetworkManager atende em 127.0.0.1 que entra em conflito com o servidor dnsmasq em sua configuração padrão.

    
por jdthood 15.03.2013 / 10:55
2

isso pode ser útil, eu não acho que funcionará como está no Ubuntu, mas você deve ser capaz de adaptá-lo facilmente.

  
    

Um simples named.conf que encaminha todas as consultas DNS para outro     servidor de nomes e armazena as respostas para uma possível reutilização. Testado sob     OpenBSD 4.7 BETA com

  
$ named -v
BIND 9.4.2-P2
     
    

Este tipo de configuração é útil para minimizar a repetição     consultas de servidor de nomes emitidas ao navegar na web. Não só para o seu     notebook ou laptop usando conexões sem fio, mas também para     departamento que deseja fazer uso de um link LAN / WAN de forma eficiente.

The Access Control List (acl) limits useage of this forward-only nameserver to my local 192.168.222.0/24 subnet.
The queries are forwarded to a dnscache namerver running on my OpenBSD firewall at 192.168.222.10.
The cache size is limited to two MB, which probably is too much for a notebook or laptop. The comments show how to calculate this
         

quantidade em bytes usando bc (1), a calculadora de precisão ilimitada.

  
     

// Armazenamento em cache e encaminhamento somente da configuração

// Access Control List

acl  clients    {
    192.168.222.0/24  ;
};

options {
    forward only ;
    forwarders { 192.168.222.10 ; } ; 
    allow-query { clients ; } ;
    // max-cache-size is in bytes : echo '2 * 1024^2' | bc
    max-cache-size 2097152 ; 
    empty-zones-enable yes;
} ;

# After editing this file please use 'named-checkconf' to validate!
     
    

Para ativar isso no OpenBSD, supondo que a configuração acima tenha     salvo /var/naned/etc/caching-forward-only.conf, você precisa     adicione o seguinte ao /etc/rc.conf.local:

  
named_flags='-4 -c /etc/caching-forward-only.conf'
     
    

Note que os aplicativos usam o /etc/resolv.conf para descobrir qual nome     servidor que eles devem usar. Então, para um servidor de nomes departamental, todos os clientes     deve ter o endereço IP desse servidor de nomes em /etc/resolv.conf

         

Para meu pequeno departamento na garagem, os clientes têm as seguintes     em /etc/resolv.conf

  
nameserver 192.168.222.25

referência: link

ou tente isso, parece mais centrado no Ubuntu: link

    
por maazza 07.08.2013 / 09:13