O documento fornece instruções para configurar um servidor DNS no FreeBSD, incluindo criar arquivos de configuração como /etc/resolv.conf, /etc/namedb/named.boot e /etc/namedb/dominio.zone. Uma vez criados esses arquivos, editar /etc/rc.conf para habilitar o servidor DNS e reiniciá-lo.
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
Configurar DNS FreeBSD
1. Para se configurar um servidor de DNS no FreeBSD , basta criar os
arquivos de configuracao e depois habilitar o BIND no /etc/rc.conf,
uma vez que o BIND e instalado por default. Os arquivos a serem
criados sao:
/etc/resolv.conf
/etc/namedb/named.boot
/etc/namedb/named.ca
/etc/namedb/dominio.zone
/etc/namedb/dominio.rev
/etc/namedb/named.local
Seguem abaixo exemplos destes arquivos. O diretorio destes arquivos
podem ser modificados de acordo com sua necessidade.
Uma vez criados estes arquivos , para inicializar o seu servidor de DNS
, basta editar o seu arquivo /etc/rc.conf:
# Set to appropriate flags for named, if you have a full-time
# connection to the Internet.
# For most hosts, flags should be "-b /etc/namedb/named.boot"
namedflags="NO"
...
setando o nameflags="NO" para nameflags="YES"
Feito isso basta dar um Kill -HUP no processo INIT ( use o ps -aux
para ver seu pid ).
Pronto seu servidor de DNS esta no ar.
O BIND name server, /etc/named, é manipulado através de sinais.
A tabela abaixo lista os sinais suportados pelo BIND e uma descrição
resumida de sua função:
o
o
o
o
o
HUP - Reinicializa o servidor de nomes. Envie este sinal ao
servidor primário após modificar o arquivo de boot
(/etc/named.boot) ou qualquer dos arquivos de seu banco de
dados
INT - Efetua um dump do banco de dados interno do servidor de
nomes no arquivo /usr/tmp/named_dump.db
ABRT - Apenda estatísticas do servidor de nomes ao arquivo
/usr/tmp/named.stats. Este sinal é chamado de IOT em alguns
sistemas
USR1 - Apenda informações de debug ao arquivo
/usr/tmp/named.run. Cada sinal subsequente do mesmo tipo
aumenta o nível de detalhe registrado.
USR2 - Desabilita o debugging
2. Arquivos de Configuracao
o
/etc/resolv.conf
Neste arquivo voce informa ao sistema o IP dos seus servidores DNS
entre outras informacoes. Este arquivo oferece a possibilidade de se
definir claramente a configuração e permite que se especifique
servidores de nomes adicionais que podem ser usados caso o servidor
default não responda.
Exemplo de um arquivo /etc/resolv.conf
( 1 )
( 2 )
( 3 )
domain
nameserver
nameserver
dominio.com.br
192.0.1.1
143.0.1.2
Na linha 1 , definimos o dominio default a ser adicionado aos nomes
que nao estiverem completos.
Por exemplo:
%telnet maquina1
e' o mesmo que
%telnet maquina1.dominio.com.br
Na linha 2 e 3 informamos os IP's dos Servidores DNS em ordem de
autoridade. So podem ser listados um maximo de 2.
o
/etc/namedb/named.boot
E' o arquivo a partir do qual o named carrega todas as informações de
configuração,
O arquivo named.boot abaixo exemplica a configuração de um site
pequeno, com apenas um domínio e apenas uma classe C:
/etc/named/named.boot
################################################################
###########
;
directory /etc/named/
cache
.
named.ca
primary dominio.com.br
dominio.zone
secondary
roadhash.com.br
200.246.48.1
sec/roadhash.zone
primary
1.0.192.in-addr.arpa
dominio.rev
primary
0.0.127.in-addr.arpa
named.local
3. forwarders
192.1.1.1
;
################################################################
############
O quadro abaixo explica resumidamente o significado de algumas das
diretivas que podem ser utilizadas no arquivo de Configuracao acima.
o
directory - Esta diretiva informa ao named o diretório onde se
encontram todos os arquivos referenciados. Por exemplo, o
arquivo named.ca, se encontra na realidade em
/etc/named/named.ca
o
cache - Esta diretiva informa ao named onde se encontra a lista
dos root nameservers utilizada para fazer a inicialização de seu
cache.
o
primary - esta diretiva, que pode ser utilizada diversas vezes,
sinaliza ao named quais são os domínios para os quais possui
informações oficiais (authoritative). E informa ao named que os
dados deste dominio se encontram no arquivo
/etc/named/dominio.zone
Para configurar o seu servidor para ser tamebm um servidor de
dominio reverso de sua rede, voce devera criar uma entrada do
tipo in-addr.arpa, no nosso exemplo a entrada:
o
primary
1.0.192.in-addr.arpa
dominio.rev
informa ao named que ele e servidor de dominio reverso da rede
192.0.1.0.
o
secondary - Declara este servidor como secundário da zona
especificado. E informa ao named que os dados deste dominio
devem ser lidos aprtir do servidor primario (200.246.48.1) e do
arquivo local /etc/named/sec/roadhash. Voce poderia especificar
para o named ler os dados apenas do servidor primario.
o
forwarders - Lista servidores para os quais queries são
enviados. Geralmente quando esta diretiva e usada, voce forca
seu DNS a consultar primeiro o servidor especificado como
forwarders e depois os root servers.
Para a melhor compreensao dos exemplos abaixo, a tabela a seguir
explica resumidamente o significado dos Resource Records utilizados.
As pesquisas feitas pelo DNS ignoram se as letras são maiúsculas ou
minúsculas ou misturadas. Os RRs precisam iniciar na primeira coluna.
4.
SOA - Este registro definio o inicio de uma zona para a qual o seu
servidor sera autoridade. A @ no primeiro campo da primeira linha
define o nome da zona. O quarto campo lista o hostname do seu
servidor DNS, o quinto campo lista o email da pessoa responsavel pela
admnistracao deste dominio (no formato: login.seu-dominio.com.br). O
registro SOA lista 5 parametros entre parenteses. Sao eles na sua
respectiva ordem:
Serial number - Voce devera incrementar esse numero sempre
que voce atualizar o arquivo em questao, pois os servidores
secundarios usam esse numero para determinar se seu banco de
dados esta desatualizado em relacao ao servidor primario,
indicando que ele deve atualizar seus bancos de dados para esse
dominio.
Refresh time - Especifica o tempo em segundos com respeito a
frequencia que os servidores secundarios iram consultar o
servidor primario para determinar se tabelas atualizadas estao
disponiveis.
Retry - Especifica o tempo em segundos que um servidor
secundario devera aguardar antes que uma atualizacao falha
sofra nova tentativa.
Expiration time - especifica o tempo em segundos, que pode
decorrer ate que o servidor secundario considere seus dados
desatualizados, sem fazer uma atualizacao.
Minimum - Especifica o tempo padrao para o timer TTL nos
registros de recursos exportados.
o
o
o
o
o
o
NS - Lista um servidor de nomes para este domínio.
A - Mapeamento de nomes para endereços.
PTR - Mapeamento reverso, ou de endereços para nomes.
CNAME - Nomes canônicos (para aliases).
HINFO - Informações sobre o servidor.
MX - Nome do servidor de e-mail para o dominio.
/etc/namedb/named.ca
Este arquivo contem a informação necessária para se inicializar o cache
com os dados relativos aos root name servers.
As informações deste arquivo, embora pouco voláteis, ainda assim
mudam com o tempo. O InterNIC disponibiliza este arquivo via ftp
anônimo em ftp.rs.internic.net/domain/named.root .
Recomenda-se a verificação deste arquivo pelo menos uma vez ao mes,
tarefa que pode ser facilmente automatizada.
5. Incluímos abaixo a transcrição do arquivo named.ca:
;
This file holds the information on root name servers
needed to
;
initialize cache of Internet domain name servers
;
(e.g. reference this file in the "cache ."
;
configuration file of BIND domain name servers).
;
;
This file is made available by InterNIC registration
services
;
under anonymous FTP as
;
file
/domain/named.root
;
on server
FTP.RS.INTERNIC.NET
;
-OR- under Gopher at
RS.INTERNIC.NET
;
under menu
InterNIC Registration Services
(NSI)
;
submenu
InterNIC Registration Archives
;
file
named.root
;
;
last update:
Nov 8, 1995
;
related version of root zone:
1995110800
;
;
; formerly NS.INTERNIC.NET
;
.
3600000 IN NS
A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.
3600000
A
198.41.0.4
;
; formerly NS1.ISI.EDU
;
.
3600000
NS
B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.
3600000
A
128.9.0.107
;
; formerly C.PSI.NET
;
.
3600000
NS
C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.
3600000
A
192.33.4.12
;
; formerly TERP.UMD.EDU
;
.
3600000
NS
D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.
3600000
A
128.8.10.90
;
; formerly NS.NASA.GOV
;
.
3600000
NS
E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.
3600000
A
192.203.230.10
;
; formerly NS.ISC.ORG
;
.
3600000
NS
F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.
3600000
A
192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.
3600000
NS
G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.
3600000
A
192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
6. ;
.
H.ROOT-SERVERS.NET.
;
; formerly NIC.NORDU.NET
;
.
I.ROOT-SERVERS.NET.
; End of File
3600000
3600000
NS
A
H.ROOT-SERVERS.NET.
128.63.2.53
3600000
3600000
NS
A
I.ROOT-SERVERS.NET.
192.36.148.17
/etc/namedb/dominio.zone
Arquivo de dados para o dominio Primario netwiz.com
################################################################
###########
@
IN
SOA dominio.com.br
1996042901
10800
root.dominio.com.br. (
;versão
;refresh
(3
1800
;retry
(30
3600000
;expire
(41 dias
86400)
;ttl default
(1 dia)
horas)
minutos)
e 16 horas)
;
IN
IN
NS
NS
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
MX
MX
A
A
CNAME
CNAME
CNAME
A
A
A
A
A
A
A
A
ns.dominio.com.br.
ns.roadhash.com.br.
;
gw
ns
www
ftp
gopher
async1
async2
async3
async4
async5
async6
async7
async8
5
10
ns.dominio.com.br.
ns.roadhash.com.br.
192.0.1.2
192.0.1.1
ns
ns
ns
192.0.1.3
192.0.1.4
192.0.1.5
192.0.1.6
192.0.1.7
192.0.1.8
192.0.1.9
192.0.1.10
################################################################
############
7.
/etc/namedb/dominio.rev
Arquivo de dados do DNS Reverso para o dominio Primario
netwiz.com
;###############################################################
############
@
IN
SOA dominio.com.br
root.dominio.com.br. (
96042901
;versao
10800
;refresh (3 horas)
3600
;retry
(1 hora)
432000
;expire (5 dias)
86400 )
;TTL
(1
dia)
;
IN
NS
ns.dominio.com.br.
IN
NS
ns.roadhash.com.br.
;
2
IN
PTR
gw.dominio.com.br.
1
IN
PTR
ns.dominio.com.br.
3
IN
PTR
async1.dominio.com.br.
4
IN
PTR
async2.dominio.com.br.
5
IN
PTR
async3.dominio.com.br.
6
IN
PTR
async4.dominio.com.br.
7
IN
PTR
async5.dominio.com.br.
8
IN
PTR
async6.dominio.com.br.
9
IN
PTR
async7.dominio.com.br.
10
IN
PTR
async8.dominio.com.br.
;###############################################################
############
/etc/namedb/named.local
Arquivo de dados para a interface de loopback
;###############################################################
############
;
;
@
IN
SOA
ns.dominio.com.br.
root.dominio.com.br. (
0001
; Serial
3600
; Refresh
300
; Retry
3600000
; Expire
3600 )
; Minimum
;
IN
NS
ns.dominio.com.br.
;
1
IN
PTR
localhost.