(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

101. Um Exemplo de Domínio Real

Onde listamos alguns arquivos de zona reais

Os usuários têm sugerido que seja incluído um exemplo real de um domínio em operação, bem como um exemplo detalhado.

Usaremos este exemplo com a permissão de David Bullock da LAND-5. Estes arquivos eram atuais em 24 de setembro de 1996 e foram então editados para corresponder às restrições da bind-8 e às extensões usadas pelo autor. Assim, o que se vê aqui, difere um pouco do que se pode encontrar ao se perguntar aos servidores de nomes do LAND-5.

101.1 /etc/named.conf (ou /var/named/named.conf)

Aqui encontramos as seções mestre de zona para as duas zonas reversas necessárias: a rede 127.0.0 , bem como a rede LAND-5 206.6.177, além de uma linha primária para o land-5.com. Note ainda que ao invés de colocar os arquivos em um diretório chamado pz, como foi feito anteriormente, eles foram colocados no diretório chamado zone.


//  Arquivo de inicialização do servidor de nomes de LAND-5

options {
        directory "/var/named";
};

zone "." {
        type hint;
        file "root.hints";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "zone/127.0.0";
};

zone "land-5.com" {
        type master;
        file "zone/land-5.com";
};

zone "177.6.206.in-addr.arpa" {
        type master;
        file "zone/206.6.177";
};

Caso este arquivo seja definido como o arquivo named.conf de uma máquina local, POR FAVOR use o parâmetro notify no; nas seções de zona para as duas zonas land-5, a fim de evitar acidentes.

101.2 /var/named/root.hints

Deve-se ter em mente que este é um arquivo dinâmico e o aqui descrito pode não significar a realidade atual. É sugerido utilizar um modelo atualizado, produzido pelo utilitário dig, conforme explicado anteriormente.


; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET. 
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUERY SECTION:
;;      ., type = NS, class = IN

;; ANSWER SECTION:
.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241

;; Total query time: 215 msec
;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4
;; WHEN: Sun Feb 15 01:22:51 1998
;; MSG SIZE  sent: 17  rcvd: 436

101.3 /var/named/zone/127.0.0

Somente as informações básicas são obrigatórias, como o registro SOA e um registro que mapeie 127.0.0.1 para localhost. Nenhuma outra informação deve estar contida neste arquivo. Provavelmente ele nunca precisará ser atualizado, a menos que o endereço do servidor de nomes ou da máquina mestra seja alterado.


@               IN      SOA     land-5.com. root.land-5.com. (
                                199909203       ; Nro. Serial
                                28800   ; Atualizar
                                7200    ; Tentativas
                                604800  ; Expiração
                                86400)  ; TTL Mínimo 
                        NS      land-5.com.
        
1                       PTR     localhost.

101.4 /var/named/zone/land-5.com

Aqui teremos um registro SOA obrigatório com os registros NS necessários. Podemos ver que há um servidor secundário em ns2.psi.net. Este é o procedimento correto, sempre ter um site como servidor secundário que esteja fora da rede local. Podemos verificar que ele tem uma máquina mestra chamada land-5, o qual cuida de muitos serviços diferentes da Internet, e que ele foi definido com diversos registros CNAME (uma alternativa seria usar os registros de recursos do tipo A).

Como se pode verificar no registro SOA, o arquivo de zona tem origem em land-5.com e a pessoa de contato é root@land-5.com. hostmaster é outro endereço usado com freqüência na definição de pessoa de contato. O número serial está no formato habitual ano-mês-dia com o números seriais acrescentado, sendo esta provavelmente a sexta versão do arquivo de zona datada de 20 de setembro de 1996. Lembre-se que o número serial deve aumentar ordenadamente, onde hoje temos apenas um dígito para serial#; assim depois da nona alteração no dia de hoje ele terá que esperar até amanhã antes de poder editar o arquivo novamente. É aconselhável o de dois dígitos para evitar este tipo de problema.


@       IN      SOA     land-5.com. root.land-5.com. (
                        199609206  ; nro. serial, data de hoje + atualizações #
                        8H            ; atualizar em segundos
                        2H              ; tentativas em segundos
                        1W              ; expiração em segundos
                        1D )            ; mínimo em segundos
                NS      land-5.com.
                NS      ns2.psi.net.
                MX      10 land-5.com.  ; Servidor primário de correio

Localhost        A      127.0.0.1

Router           A      206.6.177.1
        
land-5.com.      A      206.6.177.2
ns               A      206.6.177.3
www              A      207.159.141.192

ftp          CNAME      land-5.com.
mail         CNAME      land-5.com.
news         CNAME      land-5.com.

funn             A      206.6.177.2

@              TXT      "Corporação LAND-5"

;
;       Estações de Trabalho
;
ws-177200       A       206.6.177.200
               MX       10 land-5.com.   ; 
ws-177201       A       206.6.177.201
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177202       A       206.6.177.202
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177203       A       206.6.177.203
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177204       A       206.6.177.204
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177205       A       206.6.177.205
                MX      10 land-5.com.   ; Servidor primário de correio 
                 ; {Definições repetitivas retiradas - SNIP}
ws-177250       A       206.6.177.250
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177251       A       206.6.177.251
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177252       A       206.6.177.252
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177253       A       206.6.177.253
                MX      10 land-5.com.   ; Servidor primário de correio
ws-177254       A       206.6.177.254
                MX      10 land-5.com.   ; Servidor primário de correio

Ao examinarmos o servidor de nomes land-5, descobriremos que os nomes das máquinas estão no formato ws_número. Como nas versões recentes do bind 4, o named começa a impor restrições nos caracteres que podem ser usados como nomes das máquinas. Por isso, o original não funcionava com bind-8 e foram substituídos então os '-'(travessões) por '_'(sublinhados).

Uma outra coisa a ser notada é que as estações operacionais não possuem nomes individuais, mas um prefixo seguido pelas duas últimas partes dos números IP. Usando-se tal convenção, pode-se simplificar significativamente a manutenção, mas pode ser um pouco impessoal, e na verdade, se tornar uma fonte de descontentamento entre os usuários.

Vemos também que funn.land-5.com é um nome alternativo para land-5.com, mas usando um registro A e não um registro CNAME.

101.5 /var/named/zone/206.6.177

Comentaremos este arquivo em seguida.


@               IN      SOA     land-5.com. root.land-5.com. (
                                199609206       ; Nro. Serial
                                28800   ; Atualizar
                                7200    ; Tentativa
                                604800  ; Expiração
                                86400)  ; TTL Mínimo
                        NS      land-5.com.
                        NS      ns2.psi.net.
;
;       Servidores
;
1       PTR     router.land-5.com.
2       PTR     land-5.com.
2       PTR     funn.land-5.com.
;
;       Estações de trabalho
;
200     PTR     ws-177200.land-5.com.
201     PTR     ws-177201.land-5.com.
202     PTR     ws-177202.land-5.com.
203     PTR     ws-177203.land-5.com.
204     PTR     ws-177204.land-5.com.
205     PTR     ws-177205.land-5.com.
; {Muitas definições repetidas foram suprimidas - SNIP}
250     PTR     ws-177250.land-5.com.
251     PTR     ws-177251.land-5.com.
252     PTR     ws-177252.land-5.com.
253     PTR     ws-177253.land-5.com.
254     PTR     ws-177254.land-5.com.

A zona reversa é o aspecto da configuração que parece causar a maior dificuldade. É usada para se encontrar o nome da máquina, caso se tenha o seu endereço IP. Por exemplo: caso a máquina seja um servidor IRC que aceita conexões de clientes. No entanto este é um servidor Norueguês e por isso, somente serão aceitas conexões de clientes na Noruega e outros países escandinavos. Quando se obtém uma conexão de um cliente, a biblioteca C é capaz de indicar o número IP da máquina remota, porque o número IP do cliente está contido em todos os pacotes que são enviados para a rede. Pode-se então usar uma função chamada gethostbyaddr, a qual pesquisa o nome de uma máquina dado o número IP. Gethostbyaddr perguntará a um servidor DNS, o qual procurará pela máquina. Supondo-se que a conexão cliente foi originada por ws-177200.land-5.com. O número IP que a biblioteca C fornece para o servidor IRC é 206.6.177.200. Para descobrir o nome daquela máquina, precisamos encontrar 200.177.6.206.in-addr.arpa. O servidor DNS primeiramente encontrará os servidores arpa., então os servidores in-addr.arpa. seguidos pelos servidores reversos de 206, então 6 e finalmente é encontrando o servidor para a zona 177.6.206.in-addr.arpa em land-5. A partir deste se obterá a resposta, ou seja o registro 'PTR ws-177200.land-5.com', que indica que o nome de 206.6.177.200 é igual a ws-177200.land-5.com. Assim como com as explicações sobre a forma de pesquisa de prep.ai.mit.edu, esta descrição também é um pouco simplificada em relação ao que efetivamente ocorre.

Voltando ao exemplo do servidor IRC. O servidor IRC só aceita conexões de países escandinavos, ou seja, *.no, *.se ou*.dk e o nome ws-177200.land-5.com claramente não combina com qualquer uma delas, sendo então negada a conexão. Caso não houvesse o mapeamento reverso de 206.2.177.200 através da zona in-addr.arpa, o servidor estaria incapacitado de encontrar o nome e teria que comparar 206.2.177.200 com *.no, *.se e *.dk, onde evidentemente nenhuma das opções coincidiria.

Algumas pessoas afirmam que a pesquisa de mapeamentos reversos são importantes apenas para os servidores, ou ainda que não são importantes de forma alguma. A verdade nos parece bem diferente: muitos servidores ftp, notícias, IRC e até mesmo alguns http (WWW) não aceitarão conexões de máquinas das quais não seja possível encontrar o nome. Por isso os mapeamentos reversos são na verdade obrigatórios.


Página seguinte Página anterior Índice