Ferramentas do usuário

Ferramentas do site


bind9

Essa é uma revisão anterior do documento!


Instando servidor DNS (BIND) usando SO FreeBSD.

1 - Primeiramente vamos atualizar o Ports e do PKG:

# pkg update
# portsnap fetch extract

=== Agora vamos pesquisar qual a versão do BIND9 mais recente e efetuar a instalação, no eu caso estou usando a versão 13.1 do SO FreeBSD e a versão do Bind será :

2 - Após a instalação padrão (limpa), vamos atualizar o ports e o pkg;

# portsnap fetch extract # pkg update

3 - Vamos instalar o bind via PKG, primeiro vamos fazer uma busca pelos pacotes do BIND usando o “pkg search”;

# pkg search bind root@bind:/usr/home/dhiemeson # pkg search bind R-cran-abind-1.4.5 Combine Multidimensional Arrays R-cran-bindr-0.1.1 Parametrized Active Bindings R-cran-bindrcpp-0.2.2 Rcpp Interface to Active Bindings bind-tools-9.12.2P1 Command line tools from BIND: delv, dig, host, nslookup… bind9-devel-9.13.1.a0.2018.06.25_1 BIND DNS suite with updated DNSSEC and DNS64 bind910-9.10.7_2 BIND DNS suite with updated DNSSEC and DNS64 bind911-9.11.4P1_1 BIND DNS suite with updated DNSSEC and DNS64 bind912-9.12.2P1_1 BIND DNS suite with updated DNSSEC and DNS64 bind913-9.13.1_1 BIND DNS suite with updated DNSSEC and DNS64 bind99-9.9.12_2 BIND DNS suite with updated DNSSEC and DNS64 bindgraph-0.3_1 RRDtool frontend for BIND statistics bindtest-1.56_1 Test bind() semantics of IPv6 sockets go-bindata-3.1.0 Generates Go code from any file

4 - Vamos instalar o BIND912;

# pkg install bind912-9.12.2P1_1

5 - A instalação deverá ocorrer sem nenhum problema, no caso de algum problema existir, você receberá uma mensagem de erro. Finalizando a instalação, vamos acrescentar as linhas para estartar o serviço no rc.conf;

# ee /etc/rc.conf # named_enable=“YES”

6 - Agora, vamos reiniciar o servidor, e quando ele iniciar vamos ver se o serviço foi iniciado corretamente;

# shutdown -r now

7 - Após o termino da reinicialização vamos ver se o serviço está em execução;

# sockstat -4l root@dns:/usr/home/dhiemeson # sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root sendmail 561 3 tcp4 127.0.0.1:25 *:* root sshd 558 4 tcp4 *:22 *:* bind named 368 22 tcp4 127.0.0.1:53 *:* bind named 368 23 tcp4 127.0.0.1:953 *:* bind named 368 513 udp4 127.0.0.1:53 *:* root syslogd 355 7 udp4 *:514 *:*

8 - Como estamos vendo na saída acima o serviço (named) já está em execução. Considerando que o seu está correto vamos para o próximo passo. Vamos criar as zonas iniciais, essas configurações devem ser feitas no arquivo /usr/local/etc/namedb/named.conf;

Exemplo de zonas:

############# CONFIG ZONAS ###############

zone “freebsdbrasil.com” {

      type master;
      file "/usr/local/etc/namedb/master/zona.db";       ; zona.db será o nome da sua zona principal
      allow-transfer {127.0.0.1;};   ### IP do dns secundário

};

Zona Reversa

zone “10.10.10.in-addr.arpa”{

      type master;
      file "/usr/local/etc/namedb/master/zona.rev";	   ; zona.rev será o nome dado a sua zona reversa

};

############################################

OBS IMPORTANTE: A linha file “/usr/local/etc/namedb/master/zona.db”; da primeira zona, informa o caminho da ZONA e zona.db é o nome do arquivo de configuração da zona, lembre que nesta linha deve conter o nome da sua zona e não a que se encontra neste tuturial. Está mesma observação se aplica para a linha file “/usr/local/etc/namedb/master/zona.rev”; da zona reversa.

9 - Depois de acrescentar estas linhas, devemos reiniciar o serviço e verificar se ele inicia normalmente;

root@dns:/usr/local/etc/namedb # /usr/local/etc/rc.d/named stop Stopping named. root@dns:/usr/local/etc/namedb # /usr/local/etc/rc.d/named start Starting named.

10 - Vamos iniciar a configuração das zonas. Vamos entrar na pasta de instalação do BIND9.

# cd /usr/local/etc/named/master

- Você pode alterar o caminho da zona, não obrigatoriamente ela deve ficar no endereço acima, mas este é o endereço padrão. Na sua instalação fique a vontade para modificar este endereço, desde que lembre de alteralo em qualquer outra configuração que vier a informar o endereço das zonas.

11 - Crie o seu arquivo de zona, no meu caso vou usar os nomes das zonas acima:

# toutch zona.db # toutch zona.rev

12 - Agora vamos acrescentar as linhas de configuração de cada zona, para isto temos que saber o que cada comando irá fazer. Para uma leitura completa, consulte outros sites ou livros, neste tutorial estou utiliznado o seguinte link:

http://mundofreebsd.com.br/servidor-dns-no-freebsd/

- @: indica a origem do domínio e o início da configuração.

- IN: é a abreviação de “internet”

- SOA: sigla de “Start of Autority”.

- servidor.dominio.com.br: é o “nome completo” do servidor onde está hospedado o serviço DNS.

- administrador@dominio.com.br: é o e-mail de contato do administrador do domínio. Perceba que neste caso o nome da conta é separada do domínio por um “.” e não por uma “@”. O e-mail não precisa ser necessariamente “administrador”, poderia ser qualquer outro, por exemplo, “root.administrador.dominio.com.br”.

OBS IMPORTANTE:

ATENÇÃO: perceba que existe um “.” (ponto final) logo depois do nome do servidor e do e-mail. Este ponto faz parte da configuração e, portanto, é obrigatório. Ele se refere ao domínio raiz, de responsabilidade dos “root servers” (já mencionados anteriormente). O servidor configurado responderá pelo dominio “dominiobsd.com“, que por padrão, faz parte do domínio raiz. Como os domínios são lidos da direita para a esquerda, então o cliente faria a seguinte leitura:

RAIZ ⇒ BR ⇒ COM ⇒ DOMINIO ⇒ SUBDOMINIOS


Modelo de zona

; Arquivo de zona do domínio “freebsdbrasil.com”

@ IN SOA dns.freebsdbrasil.com. root.freebsdbrasil.com. (2018091701 17d 11h 2w 1d)

; Serial ; Refresh ; Retry ; Expire ; Neg ; Cache TTL

NS dsn.freebsdbrasil.com.

freebsdbrasil.com. A 172.20.20.100

; MX Record

IN	MX	10	mail.freebsdbrasil.com.

; Hosts

dns A 10.10.10.101 adm A 10.10.10.x vendas1 A 10.10.10.x vendas2 A 10.10.10.x admin A 10.10.10.x mail A 10.10.10.x

; Apelidos

www IN CNAME dns


- O exemplo de zona acima pode ser usado para criar a sua, no meu caso eu apenas me baseei nela, mas não usei todas as linhas contidas nela: - Segue abaixo a zona que eu criei:


$TTL 604800

@ IN SOA dns.freebsdbrasil.com. root.freebsdbrasil.com. (2018091701 17d 11h 2w 1d)

@ IN NS dns

freebsdbrasil.com. A 10.10.10.101

; name servers

dns A 10.10.10.101

; Apelidos

www IN CNAME dns


13 - Depois de criarmos a zona principal, vamos criar a sua zona reversa. Lembrando que no inicio da preparação do serviço, nos configuramos o arquivo named.conf, lá nos informamos os nomes da zonas e a localização delas.


Modelo de zona

; Arquivo de zona reversa do domínio “freebsdbrasil.com”

@ IN SOA dns.freebsdbrasil.com. administrador.freebsdbrasil.com. (2018091701 17d 11h 2w 1d)

; Serial ; Refresh ; Retry ; Expire ; Neg ; Cache TTL

IN	NS dsn.freebsdbrasil.com.

20 PTR adm.freebsdbrasil.com. 30 PTR vendas1.freebsdbrasil.com. 40 PTR vendas2.freebsdbrasil.com. 100 PTR dns.freebsdbrasil.com. 200 PTR admin.freebsdbrasil.com. 110 PTR mail.freebsdbrasil.com.


- O exemplo de zona reversa acima pode ser usado para criar a sua, no meu caso eu apenas me baseei nela, mas não usei todas as linhas contidas nela: - Segue abaixo a zona que eu criei:


$TTL 604800 @ IN SOA dns.freebsdbrasil.com. administrador.freebsdbrasil.com.(2018091701 17d 12h 2w 1d)

      IN      NS      dns.freebsdbrasil.com.

101 PTR dns.freebsdbrasil.com.


14 - Depois de configurar nossa zona reversa, vamos editar o arquivo /etc/resolv.conf e inserir as linhas abaixo:

# ee /etc/resolv.conf # Generated by resolvconf search freebsdbrasil.com nameserver 10.10.10.101

- Saia do arquivo e não esqueça de salvar

15 - Após isto, vamos estartar o serviço e vamos fazer os testes para verificar se tudo está funcionando corretamente:

# /usr/local/etc/rc.d/named start

- Checando as informações

# named-checkconf

– Este comando acima vai checar se o arquivo named.conf está configurado corretamento, se eles não estiver configurado corretamente quando você executar este comando irá aparecer uma mensagem de erro informando a linha que está errada. Se não apresentar erro algum quer dizer que este arquivo está configurado corretamente.

16 - Vamos checar agora se as zonas estão configuradas corretamente, vamos usar agora o comando named-checkzone: Segue a sintaxe do comando

Sintaxe: # named-checkzone nome-do-seu-dominio local-onde-esta-armazenada-sua-zona

Exemplo real: root@dns:/usr/local/etc/namedb/master # named-checkzone freebsdbrasil.com /usr/local/etc/namedb/master/freebsdbrasil.db zone freebsdbrasil.com/IN: loaded serial 2018091701 OK

– Podemos observar que a saída não contem nenhum erro. Assim podemos saber que esta zona está configurada corretamente. Vamos testar a próxina zona (reversa).

OBS IMPORTANTE: No teste da zona reversa ao invés de usar o nome do dominio, vamos usar o endereço IP dele.

root@dns:/usr/local/etc/namedb/master # named-checkzone 10.10.10.101 /usr/local/etc/namedb/master/reversa.db zone 10.10.10.101/IN: loaded serial 2018091701 OK

– Podemos observar que a saída não contem nenhum erro. Assim podemos saber que esta zona está configurada corretamente. Vamos testar a próxina zona (reversa).

17 - Agora vamos testar as configurações do domínio para saber se ele já está funcionando corretamente. Existem dezenas de formas de se fazer isso. Inicialmente faremos este teste por meio do utilitário “DIG”. Este utilitário faz parte do pacote BIND, por isso não precisaremos instalá-lo no sistema.

Digite o comando “dig” seguido do domínio.


root@dns:/usr/local/etc/namedb/master # dig freebsdbrasil.com

; «» DiG 9.12.2-P1 «» freebsdbrasil.com ;; global options: +cmd ;; Got answer: ;; →>HEADER«- opcode: QUERY, status: NOERROR, id: 8982 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 95e19e32e9b2eea3c35f7c8d5ba0941ec9e3637fc5da35dd (good) ;; QUESTION SECTION: ;freebsdbrasil.com. IN A

;; ANSWER SECTION: freebsdbrasil.com. 604800 IN A 10.10.10.101

;; Query time: 0 msec ;; SERVER: 10.10.10.101#53(10.10.10.101) ;; WHEN: Tue Sep 18 02:58:54 -03 2018 ;; MSG SIZE rcvd: 90


– Podemos ver algumas informações do servidor, e a principal informação é uma entrada especificando o IP do servidor:

;; ANSWER SECTION: freebsdbrasil.com. 604800 IN A 10.10.10.101

- Agora vamos pingar no dominio, ele deve responder normalmente

root@dns:/usr/local/etc/namedb/master # ping -c 5 freebsdbrasil.com PING freebsdbrasil.com (10.10.10.101): 56 data bytes 64 bytes from 10.10.10.101: icmp_seq=0 ttl=64 time=0.011 ms 64 bytes from 10.10.10.101: icmp_seq=1 ttl=64 time=0.045 ms 64 bytes from 10.10.10.101: icmp_seq=2 ttl=64 time=0.036 ms 64 bytes from 10.10.10.101: icmp_seq=3 ttl=64 time=0.037 ms 64 bytes from 10.10.10.101: icmp_seq=4 ttl=64 time=0.033 ms

— freebsdbrasil.com ping statistics — 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.011/0.032/0.045/0.011 ms

– Se até este passo todos os testes funcionaram corretamente, seu servidor DNS está pronto e você pode acrescentar o que mais for necessário.

Deixe sua contribuição

Insira seu comentário:
 
bind9.1678809050.txt.gz · Última modificação: 2023/03/14 15:50 por dhiemeson.nascimento