DNS no Slackware

Em meu primeiro artigo sobre Linux, resolvi escrever sobre como configurar um servidor DNS na distribuição Slackware 10, com teoria e prática sobre o assunto.

[ Hits: 150.282 ]

Por: Alex Sandro Gonzales Rodrigues em 11/12/2004


Exame do arquivo named



O arquivo começa com as opções que afetarão o servidor de forma global. Eis a explicação das diretivas do arquivo:
  • directory - Aqui você indica qual será o diretório onde ficará os arquivos de registros DNS. Se quiser pode colocar em outro diretório válido ao invés do proposto no nosso exemplo.
  • version - Para poder ocultar a sua versão do BIND contra bisbilhoteiros lammers que não tem o que fazer, coloque essa opção com o que você desejar. No meu caso a versão do meu BIND ficou como "uhuh".
  • minimal-responses - Se habilitado, quando o servidor gerar respostas, somente adicionará registros na autoridade quando requerido. Esta opção aumenta a performance do servidor.
  • allow-transfer - Aqui você indica quem poderá fazer transferência de autoridades. Opção muito importante a ser colocada, pois aqui você indica quem poderá fazer transferência de zona do seu servidor, que no nosso caso é um servidor primário, logo a única maquina que pode ter autorização de transferência de zonas será o nosso servidor secundário. Coloque o IP do seu servidor secundário aqui, pois isso evitará que pessoas mal intencionadas possam fazer transferência de autoridades do teu domínio. No meu caso coloquei o IP 192.168.0.2
  • listen-on - Aqui você especifica quais interfaces estão habilitadas a "escutar" conexões na porta UDP 53 do DNS. No meu caso tenho 2 placas de rede, mas só habilitei a minha interface que atende pelo IP 192.168.0.1 e a interface loopback.
  • allow-recursion - Caso vá usar um DNS que será acessível pela Internet, é bom que você não deixe que esse pessoal faça recursões, ou seja, que eles pesquisem outros domínios que não sejam os que você tem cadastrado no seu servidor. No nosso caso, o pessoal da Internet só poderá pesquisar o único domínio que teremos cadastrado que é o "slacks.com.br", enquanto que o pessoal da minha rede interna "192.168.0.0" poderá pesquisar qualquer site além do domínio local, como "www.slackware.com" ou outro qualquer. Com essa opção devidamente configurada, você evitará o ataque chamado de "cache-poisoning", no qual o cracker coloca em seu DNS registros pra te enganar.

Após as opções, vem as zonas propriamente ditas.

A primeira que aparece é a zona raiz (lembra? Aquela que é representada por um ponto?). É neste arquivo que ficam os endereços de servidor DNS da zona raiz, que como vimos são necessários para podermos acessar endereços de fora da nossa rede (Internet). Você deve baixar esse arquivo e mantê-lo atualizado se o seu servidor DNS for válido na Internet. Você pode baixá-lo por ftp :

# ftp ftp.internic.net
ftp> cd domain
ftp> get named.root
ftp> exit

Pronto, agora é só você mover esse arquivo de acordo com o nosso exemplo:

# mv named.root /var/named/caching-example/named.ca

A próxima zona é da configuração do nosso localhost. Aqui você não precisa fazer nada.

A próxima zona é a zona reversa para o nosso localhost, que no caso é o endereço loopback 127.0.0.1. Você não precisa fazer nada aqui também.

A próxima zona é a zona reversa para o nosso domínio que ainda vamos configurar. Por enquanto apenas crie o arquivo de configuração domain.rev em /var/named/caching-example. Aqui você vê a opção allow-transfer habilitando a transferência da zona reversa do nosso domínio apenas para o servidor 192.168.0.2, que seria o servidor secundário.

A próxima zona, é a zona do nosso domínio proposto aqui nesse artigo, a zona slacks.com.br. Como você pode ver ela é do tipo master, e só está habilitada a transferência dessa zona pelo IP 192.168.0.2, que seria o nosso secundário. Por enquanto, apenas crie o arquivo slacks.host no diretório /var/named/caching-example.

Alguns lembretes: Preste MUITA atenção na sintaxe do arquivo, para não esquecer nenhuma chave, ponto e vírgula, ou um único ponto, pois caso esqueça de apenas um único ";", o servidor NÃO FUNCIONARÁ. Comentários nesse arquivo começam com "//".

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração do named.conf
   4. Exame do arquivo named
   5. A zona reversa
   6. Configurando o domínio
   7. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Pós-instalação do Arch Linux

Apache + Virtual Host + DNS no Debian Lenny

Pós-instalação do Fedora 19 (GNOME Shell)

Pós-instalação no Slackware 10

Como configurar e instalar o VirtualBox

  
Comentários
[1] Comentário enviado por nictuku em 11/12/2004 - 11:55h

Artigo intocável. Parabéns e obrigado, Alex!

[2] Comentário enviado por yusuke em 11/12/2004 - 17:38h

Excelente artigo!
Só uma contribuição:

Para checar se seu servidor de DNS está rodando direito, ou seja, se ele não encontrou nenhum erro de parser nos arquivos de configuração digite:

named -d1

isso vai criar um arquivo chamado named.run no diretorio corrente, contendo detalhes da inicialização do bind. Lembrando que o 1 pode ser trocado por outros numeros, quanto maior o numero, mais detalhes.
Parabéns!

[3] Comentário enviado por pillin_slk em 23/12/2004 - 14:40h

hola soy de mexico estoy leyendo tu informacion , lo aplique pero en el named.run , me arrojo el siguiente error:

#cat named.run
Dec 23 17:53:58.430 starting BIND 9.2.3 -d1
Dec 23 17:53:58.431 using 1 CPU
Dec 23 17:53:58.433 loading configuration from '/etc/named.conf'
Dec 23 17:53:58.433 /etc/named.conf:7: missing ';' before '/'
Dec 23 17:53:58.434 /etc/named.conf:7: expected IP match list element near '/'
Dec 23 17:53:58.434 load_configuration: unexpected token
Dec 23 17:53:58.434 loading configuration: unexpected token

en la linea 7 de named.conf
tengo lo siguiente
allow-recursion {127.0.0.1; localhost; 10.2.40.0.0/24;};
para que pudiese funcionar lo comente y funciono
//allow-recursion {127.0.0.1; localhost; 10.2.40.0.0/24;};
me afecta en algo esto en un futuro?
Dec 23 17:53:58.434 exiting (due to fatal error)


[4] Comentário enviado por john_connor em 27/12/2004 - 09:35h

ola amigo ?
me tira um duvida , digamos q eu pegue um link speedy bussines com ip fixo 200.201.56.10 , e quero criar meu dominio em cima desse ip , como seria a configuração ?
digamos q meu dominio serio www.john_connor.com.br

obrigado

[5] Comentário enviado por mredd em 06/06/2006 - 11:38h

Olá pillin_slk,

Sua linha esta incorreta...
allow-recursion {127.0.0.1; localhost; 10.2.40.0.0/24;};
Onde esta 10.2.40.0.0/24... o correto são apenas 4 octetos, sendo assim xxx.xxx.xxx.xxx/nn.... no seu caso acredito que ficaria 10.2.40.0/24...
aí sim passa a funcionar corretamente.

CORRETO:
allow-recursion {127.0.0.1; localhost; 10.2.40.0/24;};

Abraços
T+

[6] Comentário enviado por josemircosta em 21/04/2007 - 22:19h

Oi
Configurei tudo certinho, mas minha conexão com a internet (discada) não funciona mais, a não ser quando eu para o bind.
Por que isso acontece?

[7] Comentário enviado por djgrello em 14/06/2007 - 19:14h

cara o meu tá dando um erro com o dnsmasq, ele fala que o endereço já está em uso:
dnsmasq: failed to bind listening socket for 192.168.1.1: Address already in use


o que pode ser?

o nome do computador é www
o meu dominio de teste é testapollo.net e o arquivo testapollo.host tá configurado assim:

$TTL 86400

@ IN SOA www.testapollo.net. root.www.testapollo.net. (
2004101902 ;Serial de sincronização
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

NS dns.testapollo.net.
IN MX 10 testapollo.net.

localhost IN A 127.0.0.1
testapollo.net. IN A 192.168.1.
dns IN A 192.168.1.1
dns2 IN A 10.1.1.50
www IN A 192.168.1.1
ftp IN A 192.168.1.1
mail IN CNAME testapollo.net.
pop IN CNAME testapollo.net.
router IN A 192.168.1.5

[8] Comentário enviado por lipecys em 27/09/2007 - 08:39h

Cara, muito bom seu artigo.
Té mais.

[9] Comentário enviado por FaiSCa_sk8 em 01/02/2008 - 20:46h

mas e agora como eu vejo qual e meu dns1 e dns2 para colocar no meu dominio?

[10] Comentário enviado por Otton Santos em 19/09/2011 - 03:10h

Kra, estamos em 2011, me baseei por esse artigo e ainda consegui configurar um dns no Slack 13.37. Parabéns pelo artigo.

Seria bom se vc o atualizasse e acrescentasse algo mais.

Parabéns!

[11] Comentário enviado por fabioholliday em 21/10/2012 - 17:02h

olá estou com este seguinte erro, vc poderia me ajudar e identificar o que ta errado?

Error in named configuration:
/etc/named.conf:38: missing ';' before '/'
/etc/named.conf:38: '}' expected near '/'


segue meu named.conf

options {
listen-on port 53 { 127.0.0.1; 192.168.0.173; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 192.168.0.173/24 };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "cento.local" IN {
type master;
check-names ignore;
file "centos.local";
};
zone "0.168.192.in-addr.arpa" IN {

type master;
check-names ignore;
file "192.168.0.173";
};




include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts