A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

BIND (DNS) na jaula

Qui

16

Mar

2006


01:00

(13 votos, média 4.23 de 5) 


7. Levantando o sistema

Ativar ou levantar o BIND significa colocá-lo à disposição dos usuários para procurar os endereços IP necessários para navegar na Internet, mandar emails, etc. Também significa colocá-lo à disposição de outros servidores de nomes para fornecer os dados das zonas sobre as quais tem autoridade.

O daemon do BIND é chamado de named. No Slackware, os scripts de chamada dos daemons ficam no diretório /etc/rc.d. Acontece que o nosso named está enjaulado, o que nos obriga a definir usuários e permissões para termos acesso a ele. Para isto precisamos de um script especial e, só para lembrar que ele acessa um serviço enjaulado, será colocado no diretório /jaula.

atencao ESTE, e APENAS ESTE script deve ser usado para levantar o serviço named. Crie o arquivo /jaula/named.start e não se esqueça de torná-lo executável usando o comando chmod 755.

#
# named.start
#
#    Obs: o path dado para o parâmetro "-c" é relativo à raiz da jaula e
#         não à raiz do sistema.
#
#    Obs: adicionar "-n2" se houver múltiplas CPUs!
#
# uso: named [-c arqConf] [-d nívelDebug] [-f|-g]
#            [-n nro_de_cpus] [-p porta] [-s]
#            [-t chrootdir] [-u username]

cd /chroot/named

# Garantir que o arquivo de saída do debug possa ser escrito por domador

touch named.run
chown domador:domador named.run
chmod ug=rw,o=r named.run

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

Apenas para manter a coerência, podemos criar um script no diretório /etc/rc.d que, por sua vez, chama o script /jaula/named.start. Segue um exemplo:

#!/bin/sh
#
# rc.bind
#

export PATH=/usr/sbin:$PATH    # necessário para o rndc

bind_start() {
  echo -n "Levantando named (/jaula/named.start)... "
  sh /jaula/named.start
  echo "feito!"
}

bind_stop() {
  echo -n "Baixando named (killall named)... "
  killall named
  echo "feito!"
}

case "$1" in
'levantar')
   bind_start
;;
'baixar')
   bind_stop
;;
'reiniciar')
   bind_stop
   sleep 1
   bind_start
;;
*)
   echo "uso $0 levantar|baixar|reiniciar"
esac

Agora, é rezar para tudo dar certo :unsure: Torne o script executável e levante o serviço:

# chmod 755 /jaula/named.start
# chmod 755 /etc/rc.d/rc.bind
# /etc/rc.d/rc.bind levantar

Se houver mensagens de erro indicando que um dos dois scripts está com problema, corrija o script (rc.bind e/ou named.start) que está causando erro.

Informações adicionais