Nicolai Langfeldt janl@math.uio.no
Traduzido por: Bruno H. Collovini - buick@microlink.com.br
Nota de tradução: O Autor faz pequenos comentários uteis chamados de "Tips" que ao pé da letra seriam como
'boas gorjetas', ou seja, Dicas (-;b. Existe o TIP HOWTO um documento com várias dicas úteis para o Linux.
Aviso: Esta tradução não está relacionada com o Projeto de Documentação
do Linux (LDP) que no Brasil é representada pela LDP-BR em
<http://www.dca.fee.unicamp.br/~malheiro/linux/LDP-br.html>,
este material é uma tradução técnica e básica somente para auxiliar os colegas com a leitura em
português.
Outros documentos você pode obter em:
<http://www.microlink.com.br/~buick/>
HOWTO para diminuir o tempo de admin do DNS.
1. Preâmbulo
Keywords: DNS, bind, named, dialup, ppp, slip, Internet, domain, name,
hosts, resolving
1.1. Materiais legais
(C)opyright 1995 Nicolai Langfeldt. Não modifique se alterar
registre, distribua livremente mas mantenha esta mensagem protegida por direitos autorais.
1.2. Créditos e pedidos para ajuda.
Eu quero agradecer a Arnt Gulbrandsen que leu os rascunhos para este trabalho
por tempos incontáveis e por ter indicado muitas sugestões úteis. Eu também quero
agradecer as pessoas que enviaram e-mail com sugestões, e lhes agradecer as notas.
Obrigado! Vocês me ajudam a continuar.
Este documento nunca será terminado, por favor envie-me e-mail com seus
problemas e sucessos, para aperfeiçoar este HOWTO. Então por favor
envie dinheiro, comentários e/ou perguntas a janl@math.uio.no. Se você
for enviar e-mail por favor tenha certeza que o endereço de retorno esteja correto, eu recebo
muitos e-mail. Também, por favor leia a seção de ``FAQ'' antes de remeter algum e-mail.
Se você quizer traduzir este HOWTO notifique-me assim eu posso manter um
rastro de que idiomas foi publicado :-).
1.3. Dedicação
Este HOWTO é dedicado a Anne Line Norheim. Embora ela
provavelmente nunca ira ler isto desde que ela não seja este tipo de menina.
2. Introdução.
O que isto é e não é.
Para conhecedores, DNS é o Sistema de Nome de Domínio. As regras que nomeiam
máquinas e software que transformam estes nomes para números de IP. Este documento HOWTO
define tais cartografias que se usam num sistema de Linux. Uma cartografia
é simplesmente uma associação entre duas coisas, neste caso uma máquina
nomeada, como ftp.linux.org, e as máquinas que o IP numeram, 199.249.150.4.
DNS é, para o 'uninitiated' (você ;-), um das áreas mais opacas da
administração de rede. Este HOWTO tenta fazer algumas coisas
leve. Descreve como montar um simples servidor de nome DNS.
Antes de começar você deve configurar sua máquina de forma que possa
acessar o telnet por fora, e possa fazer com sucesso qualquer tipo de conexões com a rede,
devendo ser capaz especialmente de fazer um telnet para 127.0.0.1 e acessar a
sua própria máquina (teste isto agora!). Você também precisa de um bom
/etc/host.conf (ou /etc/nsswitch.conf), /etc/resolv.conf e /etc/hosts
estes arquivos dão o ponto de partida, desde que eu não explique como eles funcionam aqui.
Se você não tem tudo isso configurado e funcionando o HOWTO networking/NET-2 explica como configurar. Leia-o.
Se você está usando SLIP ou PPP você precisará por em funcionamento. Se não leia o HOWTO PPP.
Quando eu digo "sua máquina" eu quero dizer a máquina que você está tentando montar o DNS.
Qualque outra máquina que você poderia usar não é envolvido em seu esforço de networking.
Eu irei assumir que você não está atrás de qualquer tipo de firewall que bloqueia pedidos de nome.
Se você precisa de uma configuração especial, veja a seção de``FAQ''.
No Unix um servidor de nomes é um programa chamado named. É uma parte do pacote do bind
o qual é coordenado por Paul Vixie para o Consórcio de Software para a Internet.
O Named é incluído na maioria das distribuições do Linux e normalmente é instalado como /usr/sbin/named.
DNS é um banco de dados net-wide. Tome cuidado sobre o que você puser nele. Se
você pôs algo jogue fora, você, e outros adquirirão isto. Mantenha o seu DNS limpo e
consistente e você obterá um bom serviço.
Aprenda a usa-lo, admin, e depura-lo pois você será outro bom admin impedindo que a rede
caia de joelhos sobrecarregados por 'mismanagement'.
Neste documento eu declaro um par de coisas que não são completamente verdadeira
(elas são pelo menos meia verdades). Tudo no interesse de simplificação.
Tip: Faça copias auxiliares de todos os arquivos que eu ensinar e que você venha a usar, assim se
depois nada funcionar você pode voltar para o seu velho, Estado da
Arte de trabalho.
3. Um caching somente para o Servidor de nomes.
A primeira punhalada na configuração do DNS, é muito útil para usuários de dialup.
Primeiro precisamos de um arquivo chamado /etc/named.boot. Ele é lido quando o named começa.
No momento ele deve conter simplesmente isto:
MUITO IMPORTANTE: Em algumas versões deste documento os conteúdos de arquivo
listado aqui terá um par de espaços ou um Tab antes do primeiro nome. Não é
suposto que estão no arquivo. Apague qualquer espaço principalmente nos arquivos
que você cortou e colou deste HOWTO.
A linha `Directory ' indica ao named onde procurar os arquivos. Todos os arquivos
do named subseqüentemente será relativo a ele. /var/named é o diretório correto
de acordo com o Padrão de Sistemas de Arquivo do Linux. Assim pz é um diretório
debaixo de /var/named, i.e., /var/named/pz.
O arquivo named /var/named/root.cache é named nisto. O arquivo
/var/named/root.cache deve conter:
Este arquivo descreve os servidores de nome de raiz no mundo. Ele é mudado
com o passar do tempo e deve ser mantido. Veja a seção de ``manutenção'' para
manter este arquivo atualizado. Este arquivo é descrito na página man named, mas é,
IMHO, melhor compreendido por pessoas que já entendem de named.
A próxima linha em named.boot é a linha primária. Eu explicarei seu
uso num capítulo mais recente, no momento coloque somete isto no arquivo 127.0.0.0 no
subdiretório pz:
Logo, você precisa de um /etc/resolv.conf que se parece com algo assim:
A linha `Search' especifica que os domínios deve ser procurados para qualquer
nome de host que queremos conectar. A linha `Nameserver' especifica
o endereço do seu nameserver, neste caso sua própria máquina desde que o seu named
rode. Se você quer listar alguns servidores de nomes coloque uma linha de `Nameserver'
para cada um. (Nota: Nunca o named lê este arquivo, o resolver é que usa o named.)
Para ilustrar o que este arquivo faz: Se um cliente tenta observar foo,
foo.sub_dominio.seu-dominio.edu é primeiro experimentado, então foo.seu-domínio.edu,
finalmente foo. Se um cliente tenta observar sunsite.unc.edu,
sunsite.unc.edu.sub_dominio.seu-dominio.edu é experimentado primeiramente (sim, é
tolo, mas este é o modo e que seja assim), então sunsite.unc.edu.seu-domínio.edu, e
finalmente sunsite.unc.edu. Você pode não querer pôr muitos domínios na linha de procura,
pois leva muito tempo para procurar por eles.
O exemplo assume que você pertence ao domínio sub_domínio.seu-domínio.edu, sua máquina
então, provavelmente é chamado sua-maquina.sub_domínio.seu-domínio.edu. A linha de procura
não deveria conter o seu TLD (Nivel do Topo de Domínio, `Edu' neste caso). Se você freqüentemente
precisa conectar aos hosts em outro domínio podemos somar aquele domínio para a linha de procura:
e assim por diante. Obviamente você precisa pôr o domínio real de nomes.
Por favor note a falta de períodos ao término dos nomes de domínio.
Logo, ou dependendo de sua versão de libc você precisa configurar o
/etc/nsswitch.conf ou /etc/host.conf. Se você já tem
nsswitch.conf que é o qual configuraremos, se não, nós configuraremos o host.conf.
/etc/nsswitch.conf
Este é um arquivo longo que especifica onde adquirir tipos diferentes de dados, de
arquivos ou banco de dados. Normalmente contém comentários úteis
ao topo que você deve considerar, agora. Depois de achar a linha
que começa com `Hosts:', deverá conter:
Se não há nenhuma linha que começa com `Hosts: ' então ponha uma acima.
Este arquivo diz que os programas devem olhar primeiro no arquivo de /etc/hosts, e então,
confirir o DNS de acordo com o resolv.conf.
/etc/host.conf
Contém várias linhas provavelmente, e deve começar com ORDER e
deve aparecer com:
Se não houver nenhum linha de `order' você deve colocar. Ela conta ao
host de nomes quem soluciona as rotas para usar primeiro em /etc/hosts, então pergunta ao
servidor de nomes (o qual você disse no resolv.conf que está em 127.0.0.1). Estes dois arquivos
são documentados mais recentemente na páginas do man resolv(8) (use `man 8 resolv') na maioria
das distribuições de Linux. Aquela página de man é IMHO legível, e todo mundo, especialmente
admins de DNS, deveriam ler. Faça agora, se você diz a si "eu farei depois" você nunca
ira adquirir conhecimento sobre isto.
3.1. Inicializando o named
Afinal de contas esta na hora de começar o named. Se você está usando uma conexão dialup
conecte primeiro. Digite 'ndc start', e pressione return, não há opções. Se for back-fires
tente `/usr/sbin/ndc start'. Se isso parte do back-fire veja a seção ``FAQ''.
Agora você pode testar a sua configuração.
Se você ver o seu arquivo de mensagem de syslog (normalmente chamado de
/var/adm/messages, mas pode estar em outro diretório olhe em /var/log e o
outro arquivo é o syslog) enquanto começa o named (tail -f /var/adm/messages) você deve ver algo como:
Se há qualquer mensagem sobre erros então há um engano. Nomei o arquivo de named
(um de named.boot e root.cache, eu espero :-) Mate o named e volte para conferir os arquivos.
Agora é a hora para começar o nslookup para examinar seu handywork.
Se isto ocorrer então o named está rodando. É o que esperamos. Qualquer outra coisa, volte
e confira tudo. Toda vez que mudar o arquivo named.boot precisa ser reiniciado
o named usando o comando ndc restart.
Agora podemos entrar numa questão. Provar que observa alguma máquina perto de você.
pat.uio.no está perto de mim, na Universidade de Oslo:
O nslookup perguntou agora ao seu named para procurar a máquina pat.uio.no. Ele
então contacta um das máquinas do servidor de nomes do named no seu arquivo root.cache,
e perguntou ao seu modo. Poderia levar minutos enquanto adquirimos o resultado
como procurar todos os domínios que usamos no named em /etc/resolv.conf.
Se tentarmos novamente iremos receber:
Note a resposta na linha `Non-authoritative answer:' que adquirimos.
Isto significa que o named não saiu da rede para perguntar,
ao invés disto olhou no cache e achou lá. Mas o cache informou que poderia ser obsoleto
(ultrapassado). Assim você está sendo informado de um perigo (muito leve) por isto é dito
`Non-authoritative answer:'. Quando o nslookup respondeu levou segundos que você pediu ao host
é um sinal seguro que o cache do named está trabalhando. Você pode sair do nslookup dando o
comando `exit'.
Se você usa dialup (ppp, slip) como usuário por favor leia a seção de "conexões", há um pouco
de conselho lá para você.
Agora que sabemos um caching de named. Beba uma cerveja, leite, ou
qualque coisa com ao qual você prefere celebrar.
4. Um domínio simples.
Como montar o seu próprio domínio.
4.1. Mas primeiro alguma teoria básica
Antes de começarmos esta seção vou apresentar alguma teoria de como o DNS trabalha. E você
vai ler isto porque é importante. Se você for um `Wanna' você deve ler isto rapidamente.
Pare quando encontrar o arquivo named.boot.
DNS é um sistema hierárquico. O topo é escrito com "." e pronunciado `Root'. Debaixo de "." há
vários Nivéis de Topo de Domínios(TLDs), os conhecidos são ORG, COM, EDU e NET, mas há muitos.
Quando procura-se uma máquina a questão procede recursivamente na hierarquia que começa no topo.
Se você quer achar o endereço de prep.ai.mit.edu seu servidor de nome tem que achar um servidor
de nomes que serve ao edu. Pergunta por um servidor "." (já sabe que os servidores "." estão no seu
arquivo de root.cache), o servidor "." dá uma lista de servidores edu:
Começa a perguntar há um servidor na raiz.
Define o tipo de questão para NS (servidor de registro nomes).
Pergunta sobre edu.
> edu.
O "." aqui é significante, conta ao servidor que estamos perguntando há aquele
edu sobre o que esta abaixo dele (assim estreita a nossa procura um pouco).
Isto nos diz que *.root-servers.net serve ao edu., assim nós podemos ir em
c é perguntar. Agora nós queremos saber quem serve ao próximo nível do domínio
nomes: mit.edu.:
Nomes de anfitrião não são nenhum caso sensível, mas eu uso o meu mouse para cortar e colar
assim é copiado como o da tela.
Agora irei mudar o tipo de questão, nós achamos o servidor de nome que nós somos
indo perguntar por tudo wheaties sobre prep.ai.mit.edu.
Começando assim em "." nós achamos os servidores de nome sucessivos para o próximo
nível de domínio de nomes. Se você tivesse usado seu próprio servidor de DNS ao invés
de usar todos estes servidores, seu named iria no cache para obter todas as informações
que perguntarmos novamente durante algum tempo.
Um muito menos falado, mas da mesma maneira que domínio importante é in-addr.arpa.
Também é aninhado como os domínios `normais'. in-addr.arpa nos permite adquirir os
nomes dos hosts quando temos um endereço. Um coisa importante aqui é notar aquele
ip#s é escrito em ordem inversa in-addr.arpa domínio. Se você tem o endereço de uma máquina:
192.128.52.43 o named processa igualmente para prep.ai.mit.edu
exemplo: ache os servidores arpa ''.''. find servidores in-addr.arpa., find servidores 192.in-addr.arpa.
, find servidores 128.192.in-addr.arpa. , find servidores 52.128.192.in-addr.arpa. . O find precisou de
registros para 43.52.128.192.in-addr.arpa. Huh inteligente? (Diga `Sim'.) A reversão dos números
podem estar confundindo nos primeiros 2 anos.
Eu contei há pouco uma mentira. DNS não trabalha no modo literal pouco há pouco lhe falei. Mas é o bastante e fim.
4.2. Nosso próprio domínio
Agora iremos definir o nosso próprio domínio. Iremos criar o domínio linux.bogus e definir as máquinas. Eu uso
um domínio falso no named para ter certeza que não iremos perturbar ninguem lá fora.
Nós já começamos esta parte com esta linha no named.boot:
Por favor note a falta de `.' ao término dos nomes de domínio neste
arquivo. Os primeiros nomes de linha no arquivo pz/127.0.0 como definindo
0.0.127.in-addr.arpa. Nós já configuramos este arquivo, veja:
Por favor note o `.' ao término de todo o domínio de nomes neste arquivo, em
contraste com o arquivo de named.boot. Algumas pessoas gostam
começar cada arquivo de zona com uma diretiva $ORIGIN, mas isto é
supérfluo. O origin(onde na hierarquia de DNS pertence) de um
arquivo de zona é especificado no `Domain ' coluna do arquivo de named.boot,
neste caso é 0.0.127.in-addr.arpa.
Esta 'zona de arquivo' contém 3 `Registro de Resolução' (RRs): A SOA RR. A NS
RR e A PTR RR. SOA é um pequeno começo de autoridade. O `@' é um
anotação especial que significa a origem, e desde o `Domain ' coluna para
este arquivo realmente diz 0.0.127.in-addr.arpa a primeira linha significa
NS é o Servidor de Nome RR, conta para o DNS que máquina é a servidora de nomes
do domínio. E finalmente o registro de PTR diz que 1 (iguala 1.0.0.127.IN-ADDR.ARPA, i.e. 127.0.0.1)
é named do localhost.
O registro de SOA é o preâmbulo a toda zona de arquivo, e deveria haver
exatamente um em cada arquivo de zona, o primeiro registro. Descreve
a zona de onde vem (uma máquina chamada linux.bogus), que é
responsável para seus conteúdos (hostmaster@linux.bogus), e que versão do
arquivo de zona é usado (consecutivo: 1), e outras coisas que têm que fazer com o
cache e servidores de DNS secundários. Para o resto dos campos
,refresh, tente novamente, expiração e uso mínimo (refresh, retry, expire e minimum)
que os números usaram neste HOWTO e você deve estar seguro.
O registro de NS nos fala quem faz o DNS que serve para 0.0.127.in-addr.arpa,
é ns.linux.bogus. O registro de PTR nos fala que 1.0.0.127.in-addr.arpa (aquie 127.0.0.1) é
conhecido como localhost.
Agora reinicie o seu named (o comando é ndc restart) e usa o nslookup para examinar o que
você fez:
assim consegue obter localhost de 127.0.0.1, bom. Agora para nosso principal
tarefa, o domínio de linux.bogus, insira uma linha primária nova no named.boot:
Note a falta continua do fim `.' no nome de domínio no arquivo named.boot.
No arquivo de zona linux.bogus poremos alguns dados falsos:
Devem ser notadas duas coisas sobre o registro de SOA. ns.linux.bogus deve ser
uma máquina atual com um registro A. Não é legal ter um registro CNAME
porque ele é uma máquina mencionada no registro de SOA. Não é necessario que o nome
seja `Ns', poderia ser qualquer nome de anfitrião legal. Logo, hostmaster.linux.bogus
deveria ser lido como hostmaster@linux.bogus, este deveria ser pseudônimo de um correio,
ou uma caixa postal onde o mantedor do DNS deveriam ler o correio
freqüentemente. Qualquer correio relativo ao domínio será enviado ao endereço listado aqui.
A necessidade de nome não ser `Hostmaster', pode ser qualquer um endereço de e-mail, mas o
endereço de e-mail `Hostmaster ' é esperado.
Há um RR novo digitado neste arquivo, o MX, ou eXchanger de Correio RR.
Conta para sistemas de correio onde enviar correio para quem é enviado
someone@linux.bogus, isto é também mail.linux.bogus ou mail.friend.bogus.
O número antes de cada nome de máquina é a priorida do RRs do MX. O RR
com o mais baixo número (10) é o um correio deve ser enviado
principalmente. Se ele falhar pode ser enviado a um com um número mais alto,
um manipulador de correio secundário, i.e. mail.friend.bogus que tem prioridade 20
aqui.
Reinicie o named execute ndc restart. Examine os resultados com o nslookup:
é todo o mal. Deveria ser
Eu cometi um engano deliberadamente para que você pudesse aprender :-) Olhando
no arquivo de zona achamos que a linha
está perdendo um período. Ou tem muitos 'linux.bogus'. Se um nome de máquina não
terminar em um período num arquivo de zona a origem é somada ao fim. Então:
está correto. Eu prefiro a forma posterior, é menos para digitar. Em uma zona
ou arquivo de domínio deveria ser escrito e deveria ser terminado com um `.' ou
não deveria ser incluído nada em qual deixa de comparecer a origem. Eu tenho que
grifar isto no arquivo de named.boot não deveria haver `.'s depois dos nomes de domínio.
Você não tem nenhuma idéia quantas vezes um `.' ou muitos estragaram coisas.
Assim o novo arquivo de zona no meu ponto de vista, com alguma informação extra tambem,
como:
Há vários RRs novos aqui: HINFO (Informação sobre o HOST) tem duas partes,
é hábito citar. A Primeira parte é o hardware ou CPU da máquina, e a
segunda parte do software ou SO da máquina. ns tem um Pentium CPU e roda o Linux 1.2.
O registro TXT é um registro de texto de divulgação que você pode usar para
qualquer coisa que você queira. CNAME (Nome Canônico) é um modo para dar há cada máquina vários nomes.
Assim richard e www é um pseudônimo para ns. É importante a nota que A MX, CNAME e registro de SOA
nunca deveriam se referir a um registro de CNAME, eles, só devem se referir a algo com um registro A,
assim prejudicaria.
Também é importante a nota que um CNAME não é um nome de host legal para
um endereço de e-mail: webmaster@www.linux.bogus é um e-mail ilegal de
endereçamento acima. Você pode esperar que vários admins de correio
lá fora obrigar esta regra até mesmo trabalhar para você. O modo para
evitar é usar registros A (e talvez alguns outros também, como um registro MX)
ao invés:
Paul Vixie, o mago do named primário, recomenda não usar CNAME. Assim
considere não usar isto muito seriamente.
Carregue o banco de dados novo executando o ndc reload, isto faz com que o
named leia os seus arquivos novamente.
4.3. Arejando abaixo
Claro que, este domínio é altamente falso, e assim é todos os endereços
nisto, e infelizmente talvez confunda-o um pouco. Para um exemplo real de
domínio veja na próxima seção.
5. Exemplo de um domínio real
Onde iremos listar alguns arquivos reais de zona
Os usuários sugeriram que eu inclui-se um exemplo real de domínio em funcionamento
como minha explicação das diferenças entre um domínio que esteja funcionando e o
exemplo falso que era um pouco obscuro.
Uma coisa sobre este exemplo: Não entre em seus servidores de nome!
Só use para ler para referência. Se você quer experimentar faça isto
com o falso exemplo. Eu uso este exemplo com a permissão de David
Bullock de LAND-5. Estes arquivos eram atuais 24 de setembro de 1996, e podem
diferenciar do que você achar se examinar os servidores de nomes do LAND-5's.
Também, lembre-se de: apaguar os espaços principais ;-)
5.1. /etc/named.boot (ou /var/named/named.boot)
Aqui nós temos as linhas primárias para as duas zonas do contrário que precisamos: a rede
127.0.0, como também LAND-5's 206.6.177 subnet. E uma linha primária para land-5's zona
land-5.com. Também note isso em vez de encher os arquivos em um diretório chamados pz,
como eu faço neste HOWTO, ele, os põe em um diretório chamado zone.
5.2. /var/named/root.cache
Se lembre de que este arquivo é dinâmico, e o que esta listado aqui é
velho. Você pode conseguir um melhor produzindo agora.
5.3. /var/named/zone/127.0.0
Há pouco nos fundamentos, o registro SOA é obrigatório, e um registro que define o
127.0.0.1 para localhost. São requeridos ambos. Nenhum mais deveria estar neste
arquivo. Provavelmente nunca será preciso atualizar, a menos que seu nameserver ou
hostmaster enviem mudanças.
5.4. /var/named/zone/land-5.com
Aqui nós vemos que o registro SOA é obrigatório, e os registros de NS. Nós podemos
ver que ele tem um servidor de nome secundário que é ns2.psi.net. Como deve ser,
sempre tenha um servidor secundário fora do local. Nós podemos também vêr que ele
como um host mestre chamou land-5 que leva o cuidado de todos os serviços diferentes,
e que ele é usa isto no CNAMEs (uma alternativa está usando registros A).
Como você vê o registro de SOA, o arquivo de zona origin do land-5.com, e a pessoa de contato
é root@land-5.com. hostmaster é outro e usaram endereço para a pessoa de contato. O número de série é
no formato de yyyymmdd habitual com número de série de dias juntos; esta é provavelmente a sexta
versão de arquivo de zona no 20º dia de setembro de 1996. Lembre-se que o número de série tem que aumentar
automaticamente, aqui há só um digito para todays consecuitivo #, assim depois da 9 edição ele tem que esperar
até amanhã antes que possa editar o arquivo novamente. Considere usar dois digitos.
Outra coisa é notar que as estações de trabalho não têm o nome dos indivíduo,
mas basta um prefixo seguido pelas duas últimas partes do números de IP.
Usando uma convenção que pode simplificar a manutenção significativamente,
mas podendo ser um pouco impessoal.
5.5. /var/named/zone/206.6.177
Eu farei um comentário sobre este arquivo depois.
A zona inversa é o pedaço do setup que parece causar o maior peso. É usado
para achar o nome do host se você tem que numerar um IP de máquina.
Exemplo: você é um servidor de irc e aceita conexões de clientes de irc.
Porém você é um servidor de irc norueguês e assim você só quer aceitar
conexões de clientes na Noruega e de outros Países escandinavos. Quando você
obtém uma conexão de um cliente a biblioteca C pode lhe falar o número do IP
da máquina conectando porque o IP númerado do cliente é contido em todos os
pacotes e assim é passado na rede. Agora você pode chamar uma função chamada
gethostbyaddr que observa o nome de um host dando o número de IP.
Gethostbyaddr perguntará um servidor de DNS que atravessará o DNS e então irá
procurar a máquina. Supondo a conexão de cliente é de ws_177200.land-5.com.
O numero do IP que a biblioteca de C provê ao servidor de irc é 206.6.177.200.
Para descobrir o nome daquela máquina nós precisamos achar 200.177.6.206.in-addr.arpa.
O servidor de DNS achará primeiro o servidor de arpa., então achará o servidor de in-addr.arpa.,
seguindo o rastro inverso por 206, então 6 e achado o servidor final para
177.6.206.in-addr.arpa zona é land-5. De qual vai finalmente adquir a resposta que para
200.177.6.206.in-addr.arpa temos um registro A 'PTR ws_177200.land-5.com ', significando
que o nome com 206.6.177.200 são ws_177200.land-5.com. Como com a explicação de como
prep.ai.mit.edu observaram, isto é ligeiramente fictício.
Voltando ao exemplo de servidor de irc. O servidor de irc só aceita
conexões dos países escandinavos, i.e., *.no, *.se, *.dk,
o nome ws_177200.land-5.com não emparelha nenhum desses claramente,
o servidor negará a conexão. Se não havia nenhuma cartografia inversa
de 206.2.177.200 pelo in-addr.arpa zona que o servidor teria
sido impossibilitado achar o nome nada e teria que povoar
comparando 206.2.177.200 com * .no, * .se e * .dk nenhum de que vem a inicialização.
Algumas pessoas irão lhe falar que as cartografias de lookup contrário são só
importante para servidores, ou não são importante para nada. Não é assim: Muitos ftp,
news, irc e até mesmo algum http (WWW) servidores não aceitarão conexões
de máquinas que eles não podem achar o nome deles. Tão contrário a
cartografias para máquinas são de fato obrigatórias.
6. Manutenção
Mantendo isto trabalhando.
Há uma tarefa de manutenção você tem que fazer no nameds, diferente de
os mantendo executando. Isto é mantero arquivo de root.cache atualizado.
O modo mais fácil é usar o dig, primeiro execute o dig sem argumentos, você,
irá adquirir um root.cache de acordo com seu próprio servidor. Então pergunte há
um dos servidores de raiz listados com o dig @rootserver . ns. Você notará
a produção olhando terrivelmente para o arquivo de root.cache com exceção de um par
de números extras. Esses números são inocentes. Salve para um arquivo (dig
@e.root-servers.net. ns >root.cache.new) e substitui o velho root.cache.
Lembre-se de reiniciar o named depois de substituir o arquivo de cache.
Al Longyearenviou enviou-me este script para pode ser executado automaticamente a
atualização do root.cache, instale uma linha no seu contrab para executar uma
vez por mês e esqueça. O script assume que você tem correio e que trabalha com o
pseudôminio-correio 'Hostmaster' que é definido. Você tem que colocar isto no
seu setup.
Alguns de você podem apanhar o arquivo de root.cache também no ftp da Internic.
Por favor não use ftp para atualizar o root.cache, o método acima é muito mais amigável à rede.
7. Configuração automática para conexões de dialup.
Esta seção explica como eu montei coisas automatizando tudo.
Meu modo pode não servir para nada, mas você pode adquirir uma idéia de
algo que eu fiz. Também, eu uso ppp para dialup, enquanto muitos usam o slip
ou cslip, quase tuda a sua ligação pode ser diferente da minha. Mas o programa dip de
slip deveria poder fazer muitas das coisas sim.
Normalmente, quando eu não sou conectado à rede eu tenho um arquivo de resolv.conf
contendo uma linha simplesmente
Isto assegura que eu não estou esperando pelo nome de hosts para solucionar a biblioteca que
vou tentar conectar a um nameserver que não pode me ajudar. Mas quando eu conecto eu quero
começar o named e tem um resolv.conf que olha como descrevi acima. Eu resolvi isto mantendo dois
resolv.conf 'arquivos temporários' nomeados como resolv.conf.local e resolv.conf.connected.
Olhe posteriormente como o resolv.conf descrito antes neste documento.
Conectar automaticamente à rede eu executo um script chamado 'ppp-in':
pppd tem um arquivo com opções que contam com os particulares como
é conectado. Uma vez que minha conexão de ppp começa o pppd um script
chamado ip-up (isto é descrito na página do man pppd). Esta é o
script:
I.e. Eu começo o meu named lá. Quando ppp é pppd está desconectado rodo um
script chamado ip-down:
Assim adquiro há configuração quando conectado (up) e desconfigurado quando
desconectado (down).
Alguns programas, irc e talk vêm à mente, faça para alguns muitas
suposições, e para irc caracteriza o dcc e talk para trabalhar direito você
tem que fixar o seu arquivo de hosts. Eu insiro isto no meu script de ip-up:
e o echo insere o ip# i recebido pelo meu nome de host(roke).
Você deve usar o nome do seu host se conhecer ao invés de por.
Isto pode ser achado com o comando de hostname.
Provavelmente não é inteligente executar o named quando você não está conectado
a rede, isto é, porque o named tentará enviar questões à rede e tem um intervalo longo,
e você tem que esperar por todo este intervalo de tempo para que algum programa tente
solucinar um nome. Se você está usando dialup você deve começar o named quando conectando
e mata-lo quando desconectando. Mas por favor veja a seção de ``FAQ'' para um tips.
Algumas pessoas gostam de usar uma diretiva forwarders em conexões lentas.
Se seu provedor de internet tem servidores de DNS em 1.2.3.4 e 1.2.3.5 você
possa inserir a linha
no arquivo de named.boot. E também deixar o arquivo root.cache vazio. Isto
diminui a quantidade de tráfico de IP que seu host origina, qualquer,
possivelmente coisas de velocidade acima. Isto é importante especialmente se
você está pagando por byte que envia. Isto tem o valor somado se deixar
você fora de um dever de manutenção você tem como um cache de named
maintainer; você não tem que atualizar o arquivo de root.cache vazio.
8. FAQ
Nesta seção eu listo algumas das perguntas mais freqüentementes
relacionado a DNS e este HOWTO. E as respostas :-) Por favor leia esta
seção antes de remeter-me.
1. Como usar DNS de dentro de um firewall?
2. Como eu faço para DNS rotacionar pelos endereços disponíveis para um
conserto, digo www.busy.site para obter uma efeito de leitura balanceada, ou
semelhante?
3. Eu quero fixar DNS em um intranet (fechada). O que faço eu?
4. Meu sistema não tem o programa de ndc. O que faço eu?
O ndc reload torna-se named.reload e o ndc start torna-se named.restart
Todos estes programas devem estar provável em /usr/sbin.
5. Como eu monto um servidor de nome secundário?
6. Eu quero executar o bind quando estou desconectado da rede.
Eu executo o named na minha maquina 'Masquerading' aqui. Eu tenho
dois arquivos de root.cache, a pessoa chamado root.cache.real que contém
o servidor real da raiz do named e o outro root.cache.fake chamado
que contém...
Parece trabalhar certo Eu posso usar o nameserver para máquinas locais enquanto fora da rede
sem a demora de intervalo para domínio externo do named e enquanto na questões para domínios externo
trabalham normalmente.
7. Onde o servidor de caching do named armazena o cache? Como eu posso contralar o tamanho?
8. O named salva o cache quando reiniciado? Eu posso salva-lo?
9. Como se tornar um bom admin de DNS.
Existe a Documentação Real. Online e impresso. A leitura de
alguns destes são exigidos para fazer uma pequeno DNS e em tempo
e em tempo uma grande admin. Impresso Standard book is DNS and BIND
por C. Liu and P. Albitz from O'Reilly & Associates, Sebastopol, CA,
ISBN 0-937175-82-X. Eu li, é excelente. Também há um seção em DNS in TCP/IP
Network Administration DNS, por Craig Hunt de O'Reilly..., ISBN 0-937175-82-X.
Outro bom para administração de DNS (ou bem qualquer coisa no que diz respeito
ao assunto) é Zen e a Arte de Manutenção de Motocicleta por Robert M. Prisig: -) Disponível como ISBN
0688052304 e outros.
Online você achará material em,<http://www.dns.net/dnsrd/>
<http://www.vix.com/isc/bind/>; A FAQ, uma referência do manual (BOG; Bind
Operation Guide) com documentos e definições de protocolos e DNS
curto (estes, e a maioria, se não tudo, do rfcs mencionado abaixo, são
também contido na distribuição do bind). Eu não li a maioria deles, entretanto
eu não sou um grande admin de DNS. Arnt Gulbrandsen por outro lado leu GOD e
ele é execelente sobre isto :-). O newsgroup que comp.protocols.tcp-ip.domains
fala sobre DNS. Além de vários RFCs sobre DNS, os mais importantes provavelmente são
estes:
V1.3.2, 3 de junho de 1997.
Tradução 8 de Julho de 1997.
Começando com um caching só de servidor e indo montar um
servidor de DNS primário para um domínio. Para ligações mais complexas você pode
confirir a seção de "FAQ" deste documento. Se não for descrito
lá você deve ler a Documentação Real. Eu voltarei sobre a Documentação Real
consiste ``no último capítulo''.
Se você tem um named provavelmente poderá usa-lo; se você não o tem adquira o binário para Linux
no Site de ftp do Linux, ou adquire um mais recente e com uma maior fonte em ftp.vix.com:/pub/bind no sub-diretório de
release ou testing (lançamento ou em teste), qualquer tipo de ajuste é do seu melhor estilo de vida.
Coisas que vão (provavelmente ;-) trabalhar se você acredita no que eu digo.
Um caching somente para o Servidor de nomes ele achará a resposta para nomear as questões e
se lembrará da resposta da próxima vez que precisar.
______________________________________________________________________
; Arquivo de Boot somente para o servidor de nomes
;
directory /var/named
;
; type domain source file or host
; tipo dominio fonte do arquivo ou do host
cache . root.cache
primary 0.0.127.in-addr.arpa pz/127.0.0
______________________________________________________________________
______________________________________________________________________
. 518400 NS D.ROOT-SERVERS.NET.
. 518400 NS E.ROOT-SERVERS.NET.
. 518400 NS I.ROOT-SERVERS.NET.
. 518400 NS F.ROOT-SERVERS.NET.
. 518400 NS G.ROOT-SERVERS.NET.
. 518400 NS A.ROOT-SERVERS.NET.
. 518400 NS H.ROOT-SERVERS.NET.
. 518400 NS B.ROOT-SERVERS.NET.
. 518400 NS C.ROOT-SERVERS.NET.
;
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
______________________________________________________________________
Lembre-se do que eu disse sobre espaços principalmente!
______________________________________________________________________
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
1 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns.linux.bogus.
1 PTR localhost.
______________________________________________________________________
______________________________________________________________________
search sub_dominio.seu-domínio.edu seu-domínio.edu
nameserver 127.0.0.1
______________________________________________________________________
________________________________________________________________________
search subdominio.seu-domínio.edu seu-domínio.edu.edu outro-domínio.com
________________________________________________________________________
______________________________________________________________________
hosts: files dns
______________________________________________________________________
______________________________________________________________________
order hosts,bind
______________________________________________________________________
Jun 30 21:50:55 roke named[2258]: starting. named 4.9.4-REL Sun Jun 30 21:29:03 MET DST 1996 janl@roke.slip.ifi.uio.no:/var/tmp/bind/named
Jun 30 21:50:55 roke named[2258]: cache zone "" loaded (serial 0)
Jun 30 21:50:55 roke named[2258]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1)
$ nslookup
Default Server: localhost
Address: 127.0.0.1
>
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Name: pat.uio.no
Address: 129.240.2.50
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: pat.uio.no
Address: 129.240.2.50
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> server c.root-servers.net.
Default Server: c.root-servers.net
Address: 192.33.4.12
> set q=ns
edu nameserver = A.ROOT-SERVERS.NET
edu nameserver = H.ROOT-SERVERS.NET
edu nameserver = B.ROOT-SERVERS.NET
edu nameserver = C.ROOT-SERVERS.NET
edu nameserver = D.ROOT-SERVERS.NET
edu nameserver = E.ROOT-SERVERS.NET
edu nameserver = I.ROOT-SERVERS.NET
edu nameserver = F.ROOT-SERVERS.NET
edu nameserver = G.ROOT-SERVERS.NET
A.ROOT-SERVERS.NET internet address = 198.41.0.4
H.ROOT-SERVERS.NET internet address = 128.63.2.53
B.ROOT-SERVERS.NET internet address = 128.9.0.107
C.ROOT-SERVERS.NET internet address = 192.33.4.12
D.ROOT-SERVERS.NET internet address = 128.8.10.90
E.ROOT-SERVERS.NET internet address = 192.203.230.10
I.ROOT-SERVERS.NET internet address = 192.36.148.17
F.ROOT-SERVERS.NET internet address = 192.5.5.241
G.ROOT-SERVERS.NET internet address = 192.112.36.4
> mit.edu.
Server: c.root-servers.net
Address: 192.33.4.12
Non-authoritative answer:
mit.edu nameserver = STRAWB.mit.edu
mit.edu nameserver = W20NS.mit.edu
mit.edu nameserver = BITSY.mit.edu
Authoritative answers can be found from:
STRAWB.mit.edu internet address = 18.71.0.151
W20NS.mit.edu internet address = 18.70.0.160
BITSY.mit.edu internet address = 18.72.0.3
steawb, w20ns e bitsy são servidores do mit, selecionaremos
um e buscaremos sobre ai.mit.edu:
> server W20NS.mit.edu.
Server: W20NS.mit.edu
Address: 18.70.0.160
> ai.mit.edu.
Server: W20NS.mit.edu
Address: 18.70.0.160
Non-authoritative answer:
ai.mit.edu nameserver = WHEATIES.AI.MIT.EDU
ai.mit.edu nameserver = ALPHA-BITS.AI.MIT.EDU
ai.mit.edu nameserver = GRAPE-NUTS.AI.MIT.EDU
ai.mit.edu nameserver = TRIX.AI.MIT.EDU
ai.mit.edu nameserver = MUESLI.AI.MIT.EDU
Authoritative answers can be found from:
AI.MIT.EDU nameserver = WHEATIES.AI.MIT.EDU
AI.MIT.EDU nameserver = ALPHA-BITS.AI.MIT.EDU
AI.MIT.EDU nameserver = GRAPE-NUTS.AI.MIT.EDU
AI.MIT.EDU nameserver = TRIX.AI.MIT.EDU
AI.MIT.EDU nameserver = MUESLI.AI.MIT.EDU
WHEATIES.AI.MIT.EDU internet address = 128.52.32.13
WHEATIES.AI.MIT.EDU internet address = 128.52.35.13
ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5
ALPHA-BITS.AI.MIT.EDU internet address = 128.52.37.5
GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.32.4
GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4
TRIX.AI.MIT.EDU internet address = 128.52.32.6
TRIX.AI.MIT.EDU internet address = 128.52.38.6
MUESLI.AI.MIT.EDU internet address = 128.52.32.7
MUESLI.AI.MIT.EDU internet address = 128.52.39.7
Assim weaties.ai.mit.edu é um nameserver para ai.mit.edu:
> server WHEATIES.AI.MIT.EDU.
Default Server: WHEATIES.AI.MIT.EDU
Addresses: 128.52.32.13, 128.52.35.13
> set q=any
> prep.ai.mit.edu.
Server: WHEATIES.AI.MIT.EDU
Addresses: 128.52.32.13, 128.52.35.13
prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix
prep.ai.mit.edu
inet address = 18.159.0.42, protocol = tcp
#21 #23 #25 #79
prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu
prep.ai.mit.edu internet address = 18.159.0.42
ai.mit.edu nameserver = alpha-bits.ai.mit.edu
ai.mit.edu nameserver = wheaties.ai.mit.edu
ai.mit.edu nameserver = grape-nuts.ai.mit.edu
ai.mit.edu nameserver = mini-wheats.ai.mit.edu
ai.mit.edu nameserver = trix.ai.mit.edu
ai.mit.edu nameserver = muesli.ai.mit.edu
ai.mit.edu nameserver = count-chocula.ai.mit.edu
ai.mit.edu nameserver = life.ai.mit.edu
ai.mit.edu nameserver = mintaka.lcs.mit.edu
life.ai.mit.edu internet address = 128.52.32.80
alpha-bits.ai.mit.edu internet address = 128.52.32.5
wheaties.ai.mit.edu internet address = 128.52.35.13
wheaties.ai.mit.edu internet address = 128.52.32.13
grape-nuts.ai.mit.edu internet address = 128.52.36.4
grape-nuts.ai.mit.edu internet address = 128.52.32.4
mini-wheats.ai.mit.edu internet address = 128.52.32.11
mini-wheats.ai.mit.edu internet address = 128.52.54.11
mintaka.lcs.mit.edu internet address = 18.26.0.36
______________________________________________________________________
primary 0.0.127.in-addr.arpa pz/127.0.0
______________________________________________________________________
______________________________________________________________________
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
1 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns.linux.bogus.
1 PTR localhost.
______________________________________________________________________
0.0.127.IN-ADDR.ARPA. EM SOA...
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> 127.0.0.1
Server: localhost
Address: 127.0.0.1
Name: localhost
Address: 127.0.0.1
______________________________________________________________________
primary linux.bogus pz/linux.bogus
______________________________________________________________________
______________________________________________________________________
;
; Zone file for linux.bogus
; Arquivo de zona para linux.bogus
; Mandatory minimum for a working domain
; Mínimo obrigatório para um domínio funcionando
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS ns.linux.bogus.
NS ns.friend.bogus.
MX 10 mail.linux.bogus ; Primary Mail Exchanger (Correio Primário Exchanger)
MX 20 mail.friend.bogus. ; Secondary Mail Exchanger (Correio Secundário)
localhost A 127.0.0.1
ns A 127.0.0.2
mail A 127.0.0.4
______________________________________________________________________
$ nslookup
> set q=any
> linux.bogus
Server: localhost
Address: 127.0.0.1
linux.bogus
origin = linux.bogus
mail addr = hostmaster.linux.bogus
serial = 199511301
refresh = 28800 (8 hours)
retry = 7200 (2 hours)
expire = 604800 (7 days)
minimum ttl = 86400 (1 day)
linux.bogus nameserver = ns.linux.bogus
linux.bogus nameserver = ns.friend.bogus
linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
linux.bogus preference = 20, mail exchanger = mail.friend.bogus
linux.bogus nameserver = ns.linux.bogus
linux.bogus nameserver = ns.friend.bogus
ns.linux.bogus internet address = 127.0.0.2
mail.linux.bogus internet address = 127.0.0.4
Num exame cuidadoso você descobrirá um bug. A linha
linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
linux.bogus preference = 10, mail exchanger = mail.linux.bogus
@ MX 10 mail.linux.bogus; Correio Primário Exchanger
______________________________________________________________________
@ MX 10 mail.linux.bogus. ; Correio primário Exchanger
______________________________________________________________________
ou
______________________________________________________________________
@ MX 10 mail ; Primary Mail Exchanger
______________________________________________________________________
______________________________________________________________________
;
; Zone file for linux.bogus
; Arquivo de zona para o linux.bogus
;
; Mandatory minimum for a working domain
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
604800 ; expire, seconds
86400 ) ; minimum, seconds
NS ns ; Inet Address of name server
NS ns.friend.bogus.
MX 10 mail ; Primary Mail Exchanger
MX 20 mail.friend.bogus. ; Secondary Mail Exchanger
localhost A 127.0.0.1
ns A 127.0.0.2
mail A 127.0.0.4
;
; Extras
;
@ TXT "Linux.Bogus, Seu consultor de DNS"
ns MX 10 mail
MX 20 mail.friend.bogus.
HINFO "Pentium" "Linux 1.2"
TXT "RMS"
richard CNAME ns
www CNAME ns
donald A 127.0.0.3
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "i486" "Linux 1.2"
TXT "DEK"
mail MX 10 mail
MX 20 mail.friend.bogus.
HINFO "386sx" "Linux 1.0.9"
ftp A 127.0.0.5
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "P6" "Linux 1.3.59"
______________________________________________________________________
Você poderia querer mover o primeiro três registros A de forma que eles sejam
colocados próximo aos outros registros respectivos deles, ao invés do de
cima.
______________________________________________________________________
foobar CNAME richard ; NÃO!
______________________________________________________________________
mas o correto era ter
______________________________________________________________________
foobar CNAME ns ; Sim!
______________________________________________________________________
______________________________________________________________________
www A 127.0.0.2
______________________________________________________________________
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ls -d linux.bogus
Significa que todos os registros devem ser listados.
[localhost]
linux.bogus. SOA ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400)
linux.bogus. NS ns.linux.bogus
linux.bogus. NS ns.friend.bogus
linux.bogus. MX 10 mail.linux.bogus
linux.bogus. MX 20 mail.friend.bogus
linux.bogus. TXT "Linux.Bogus, seu consultor de DNS"
localhost A 127.0.0.1
mail A 127.0.0.4
mail MX 10 mail.linux.bogus
mail MX 20 mail.friend.bogus
mail HINFO 386sx Linux 1.0.9
donald A 127.0.0.3
donald MX 10 mail.linux.bogus
donald MX 20 mail.friend.bogus
donald HINFO i486 Linux 1.2
donald TXT "DEK"
www CNAME ns.linux.bogus
richard CNAME ns.linux.bogus
ftp A 127.0.0.5
ftp MX 10 mail.linux.bogus
ftp MX 20 mail.friend.bogus
ftp HINFO P6 Linux 1.3.59
ns A 127.0.0.2
ns MX 10 mail.linux.bogus
ns MX 20 mail.friend.bogus
ns HINFO Pentium Linux 1.2
ns TXT "RMS"
linux.bogus. SOA ns.linux.bogus hostmaster.linux.bogus. (199511301 28800 7200 604800 86400)
Isto é bom. Confiramos o que diz só para www:
> set q=any
> www.linux.bogus.
Server: localhost
Address: 127.0.0.1
www.linux.bogus canonical name = ns.linux.bogus
ns.linux.bogus
linux.bogus nameserver = ns.linux.bogus
linux.bogus nameserver = ns.friend.bogus
ns.linux.bogus internet address = 127.0.0.2
e ns.linux.bogus tem o endereço 127.0.0.2. Isto é bom também.
______________________________________________________________________
; Boot file for LAND-5 name server
; Arquivo de boot para o servidor de nomes LAND-5
directory /var/named
;
; type domain source file or host
cache . root.cache
primary 0.0.127.in-addr.arpa zone/127.0.0
primary 177.6.206.in-addr.arpa zone/206.6.177
primary land-5.com zone/land-5.com
______________________________________________________________________
______________________________________________________________________
; <<>> DiG 2.1 <<>>
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9
;; QUESTIONS:
;; ., type = NS, class = IN
;; ANSWERS:
. 518357 NS H.ROOT-SERVERS.NET.
. 518357 NS B.ROOT-SERVERS.NET.
. 518357 NS C.ROOT-SERVERS.NET.
. 518357 NS D.ROOT-SERVERS.NET.
. 518357 NS E.ROOT-SERVERS.NET.
. 518357 NS I.ROOT-SERVERS.NET.
. 518357 NS F.ROOT-SERVERS.NET.
. 518357 NS G.ROOT-SERVERS.NET.
. 518357 NS A.ROOT-SERVERS.NET.
;; ADDITIONAL RECORDS:
H.ROOT-SERVERS.NET. 165593 A 128.63.2.53
B.ROOT-SERVERS.NET. 165593 A 128.9.0.107
C.ROOT-SERVERS.NET. 222766 A 192.33.4.12
D.ROOT-SERVERS.NET. 165593 A 128.8.10.90
E.ROOT-SERVERS.NET. 165593 A 192.203.230.10
I.ROOT-SERVERS.NET. 165593 A 192.36.148.17
F.ROOT-SERVERS.NET. 299616 A 192.5.5.241
G.ROOT-SERVERS.NET. 165593 A 192.112.36.4
A.ROOT-SERVERS.NET. 165593 A 198.41.0.4
;; Total query time: 250 msec
;; FROM: land-5 to SERVER: default -- 127.0.0.1
;; WHEN: Fri Sep 20 10:11:22 1996
;; MSG SIZE sent: 17 rcvd: 312
______________________________________________________________________
______________________________________________________________________
@ IN SOA land-5.com. root.land-5.com. (
199609203 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS land-5.com.
1 PTR localhost.
______________________________________________________________________
______________________________________________________________________
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; serial, todays date + todays serial #
10800 ; refresh, seconds
7200 ; retry, seconds
10800 ; expire, seconds
86400 ) ; minimum, seconds
NS land-5.com.
NS ns2.psi.net.
MX 10 land-5.com. ; Primary Mail Exchanger
localhost A 127.0.0.1
router A 206.6.177.1
land-5.com. A 206.6.177.2
ns CNAME land-5.com.
ftp CNAME land-5.com.
www CNAME land-5.com.
mail CNAME land-5.com.
news CNAME land-5.com.
funn A 206.6.177.3
illusions CNAME funn.land-5.com.
@ TXT "LAND-5 Corporation"
;
; Workstations
;
ws_177200 A 206.6.177.200
MX 10 land-5.com. ; Primary Mail Host
ws_177201 A 206.6.177.201
MX 10 land-5.com. ; Primary Mail Host
ws_177202 A 206.6.177.202
MX 10 land-5.com. ; Primary Mail Host
ws_177203 A 206.6.177.203
MX 10 land-5.com. ; Primary Mail Host
ws_177204 A 206.6.177.204
MX 10 land-5.com. ; Primary Mail Host
ws_177205 A 206.6.177.205
MX 10 land-5.com. ; Primary Mail Host
; {Many repetitive definitions deleted - SNIP}
ws_177250 A 206.6.177.250
MX 10 land-5.com. ; Primary Mail Host
ws_177251 A 206.6.177.251
MX 10 land-5.com. ; Primary Mail Host
ws_177252 A 206.6.177.252
MX 10 land-5.com. ; Primary Mail Host
ws_177253 A 206.6.177.253
MX 10 land-5.com. ; Primary Mail Host
ws_177254 A 206.6.177.254
MX 10 land-5.com. ; Primary Mail Host
______________________________________________________________________
______________________________________________________________________
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS land-5.com.
NS ns2.psi.net.
;
; Servers
;
1 PTR router.land-5.com.
2 PTR land-5.com.
3 PTR funn.land-5.com.
;
; Workstations
;
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.
; {Many repetitive definitions deleted - 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.
______________________________________________________________________
______________________________________________________________________
#!/bin/sh
#
# Update the nameserver cache information file once per month.
# This is run automatically by a cron entry.
# Atualiza o cache do nameserver este arquivo é criado uma vez por mês.
# É executado automaticamente por uma entrada no cron.
#
(
echo "To: hostmaster <hostmaster>"
echo "From: system <root>"
echo "Subject: Atualização automatica do arquivo de named.boot"
echo
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
cd /var/named
dig @rs.internic.net . ns >root.cache.new
echo "O arquivo de named.boot foi atualizado para conte a seguinte informação:"
echo
cat root.cache.new
chown root.root root.cache.new
chmod 444 root.cache.new
rm -f root.cache.old
mv root.cache root.cache.old
mv root.cache.new root.cache
ndc restart
echo
echo "O nameserver foi reiniciao para assegurar que a atualização está completa."
echo "O arquivo de root.cache antigo é chamado agora de
/var/named/root.cache.old."
) 2>&1 | /usr/lib/sendmail -t
exit 0
______________________________________________________________________
domain uio.no
______________________________________________________________________
#!/bin/sh
echo chamando...
pppd
______________________________________________________________________
______________________________________________________________________
#!/bin/sh
interface="$1"
device="$2"
speed="$3"
myip="$4"
upip="$5"
...
cp -v /etc/resolv.conf.connected /etc/resolv.conf
...
/usr/sbin/named
______________________________________________________________________
______________________________________________________________________
#!/bin/sh
cp /etc/resolv.conf.local /etc/resolv.conf
read namedpid </var/run/named.pid
kill $namedpid
______________________________________________________________________
______________________________________________________________________
cp /etc/hosts.ppp /etc/hosts
echo $myip roke >>/etc/hosts
______________________________________________________________________
hosts.ppp contém simplesmente
______________________________________________________________________
127.0.0.1 localhost
______________________________________________________________________
______________________________________________________________________
forwarders 1.2.3.4 1.2.3.5
______________________________________________________________________
Várias sugestões: `Forwarders ', `Slave ', e tem um olhar no
lista de literatura ao término deste HOWTO.
Faça vários registros A para www.busy.site e use o bind 4.9.3 ou superior.
Então o bind vai usar o round-robin para as respostas. Não trabalhe
com versões mais recente do bind.
Remova o arquivo de cache e divida o arquivo de zona. Que também tem meios
de adquirir um arquivo novo cache todo o tempo.
Seu sistema tem então um velho, um pouco obsoleto, bind instalado. Se
segurança é importante a você: melhore o bind imediatamente. Se não, você
pode viver com este. E em vez de ndc start execute named.
Se o servidor primário tem endereço 127.0.0.1 que você pôs numa linha
no arquivo de named.boot de seu secundario:
_____________________________________________________________________
secondary linux.bogus 127.0.0.1 sz/linux.bogus
_____________________________________________________________________
Eu recebi este correio de Ian Clark <ic@deakin.edu.au> onde ele explica o modo dele
de fazer isto:
--------------
; root.cache.fake
; this file contains no information
--------------
Quando eu estou fora da rede copio o root.cache.fake arquivo para o root.cache e
reinicio o named.
Quando estou acessando online eu copio root.cache.real para root.cache e reinicio o named.
Isto é feito em ip-down e ip-up respectivamente.
A primeira vez em que eu faço uma pergunta fora da rede em um nome de domínio o named não faz
porque põe uma entrada assim em mensagens...
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
com o qual eu posso viver.
O cached é completamente armazenado em memória, não é escrito em disco em qualquer momento.
Toda vez que mata o named o cache é perdido. O cache não tem qualquer forma de controle. O named
administra e o controla com algumas regras simples. Você não pode controlar o cache ou a classificação
do cache segundo o tamanho e qualquer outra forma de razão. Se você pensa em ``fixar'' o cache estaria
prejudicando o named. E isto não é recomendado.
Não, o named não salva o cache quando é morto. Isto define que o cache é construído
toda vez que você o mata e reinicia o named.
Não há nenhum modo para fazer um arquivo de cache do named. Se você quer ``fixar'' o cache estaria prejudicando
o named. E isto não é recomendado.
Documentação e Ferramentas.
RFC 2052
A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location
of services (DNS SRV), October 1996
RFC 1918
Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
Address Allocation for Private Internets, 02/29/1996.
RFC 1912
D. Barr, Common DNS Operational and Configuration Errors,
02/28/1996.
RFC 1713
A. Romao, Tools for DNS debugging, 11/03/1994.
RFC 1712
C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of
Geographical Location, 11/01/1994.
RFC 1183
R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR
Definitions, 10/08/1990.
RFC 1035
P. Mockapetris, Domain names - implementation and specification,
11/01/1987.
RFC 1034
P. Mockapetris, Domain names - concepts and facilities,
11/01/1987.
RFC 1033
M. Lottor, Domain administrators operations guide, 11/01/1987.
RFC 1032
M. Stahl, Domain administrators guide, 11/01/1987.
RFC 974
C. Partridge, Mail routing and the domain system, 01/01/1986.
![]() |
Copyright © 1997-1998 - Buick. All Rights Reserved. | ![]() |