Problema: Configurar um cache externo em 1.2.3.4
para clientes da rede 1.2.3.*
|
Solução BIND:
- Crie um arquivo de zona localhost, com um registro SOA, um NS, e um
registro A.
- Crie um arquivo de zona 0.0.127.in-addr.arpa com um registro
SOA, um NS e um rgistro PTR.
- Crie um arquivo de zona root.hints com os endereços
IP dos servidores raiz.
- Crie um arquivo named.conf: zone "localhost" in { type master;
file "localhost"; }; zone "0.0.127.in-addr.arpa" in { type
master; file "0.0.127.in-addr.arpa"; }; zone "." in { type
hint; file "root.hints"; }; options { interface-interval 0;
listen-on { 1.2.3.4; }; allow-query { 1.2.3/24; }; };
- Inicie named.
- Certifique-se que seus scripts de boot iniciem o named.
|
Solução djbdns:
- Crie as contas Gdnscache e Gdnslog.
- dnscache-conf Gdnscache Gdnslog /etc/dnscache 1.2.3.4
- ln -s /etc/dnscache /service
- cd /service/dnscache
- touch root/ip/1.2.3
|
Problema: Também permitir requisições dos clientes
na rede 1.5.*
|
Solução BIND:
- Edite named.conf.
- Adicione 1.5/16 à seção allow-query.
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema. O livro "DNS e BIND"
diz, corretamente, que você "pode nunca notar" erros
de sintaxe nos arquivos de configuração.
|
Solução djbdns:
- cd /service/dnscache
- touch root/ip/1.5
|
Problema: Rodar o cache como não root e em uma jaula chroot.
|
Soução BIND:
- Crie uma conta Gbindin.
- mkdir /etc/bindin
- Copie vários arquivos dependentes ao sistema, os quais não
são bem explicados no manual BIND, para dentro do /etc/bindin.
- Kill named.
- Inicie named -u Gbindin -t /etc/bindin.
- Altere a linha named em seus scripts de boot de acordo.
|
Solução djbdns: Relaxe. Ele já roda como não
root e em uma jaula chroot.
|
Problema: Fazer com que o cache seja reiniciado caso alguém
o mate acidentalmente.
|
Solução BIND: Escreva um script que procura pelo processo
named, reinicia-o caso não esteja rodando, pausa por um
segundo e repete a busca. Inicie este script.
|
Solução djbdns: Relaxe. O cache já é monitorado.
|
Problema: Dizer ao cache para consultar um servidor interno no endereço
IP 10.1.2.5 para achar informações sobre moon.x.mil
|
Solução BIND:
- Edite named.conf.
- Adicione uma zona de encaminhamento: zone "moon.x.mil" in { type
forward; forward only; forwarders { 10.1.2.5; }; };
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema.
|
Solução djbdns:
- cd /service/dnscache
- echo 10.1.2.5 > root/servers/moon.x.mil
- svc -t .
|
Problema: Dizer ao cache para seguir uma nova delegação
do servidor interno ao 10.1.2.6 para d.moon.x.mil.
|
Solução BIND:
- Edite named.conf.
- Adicione outra zona de encaminhamento: zone "d.moon.x.mil" in
{ type forward; forward only; forwarders { 10.1.2.6; }; };
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema.
|
Solução djbdns: Relaxe. O cache segue delegações.
|
Problema: Configurar um servidor no 1.2.3.5 para que publique
informações sobre x.mil e 1.2.3.*
|
BIND solution:
- Crie um arquivo de zona x.mil, com um registro SOA e um registro
NS.
- Crie um arquivo de zona 3.2.1.in-addr.arpa, com um registro
SOA e um registro NS.
- Crie um arquivo named.conf: zone "x.mil" in { type master; file
"x.mil"; }; zone "3.2.1.in-addr.arpa" in { type master; file
"3.2.1.in-addr.arpa"; }; options { interface-interval 0; listen-on
{ 1.2.3.5; }; recursion no; fetch-glue no; allow-transfer { none; };
};
- Inicie named.
- Certifique-se que seus arquivos de boot iniciem named.
|
Solução djbdns:
- Crie as contas Gtinydns e Gdnslog.
- tinydns-conf Gtinydns Gdnslog /etc/tinydns 1.2.3.5
- ln -s /etc/tinydns /service
- cd /service/tinydns/root
- ./add-ns x.mil 1.2.3.5
- ./add-ns 3.2.1.in-addr.arpa 1.2.3.5
- make
|
| Problema: Rodar o servidor como não root e em uma jaula chroot. |
Solução BIND:
- Crie uma conta Gbindout.
- mkdir /etc/bindout
- Copie vários arquivos dependentes ao sistema, os quais não
são bem explicados no manual BIND, para dentro do/etc/bindout.
- Kill named.
- Inicie named -u Gbindout -t /etc/bindout.
- Altere a linha named em seus scripts de boot de acordo.
|
Solução djbdns: Relaxe. O servidor, como o cache, já
roda como não root e numa jaula chroot. |
Problema: Adicione um host lion.x.mil com o endereço
1.2.3.4
|
Solução BIND:
- Edite a zona x.mil.
- Adiocione lion A 1.2.3.4.
- Altere o número seial no registro SOA.
- Edite a zona 3.2.1.in-addr.arpa zone.
- Adicione 4 PTR lion.x.mil.
- Altere o número serial no registro SOA.
- Envie um sinal HUP ao named.
- Procure por erros nos logs de seu sistema. Como dito acima: Look for
errors in your system's logs. As noted above:O livro "DNS e BIND"
diz, corretamente, que você "pode nunca notar" erros
de sintaxe nos arquivos de configuração.
Opa! Será que esqueci do ponto no lion.x.mil? Como diz o
livro "DNS e BIND": "É muito fácil de esquecermos
do ponto final após o domínio." |
Solução djbdns:
- cd /service/tinydns/root
- ./add-host lion.x.mil 1.2.3.4
- make
Você não precisa verificar os logs de seu sistema: se houverem
erros de sintaxe, ou de escrita no disco, etc., eles aparecerão
em sua tela ao rodar o make. De qualquer forma, o programa add-host
nuca introduz erros de sintaxe.
|
Problema: Evitar de usar acidentalmente um nome de host
ou endereço IP já usado anteriormente.
|
Solução BIND: Manualmente verifique o arquivo de zonas
pelo novo nome de host e o novo endereço IP. Vocâ não
terá muito trabalho se você coloca seus dados em ordem alfabética.
|
Solução djbdns: Relaxe. O programa add-host lida
com isso automaticamentehandles this automatically. (If you want to reuse
a name or address, use add-alias.) |
Problema: Evitar de acidentalmente destruir uma zona se houve problema
ao salvar os novos dados: ex.: falta de espaço em disco ou repentina
falta de energia.
|
Solução BIND:
- Copie o arquivo de zona.
- Edite a cópia.
- Syncronize a cópia no disco.
- Renomeie a cópia.
|
Solução djbdns: Relaxe. add-host lida com isto
automaticamente. |
Problema: Certificar-se de que não hajam erros nos novos dados
adicionados a mão.
|
Solução BIND: Procure por erros nos seus logs de sistemas.
Algumas mensagens significam que named não está
mais fornecendo informações sobre aquela zona e que usuários
começarão a ver problemas em questão de segundos.
Neste caso, entre em pânico.
|
Solução djbdns: Se houver um erro de sintaxe, make
irá exibir uma mensagem de erro imediatamente, e o tinydns
continuirá fornecendo os dados antigos. |
Problema: Enviar e-mail destinado a x.mil a um servidor de
e-mail no 1.2.3.4
|
Solução BIND:
- Edite a zona x.mil.
- Adicione @ MX 0 lion.
- Altere o número serial no registro SOA.
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema.
|
Solução djbdns:
- cd /service/tinydns/root
- ./add-mx x.mil 1.2.3.4
- make
|
Problema: Delegar elysium.x.mil a um servidor DNS no IP 1.2.3.144
|
Solução BIND:
- Edite a zona x.mil .
- Adicione elysium NS a.ns.elysium.
- Adicione a.ns.elysium A 1.2.3.144.
- Altere o número serial no registro SOA.
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema.
|
Solução djbdns:
- cd /service/tinydns/root
- ./add-childns elysium.x.mil 1.2.3.144
- make
|
Problema: Replicar o serviço DNS do 1.2.3.5 para o
1.2.3.6.
|
Solução BIND: No 1.2.3.5:
- Edite named.conf.
- Insira 1.2.3.6; na seção allow-transfer.
- Edite o arquivo de zona x.mil.
- Adicione um registro NS apontando para 1.2.3.6.
- Edite o arquivo de zona 3.2.1.in-addr.arpa.
- Adicione um registro apontando para 1.2.3.6.
- Envie um sinal HUP ao named.
- Procure por erros em seus logs de sistema.
No 1.2.3.6:
- Crie um arquivo named.conf: zone "x.mil" in { type slave;
file "x.mil"; masters { 1.2.3.5; }; }; zone "3.2.1.in-addr.arpa"
in { type slave; file "3.2.1.in-addr.arpa"; masters { 1.2.3.5; }; };
options { interface-interval 0; listen-on { 1.2.3.5; }; recursion
no; fetch-glue no; allow-transfer { none; }; };
- Inicie o named.
- Certifique-se de que seus scripts de boot iniciem o named.
|
Soução djbdns: No 1.2.3.6:
- Crie as contas Gtinydns e Gdnslog.
- tinydns-conf Gtinydns Gdnslog /etc/tinydns 1.2.3.6
- ln -s /etc/tinydns /service
No 1.2.3.5:
- cd /service/tinydns/root
- No topo do Makefile, adicione um alvo remote: data.cdb,
com o comando rsync -az -e ssh data.cdb 1.2.3.6:/ service/ tinydns/
root/ data.cdb. (Sem espaços após as barras.)
- ./add-ns x.mil 1.2.3.6
- ./add-ns 3.2.1.in-addr.arpa 1.2.3.6
- make
|
Problema: Replicar uma zona recém criada.
|
Solução BIND:
- Edite o named.conf.
- Adicione uma nova linha type slave .
- Envie um sinal HUP ao named.
- Procure por erros nos seus logs de sistema.
|
Solução djbdns: Relaxe. Novas zonas são replicadas
automaticamente.
|