Configurando um Servidor DNS no Linux Ubuntu!
Autor: Grupo Silva Costa | Publicado: 2013-07-27T12:06:00-07:00

Nesta serie de post sobre Redes de Computadores, falo um pouco sobre configurações para a montagem e a administração de um ambiente cliente/servidor, nossos estudos começaram com a instalação de um virtualizador para rodar maquinas virtuais para facilitar o aprendizado! Veja os post anteriores:


Redes de Computadores, Criando Maquinas Virtuais no VM Ware Workstation!




Nova sessão no blog TEG III, Redes de Computadores! Instalação de virtualizadores!




Nesse post será mostrado como configurar um servidor DNS no Linux Ubuntu, para fins de futuras configurações de um domínio, ou qualquer tipo de servidor que precisa de um servidor DNS!



Para começar, atenda as seguintes pre-requisitos do ambiente:



1_ Uma maquina virtual rodando o Linux Ubuntu(qualquer versão) que servirá como o Servidor DNS.

2_ Duas placas de rede, uma para receber internet, para baixar os pacotes necessários, e outra para ser definidas como IP da resolução do DNS

3_ Instalar um Servidor DNS, usaremos o Bind da ISC!



Vamos-la:



obs: Uso o editor pico, troque pico por seu editor de preferencia, uso o pico por questão de facilidade!

obs: Após os # e apenas um comentário, não precisa ser adicionado aos arquivos.



1_ Já dentro do sistema, abra o terminal, para facilitar, vamos ativar o usuário root, muitos tem medo, pois poderá fazer alguma burrada com o &nbsp;root, mas sempre uso ele, e como estamos usando maquina virtual isto não será um problema, mas atente, para o root, as vezes pode ser perigoso usa-lo!



2_ De o comando 'sudo su' e digite a senha, concluído o login, ative o root:

2.1 passwd root

2.2 Digite e confirme a senha.



Usuário root ativado, de o comando "exit", e apartir de agora logue com apenas "su", e não será necessário mais o comando sudo su antes de cada ação!



Pronto, agora faremos algumas configurações de rede:



1_ No terminal, digite "ifconfig" e certifique-se que tenha duas placas de rede mais o "lo"(loopback), sendo como exemplo, eth0, eth1, &nbsp;e lo!

2_ Edite o seguinte arquivo "interfaces" afins de configurar um ip por dhcp para a placa eth0, ee um ip fixo para a placa de rede "eth1", esse ip será o que responderá pelo DNS.

3_ Digite "pico /etc/network/interface"

dentro dele digite o seguinte:



auto eth0 # placa de rede eth0

iface eth0 inet dhcp # receber um ip por dhcp



auto eth1 #placa de rede eth1

iface eth1 inet static # placa eth1 ip statico

address 192.168.10.1 # endereço

netmask 255.255.255.0 # mascara de rede

network 192.168.10.0 # ip da rede

broadcast 192.168.10.255 # broadcast

gateway 192.168.10.254 # gateway



de CTRL+X e salve o arquivo.



4_ Digite "ifconfig eth0 down"&nbsp;

5_ ifconfig eth1 down;

6_ /etc/init.d/networking restart;

7_ ifconfig eth0 up;

8_ ifconfig eth1 up;

9_ teste a internet, pingando no google, digite "ping google.com", se ocorrer tudo bem internet conectada e funcionando.



Iremos agora baixar os pacotes e configurar o bind:



1_ apt-get install bind9, aperte enter se necessário, após baixados os pacotes vamos a algumas configurações:



Primeiramente vá para a basta do bind9 com o comando "cd /etc/bind"

De o comando "ls" e visualize os arquivos na pasta:

Editamos o arquivo named.conf.local e criaremos as zonas:



2_ "pico named.conf.local", no final acrescentaremos as zonas neste arquivo:

obs: O nome da zona futuramente poderá responder por um domínio ou um reino kerberos, atente para o nome das zonas.



zone "tudoemgeral3.com.br" { #nome da zona

type master; #tipo do servidor, master

file "teg3.zone"; #arquivo que contem as informações da zona, sua pasta esta por padrão "/var/cache/bind", você pode altera-la no arquivo named.conf.options

};&nbsp;



zone 10.168.192.in-addr.arpa { # coloque seu ip da rede em reverso com a dominação "in-addr.arpa", o porque disso e que lê se o arquivo de trás para frente, assim ele lê arpa.addr-in.192.168.10.x

type master;

file "teg3.rev"; # o arquivo file pode ter qualquer nome

};



De CTRL+X e salve o arquivo!



Edite o arquivo named.conf.options e faremos alguns ajustes:

1_ pico "named.conf.options"

2_ em "directory" coloque onde quer que seu arquivo seja procurado, deixe como padrão, mas poderá ser modificado como quiser, exemplo se quiser salvar na pasta /etc/bind, deixe na opção directory "/etc/bind";



Ainda nesse arquivo altere a opção "auth-nxdomain" no para "auth-nxdomain yes";

De CTRL+X e salve o arquivo.



De o comando "named-checkconf" se na linha de baixo não retornar nenhum erro seus arquivos estão corretos, caso apareça algum, revise seu arquivo e faça suas configurações, esses arquivos são sensíveis a erro como a falta de uma letra, um ponto e virgula ou uma chave.



Agora criaremos os arquivos das zonas, o nome desse arquivo deve ser igual ao colocado na opção file da zona, e deve ser salvo na pasta aonde foi configurado o "directory".



1_ Crie o arquivo teg3.zone na pasta /var/cache/bind:

pico /var/cache/bind/teg3.zone e edite com as seguinte configurações:



obs: Nesse arquivo não se esqueça dos pontos finais, e troque o serial cada vez que alterar esse arquivo.



&nbsp; GNU nano 2.2.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arquivo: teg3.zone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

;
; Arquivo Zona Primaria
;
$TTL 86400 ;tempo de vida do arquivo
@ IN SOA master.tudoemgeral3.com.br. root.master.tudoemgeral3.com.br. ( ; qualquer maquina para o primeiro registro do servidor nomedamaquina.nomedodominio. root.nomedamaquina.nomedodominio. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2012010100 ; serial ;serial em formato ano/mes/dia/numerodoserial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7200&nbsp; ; refresh&nbsp; ;tempo de atualização desse arquivo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1800&nbsp; ; retry ;tempo para retentar as atualizações das novas configurações
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1209600&nbsp; ; expire ;tempo para expirar o arquivo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 300 )&nbsp; ; minimum

&nbsp; NS master ;nameserver nomedamaquina
&nbsp; A 192.168.0.100 ;registro A para um ip de 32bits

master&nbsp; A 192.168.0.10&nbsp; ;integrar uma maquina a um registro ip

www&nbsp;&nbsp;&nbsp;&nbsp; CNAME master.linux.scideias.com.br ;um apelido para sua maquina dentro do domínio






De CTRL+X e salve o arquivo;



Check para ver se o arquivo está correto, com o mando named-checkzone:&nbsp;



o comando é: "named-checkzone nomedodominio caminhocompletodoarquivo"

named-checkconf tudoemgeral3.com.br /var/cache/bind/teg3.zone



Se na linha de baixo&nbsp; retornar :

loaded serial 2012010100
OK;
seu arquivo está configurado corretamente, se aparecer algum erro revise arquivo.



Agora criaremos o arquivo da zona reversa, de o comando:

"pico /var/cache/bind/teg3.rev" e edite o arquivo com as seguintes configurações:

obs: não esqueça dos pontos finais



;
; Arquivo Zona Reversa
;
$TTL 86400 ;tempo de vida do arquivo
@ IN SOA master.tudoemgeral3.com.br. root.master.tudoemgeral3.com.br. (&nbsp;; qualquer maquina para o primeiro registro do servidor nomedamaquina.nomedodominio. root.nomedamaquina.nomedodominio. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2012010100 ; serial ;serial em formato 
ano/mes/dia/numerodoserial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7200&nbsp; ; refresh&nbsp; ;tempo de atualização desse arquivo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1800&nbsp; ; retry ;tempo para retentar as atualizações das novas configurações
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1209600&nbsp; ; expire ;tempo para expirar o arquivo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 300 )&nbsp; ; minimum
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NS master.tudoemgeral3.com.br. ;NameServer com o nomedamaquina.nomedominio.

1 PTR tudoemgeral3.com.br. ;seu ip PTR nomedodominio.
1 PTR master.tudoemgeral3.com.br ;seu ip PTR nomedamaquina.nomedodominio.




obs: o numero "1" e o final do seu ip, sendo que a rede você já configurou no arquivo de zona reversa, quando setou a configuração 10.168.192.in-addr.arpa, sendo que o arquivo lerá seu ip "1.10.168.192.in-addr.arpa"



Check o arquivo usado o comando named-checkzone:

"named-checkzone nomedazona caminhocompletodoarquivo"

"named-checkzone 10.168.192.in-addr.arpa /var/cache/bind/teg3.rev



Se na linha de baixo retornar:
loaded serial 2012010100
OK;
suas configurações estas corretas, se o contrário revise seu arquivo.



Até aqui, basta reiniciar o bind que seu DNS já rodará, teste em uma outra maquina virtual, mesmo com linux ou windows, a resolução do seu DNS.


Os últimos passos a seguir definiram o reconhecimento do seu Servidor DNS na verdade ele não sabe que é um servidor DNS, faremos que ele se reconheça assim.


Altere o nome da maquina de acordo com o setadas nas configurações da zona:

"pico /etc/hostname"



apague o que estiver e coloque o apenas o nome da sua maquina, no meu caso, "master";

De CTRL+X e salve o arquivo



Altere o arquivo hosts: este arquivo conterá um lista de IP e nome de maquinas que estarão presentes no servidor dns, geralmente apenas os nomes dos servidores dns primário e de backup.


"pico /etc/hosts"

adicione a linha com seu ip e o nome do domínio e o nome da maquina:



192.168.10.1 tudoemgeral3.com.br master



De CTRL+X e salve o arquivo.



Altere o arquivo resolv.conf: este arquivo contem um servidor de nomes e um domínio de pesquisa que a maquina irá procurar, nesse caso ele mesmo e o servidor dns, então ele mesmo se procurará.

"pico /etc/resolv.conf"



nameserver 192.168.10.1 # seu ip

domain tugoemgeral3.com.br # seu servidor dns

search tudoemgeral3.com.br # um domínio de pesquisa



De CTRL+X e salve o arquivo.



Basta agora reiniciar o bind:

"service bind9 restart" ou "/etc/init.d/bind9 restart";



Se ocorrer tudo bem, o serviço será reiniciado sem nenhum erro, se der algum erro no restart do serviço, de o comando "tail /var/log/syslog" e procure o erro informado e procure na internet ou deixe nos comentários, vamos a alguns teste de resolução:



"nslookup tudoemgeral3.com.br"; zona primaria
Server:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;192.168.10.1
Address:&nbsp;&nbsp; &nbsp;192.168.10.1#53

Name:&nbsp;&nbsp; &nbsp;tudoemgeral3.com.br
Address: 192.168.0.100

teste de zone reversa:

"nslookup 192.168.10.1" ; zona reversa
Server:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;192.168.10.1
Address:&nbsp;&nbsp; &nbsp;192.168.10.1#53

1.10.168.192.in-addr.arpa&nbsp;&nbsp; &nbsp;name = master.tudoemgeral3.com.br.10.168.192.in-addr.arpa.
1.10.168.192.in-addr.arpa&nbsp;&nbsp; &nbsp;name = tudoemgeral3.com.br.


Outros testeS:

"dig @192.168.10.1 tudoemgeral3.com.br SOA"

; &lt;&lt;&gt;&gt; DiG 9.8.5-P1 &lt;&lt;&gt;&gt; @192.168.10.1 tudoemgeral3.com.br SOA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 54981
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;tudoemgeral3.com.br.&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;IN&nbsp;&nbsp; &nbsp;SOA

;; ANSWER SECTION:
tudoemgeral3.com.br.&nbsp;&nbsp; &nbsp;86400&nbsp;&nbsp; &nbsp;IN&nbsp;&nbsp; &nbsp;SOA&nbsp;&nbsp; &nbsp;master.tudoemgeral3.com.br. root.master.tudoemgeral3.com.br. 2012010100 7200 1800 1209600 300

;; AUTHORITY SECTION:
tudoemgeral3.com.br.&nbsp;&nbsp; &nbsp;86400&nbsp;&nbsp; &nbsp;IN&nbsp;&nbsp; &nbsp;NS&nbsp;&nbsp; &nbsp;master.tudoemgeral3.com.br.

;; ADDITIONAL SECTION:
master.tudoemgeral3.com.br. 86400 IN&nbsp;&nbsp; &nbsp;A&nbsp;&nbsp; &nbsp;192.168.0.10

;; Query time: 12 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sat Jul 27 16:49:57 BRT 2013
;; MSG SIZE&nbsp; rcvd: 115





Pronto seu servidor DNS está devidamente configurado, mas apenas para um servidor primário, em outros posts trarei configurações de servidor de backup, e integração com o DHCP, até o próximo post....