Instalando e configurando um servidor DNS (Bind+CHROOT) no Slackware

Nesse artigo explico como configurar um servidor DNS utilizando o BIND de uma maneira segura. Criei esse novo artigo atualizando o antigo e adicionando o CHROOT para melhor segurança do nosso sistema.

[ Hits: 312.944 ]

Por: João Paulo de Oliveira Faria em 14/03/2005 | Blog: http://www.jpfaria.com


Preparando o CHROOT



1 - Criando o usuário named e o grupo named.

# groupadd named
# useradd -g named -d /chroot/named -s /bin/true named
# passwd -l named


2 - Criando a estrutura de diretórios e arquivos do CHROOT:

# mkdir -p /chroot/named
# cd /chroot/named
# mkdir dev
# mkdir etc
# mkdir logs
# mkdir -p var/run
# mkdir -p conf/secondaries
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# mknod dev/random c 1 8
# cp /etc/localtime etc


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Começando e organizando a instalação
   3. Preparando o CHROOT
   4. Criando os arquivos de configuração
   5. Criando o arquivo de permissão e de inicialização
   6. Excluindo a estrutura normal do named e alterando o resolv.conf
   7. Iniciando e testando
Outros artigos deste autor

Instalando e configurando um servidor DNS (Bind)

Qpopper (POP seguro) no Slackware

Sendmail com antivírus e autenticação SMTP

Instalando e configurando o Squid no Slackware

Solução completa com o sendmail

Leitura recomendada

Algoritmo Antissocial - Recuperando o Controle da sua Mente

K12LTSP - Executando o Mozilla antes do GDM

Podman - um mecanismo de contêiner sem daemon

Ganhe uma camiseta do Viva o Linux ajudando o Viva o Android

Screensaver para todos

  
Comentários
[1] Comentário enviado por internero em 15/03/2005 - 13:57h

Excelente artigo!

um verdadeiro bê-a-bá de como instalar o BIND de uma forma segura!

Parabéns!

[2] Comentário enviado por agk em 17/03/2005 - 11:31h

Parabéns, está muito bom o artigo, apesar de ser para Slackware está bem explicado e fornece uma ótima base de conhecimento para poder instalar em outras distribuições.

[3] Comentário enviado por israel_agalmeida em 17/03/2005 - 11:50h

este artigo, resolveu meu problema com o DNS externo que esta bixado e nao funcionava direito como o named

Resolveu a te um Problema de e-mail,

[4] Comentário enviado por foxrcesar em 24/05/2005 - 20:37h

parabens pelo artigo, mas gostaria se possivel tirar algumas duvidas, por exemplo, para configurar um dns secundario, instalaria como no primario e copiaria os arquivos de configuração? qnd criasse um novo dominio vi em outros artigos sobre o alow transfer ip_secundario, como no secundario iria permitir essa transferencia? grato.

[5] Comentário enviado por Escadinha em 27/01/2006 - 21:55h

Gostei do artigo principalmente por tratar de um Slackware. Nunca tinha encontrado um tutorial passo a passo de bind para Slackware.
Segui todos os passos sem problemas.
O único problema que tive foi na hora de testar o bind.
Iniciei ele com o script rc.bind que criamos mas não houve nenhuma mensagem confirmando nada.
Dei um ps aux | grep bind e a mensagem que veio não foi nada parecida com a que devia aparecer.
Se alguem puder me ajudar eu agradeço.
Mas fora isso, provavelmente o erro foi meu mesmo, gostei muito do tutorial !!

[6] Comentário enviado por julinhoramones em 03/04/2006 - 15:56h

Ótimo artigo !!!!
Em relacao ao nosso amigo do VOL, Escadinha, saliento que:
o comando utilizado para realizar a filtragem da saida do comando ps aux, não irá retornar a palavra, pois simplesmente o daemon não possui este nome, e sim named.
Outra forma invés da listagem de processos ativos no sistema, seria a verificacao do status de portas em listen no sistema:
netstat -l -t -n -p |grep 53

T+

[7] Comentário enviado por wlademy em 04/05/2006 - 12:24h

Muito bom o artigo.
Tb me ajudou legal!
Meus parabens!
OBS: Implementei no FC5

Abraços!

[email protected]
[email protected]

[8] Comentário enviado por dtux em 10/08/2006 - 08:33h

eaí cara vou ver se fonuncia ou naum...
se der certo aki eu volto a escrever.....

[9] Comentário enviado por leaf em 11/10/2006 - 23:52h

Aew João Paulo ...

Fez um excelente artigo ...
Está de parabens ...

Abraço ...
Rafael

[10] Comentário enviado por leoberbert em 24/05/2007 - 14:54h

Congratulations pelo excelente artigo!!!!

Abração!!!

[11] Comentário enviado por renancortes em 15/06/2007 - 00:10h

aeee
mto blz o artigo parabens
soh q eu uso bsd fiz td no freebsd fazendo as mudancas e tal
mais ta ocorrendo um erro queria saber se algum de vcs
me ajuda...
olha quando vou colocar as permissoes da um erro na permissao chown root:root var/ invalid argument
ae do start no /etc/rc.d/rc.bind start
ae no fala assim

starting BIND 9.3.4 -t /chroot/named -u named -c /etc/named.conf
Jun 15 00:07:33 router named[33441]: command channel listening on 127.0.0.1#953
Jun 15 00:07:33 router named[33441]: errno2result.c:109: unexpected error:
Jun 15 00:07:33 router named[33441]: unable to convert errno to isc_result: 45: Operation not supported
Jun 15 00:07:33 router named[33441]: running
espero respostas obrigado =)

[12] Comentário enviado por rspaiva em 08/08/2007 - 12:18h

Excelente!! Instalei aqui no meu slack e foi tranquilo.... so que to com um probleminha quando consulto o DNS la pelo o registro, acusa falha no DNS (diz que o DNS não aceitou uma conexão DNS) e o status ta CREFUSED.... poderia me dar alguma dica ai.Grato
Ricardo Paiva. [email protected]

[13] Comentário enviado por prgs.linux em 11/08/2007 - 11:24h

cara descobri uma forma bem parecida com essa sua de enjaular
assim que vc instala o dns pelo installpkg ele ja cria o diretorio dentro do /etc
entao vamos ao passo que fiz!!!!.............salientando que seu post fikou 10 e eu particulamente teste ele ...rsrsr

1- como root
#groupadd named
#adduser named

mkdir /etc/raiz
mkdir /etc/raiz/etc
mkdir /etc/raiz/var
mkdir /etc/raiz/var/named
mkdir /etc/raiz/var/run
mkdir /etc/raiz/var/run/named
mkdir /etc/raiz/dev
cp -R /var/named/* /etc/raiz/var/named
cp /etc/named.conf /etc/raiz/etc
ln /dev/random /etc/raiz/dev/random
chgrp named /etc/raiz/etc/named.conf
chown named /etc/raiz/var/run/named

agora e so inicializar o BIND

# /usr/sbin/named -u named -t /etc/raiz

Obs: para inicializar em todo boot
e so coloca-lo dentro do /etc/rc.d/rc.local



[14] Comentário enviado por escuro em 09/10/2007 - 11:49h

Ola João Paulo.
seu artigo esta muito bom. Parabéns.
porem.... quando efetuar o registro no site "registro.br".
ele acusa a DNS duplicado.

"Servidor DNS Slave 1: hostname duplicado"

Teria alguma solução ?

[15] Comentário enviado por gpr.ppg.br em 16/12/2007 - 02:56h


fiz www3.meusite.com.br

mas só no servidor que funciona.
como acesso pela rede intranet? o que pode estar errado?

abraços,
gpr.

[16] Comentário enviado por r0ckst4r em 18/12/2007 - 15:33h

#
# named.start
#
# Note: the path given to the "-c" parameter is relative
# to the jail's root, not the system root.
#
# Add "-n2" if you have multiple CPUs
#
# usage: named [-c conffile] [-d debuglevel] [-f|-g] [-n number_of_cpus]
# [-p port] [-s] [-t chrootdir] [-u username]

cd /chroot/named

# make sure the debugging-output file is writable by named
touch named.run
chown named:named named.run
chmod ug=rw,o=r named.run

PATH=/usr/local/sbin:$PATH named \
-t /chroot/named \
-u named \
-c /etc/named.conf

----------------

Lembrem-se, caso o endereço de instalação do named estiver diferente é necessário modificar o PATH...

PATH=/usr/sbin:$PATH named \

valew!

[17] Comentário enviado por malombrado em 26/12/2007 - 18:33h

Ola. gostaria de saber se e normal alguma lentidao... pois apos eu colocar o dns.. parece que a rede morreu xO... n presiza de nenhuma config de iptables?

[18] Comentário enviado por sequelinha em 24/01/2008 - 23:03h

Excelente Artigo ajudou muito valeu

[19] Comentário enviado por sequelinha em 25/01/2008 - 10:23h

Ola como que coloco no named.conf e na pasta secondaries as zonas secundarias
vlw

[20] Comentário enviado por fajo em 31/01/2008 - 19:36h

Tentei no Debian Etch mas o serviço não inicia

[21] Comentário enviado por diony em 24/04/2008 - 22:17h

Meus Parabéns!!!
Excelente Tutorial. Segui Seus Passos para configurar esse Servidor DNS e funcionou que é uma beleza!!!!
O Servidor DNS que configurei mudou totalmente... O Acesso SSH era muito lento acessando de outro link... Tipo entre o link IP Dedicado e o Speedy. Depois de configurar e ativar o BIND o Servidor mudou totalmente!!!! Ficou um avião!!!!!

Muito Obrigado Pelo Tutorial.

[22] Comentário enviado por xerxeslins em 25/07/2008 - 21:22h

Excelente tutorial!

Fiz tudo o que você disse com muita calma. Não acertei de primeira, mas depois ficou perfeito.

Valeu!!!

[23] Comentário enviado por l-x em 14/08/2008 - 11:50h

Esse tipo de configuração se aplica no debian, visto que o bind 9.5 q tenho aki cria uma pasta no /etc?????

[24] Comentário enviado por Marcelo_Reis em 12/09/2008 - 20:37h

Olá amigos.

Eu configurei o bind no meu server de firewall (Iptables), e minha duvida é qual o IP que eu devo colocar em "/chroot/named/conf/meudomínio.com.br.domain" substituindo ns1, n2 etc...?

Meu modem adsl, é roteado, e possui IP de internet fixo, para a rede externa ele usa 192.168.0.1, para o firewall na placa de rede externa ele está em dhcp 192.168.0.0/24, na placa de rede interna 10.0.0.1.

e qual dos Ip´s eu deveria colocar em resolv.conf? no momento está:
nameserver 192.168.0.1

No momento não faço muita questão de ter um dominio, seria mais para desafogar o trafego e agilizar o serviço, tipo um cache.

valeu!

[25] Comentário enviado por xuxurecordez em 04/11/2008 - 14:56h

E ae ... Obrigado pelo artigo, aqui esta funfando blza. Porem gostaria de saber como ficaria as configurações no slave, ja que ambos serao em CHROOT.

Fico no aguardo ..
Abração ae

[26] Comentário enviado por andriopj em 17/03/2009 - 21:39h

eu dei start
e me retornou o seguinte: # /etc/rc.d/rc.bind start
Starting named: done

[27] Comentário enviado por rensga em 14/05/2009 - 16:22h

Olá pessoal...

Pra mim funcionou tudo tranquilamente...
Entretanto, eu só consigo startar o bind na mao (/etc/rc.d/rc.bind start).
Quando eu tento automatizar a inicializacao do servidor colocando essa linha no /etc/rc.d/rc.local
Ele me aparece o seguinte erro:
"Starting named: named: chroot(): Permission denied"
Alguma sugestao???

Obrigado desde já
Léo Lenza

[28] Comentário enviado por diony em 30/05/2009 - 11:57h

Sim, Caro Amigo...

já deu permissão de execução ao script rc.bind dentro de /etc/rc.d/ ???

Caso não faça esses procedimentos...

# cd /etc/rc.d

# chmod +x rc.bind

Feito isso, você não precisará incluir o rc.bind dentro do arquivo rc.local para execução no boot.
Todos os arquivos que estiverem dentro da pasta rc.local será carregado no boot durante a inicialização do linux.
Obs: Somente serão carregados os arquivos na cor verde (arquivos com permissão de execução) caso sua distro seja slackware.

Remova a linha que você colocou no rc.local e digite os comando que eu passei acma e reinicie o linux.

Poste a Resposta se deu certo ou não.

Abraçoo.....

[29] Comentário enviado por ralfoasis em 18/06/2009 - 14:07h

Otimo , muitooo bommm mesmo !!! parabéns pelo artigo que mostra tudo simples e passo a passo!!!


Obrigado

forte abraço

[30] Comentário enviado por henriquefc em 07/01/2013 - 01:23h

Opa galera, gostaria de saber nessa configuração se consigo efetua-la com dns dinâmico, se consigo ao invés dos números, usar um endereço no-ip, ou melhor ainda, conseguir utilizar algum script que altera meu endereço ip automaticamente


Contribuir com comentário