segunda-feira, 23 de julho de 2007

Resolvendo Nomes com o Bind9

Uma coisa que acontece de vez em quando é o servidor de nomes do Speedy (ADSL em SP) parar de responder, isso é muito chato, pois a navegação pára. Ops você não sabe o que é um servidor de nomes? Ok vou explicar.
Quando você abre seu browser e digita algum endereço de site, como http://tuxmasters.blogspot.com o que acontece é o seguinte:
Sua Máquina: Nossa onde será que está esse http://tuxmasters.blogspot.com? Hum, eu não sei, bem vamos ver quem pode me dizer...

Nessa hora sua máquina (rodando GNU/Linux) verifica o arquivo /etc/resolv.conf para saber onde ele deve resolver esse nome, e é aí que entra o servidor de nomes do seu provedor. E então o papo continua...
Sua Máquina: Olá servidor de nomes do meu provedor, você pode, por favor, me dizer onde fica o http://tuxmasters.blogspot.com?
Servidor de Nomes: Olá, mas é claro que posso, ele fica em 201.201.201.202.
Sua Máquina: Muito obrigado servidor, vou para lá =)

Viu só? O servidor de nomes lhe deu o endereço IP do servidor, assim sua máquina sabe onde ir.
Aí você chega ao site e a vida é uma beleza.
Mas... E se o papo for assim:
Sua Máquina: Olá servidor de nomes do meu provedor, você pode, por favor, me dizer onde fica o http://tuxmasters.blogspot.com?
Tempo passando...
Sua Máquina: Servidor de nomes? Cade você?
Tempo passando...
Sua Máquina: Putz eu não sei onde fica o site e ninguém pode me ajudar... Bem, desisto, vou mostrar uma página de erro.

Você fica sem navegação, fica triste, desmotivado...
Mas porque não resolver isso? É bem simples você fazer a sua máquina resolver nomes também.
Você vai precisar de um software que resolva os nomes, e o mais utilizado é o Bind. Para instalá-lo no Debian (Ubuntu, Kurumin e outros Debian-like) basta um:

# aptitude install bind9

Ele vai instalar e iniciar o Bind9 para você. Para checar se ele está mesmo rodando use o comando:

# ps ax | grep named

Se aparecer uma linha como essa:

2789 ? Ssl 0:00 /usr/sbin/named -u bind

É porque o Bind está rodando.
Pronto tudo ok, agora só falta dizer para a máquina que ela é auto-suficiente em resolução de nomes, para isso altere o arquivo /etc/resolv.conf para:

nameserver 127.0.0.1

Prontinho, sua máquina já é capaz de resolver nomes =) Se você tem uma rede você pode colocar o bind em apenas uma máquina e mandar as outras resolverem nela, se a rede for grande espalhe alguns binds e configure as máquinas para resolver os endereços em alguns servidores direfentes, para que em caso de queda de um servidor a rede não pare de navegar.

InFog

3 comentários:

Anônimo disse...

por acauso o named se reinicia /etc/bind9 restart
esse comando reinicia o named e o bind ao mesmo tempo?

InFog disse...

Oi, na verdade o

/etc/init.d/bind9 restart

reinicia o bind9 que é o named, named é o nome do processo dele.

Diego Souza disse...

Eu não tinha parado pra ler, agora li e ficou mto boa essa introdução a DNS/Bind9. A abordagem bem humorada facilita a compreensão :-)
Pena que no curso que fiz as aulas de Bind9 foram meio mecânicas, por isso eu afirmo que não sei configurar um DNS, apenas tenho noção.