bind9
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
bind9 [2023/03/14 15:50] – criada dhiemeson.nascimento | bind9 [2023/07/17 14:08] (atual) – dhiemeson.nascimento | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | === Instando servidor DNS (BIND) usando SO FreeBSD. === | + | ===== Instando servidor DNS (BIND) usando SO FreeBSD. |
- | === 1 - Primeiramente vamos atualizar o Ports e do PKG: === | + | === 1 - Primeiramente vamos atualizar o Ports e o PKG: === |
< | < | ||
Linha 8: | Linha 8: | ||
</ | </ | ||
+ | === 2 - Agora vamos pesquisar qual a versão do BIND9 mais recente e efetuar a instalação. No meu caso estou usando a versão 13.1 do SO FreeBSD e a versão do Bind será bind918-9.18.12 : === | ||
- | === Agora vamos pesquisar qual a versão do BIND9 mais recente e efetuar a instalação, | + | < |
+ | # pkg search bind9 | ||
+ | bind9-devel-9.19.3.2022.06.16_1 BIND DNS suite with updated DNSSEC and DNS64 | ||
+ | bind916-9.16.38 | ||
+ | bind918-9.18.12 | ||
+ | </ | ||
- | 2 - Após a instalação padrão (limpa), vamos atualizar | + | === 3 - Vamos instalar |
- | # portsnap fetch extract | + | < |
- | # pkg update | + | # pkg install -y bind918-9.18.12 |
+ | </ | ||
- | 3 - Vamos instalar o bind via PKG, primeiro vamos fazer uma busca pelos pacotes | + | === 4 - A instalação deverá ocorrer sem nenhum problema, no caso de algum problema existir, você receberá |
- | # pkg search bind | + | < |
- | root@bind:/usr/home/dhiemeson # pkg search bind | + | # /usr/local/etc/rc.d/named enable |
- | R-cran-abind-1.4.5 | + | named enabled in /etc/rc.conf |
- | R-cran-bindr-0.1.1 | + | </code> |
- | R-cran-bindrcpp-0.2.2 | + | |
- | bind-tools-9.12.2P1 | + | |
- | bind9-devel-9.13.1.a0.2018.06.25_1 BIND DNS suite with updated DNSSEC and DNS64 | + | |
- | bind910-9.10.7_2 | + | |
- | bind911-9.11.4P1_1 | + | |
- | bind912-9.12.2P1_1 | + | |
- | bind913-9.13.1_1 | + | |
- | bind99-9.9.12_2 | + | |
- | bindgraph-0.3_1 | + | |
- | bindtest-1.56_1 | + | |
- | go-bindata-3.1.0 | + | |
- | 4 - Vamos instalar o BIND912; | + | === 5 - Após isto, vamos configurar nosso arquivo named.conf que se encontra em / |
- | # pkg install bind912-9.12.2P1_1 | + | -- Depois de entrar no diretório ,vamos fazer uma cópia do arquivo de configuração: |
- | 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, | + | < |
+ | # cd / | ||
+ | # cp named.conf named.conf.bkp | ||
+ | </ | ||
- | # ee /etc/rc.conf | + | === 6 - Agora vamos editar o arquivo de configuração de acordo com nossas necessidades. Vou deixar um exemplo de um arquivo básico de configuração que pode ser usado. Dependendo do da sua necessidade pode ser um pouco mais fácil ou um pouco mais complexo: === |
- | # named_enable=" | + | |
- | 6 - Agora, vamos reiniciar o servidor, e quando ele iniciar vamos ver se o serviço foi iniciado corretamente; | + | -- Arquivo de exemplo: |
- | # shutdown | + | < |
+ | options { | ||
+ | directory | ||
+ | pid-file "/ | ||
+ | dump-file | ||
+ | statistics-file "/ | ||
+ | listen-on | ||
+ | // listen-on-v6 | ||
+ | allow-query { any; }; | ||
+ | // dnssec-policy " | ||
+ | recursion no; | ||
+ | version "Nao disponivel"; | ||
+ | // forwarders { 192.168.1.254; | ||
+ | empty-zones-enable no; | ||
+ | disable-empty-zone " | ||
+ | disable-empty-zone " | ||
+ | disable-empty-zone " | ||
- | 7 - Após o termino da reinicialização vamos ver se o serviço está em execução; | + | }; |
- | # sockstat -4l | + | logging { |
- | root@dns:/ | + | |
- | USER | + | |
- | root | + | |
- | root | + | |
- | bind | + | |
- | bind | + | |
- | bind | + | |
- | root | + | |
- | 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 / | ||
- | Exemplo de zonas: | + | channel resolver_file { |
+ | file "/ | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
- | ################ | + | channel notify_file { |
- | + | | |
- | zone "freebsdbrasil.com" | + | |
- | | + | print-time yes; |
- | file "/usr/local/etc/namedb/master/zona.db"; | + | }; |
- | | + | channel client_file { |
+ | file "/var/log/named/client.log" | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | channel queries_file { | ||
+ | file "/ | ||
+ | severity dynamic; | ||
+ | | ||
+ | }; | ||
+ | category resolver | ||
+ | category notify { notify_file; | ||
+ | category client { client_file; | ||
+ | category queries { queries_file; }; | ||
}; | }; | ||
- | ### Zona Reversa ### | + | zone "nome_de_sua_zona_vem_aqui" { |
- | + | ||
- | zone "10.10.10.in-addr.arpa"{ | + | |
type master; | type master; | ||
- | | + | |
- | }; | + | |
- | + | | |
- | ############################################### | + | |
- | + | }; | |
- | OBS IMPORTANTE: A linha file "/usr/local/etc/namedb/ | + | </ |
+ | === 7 - O Arquivo de configuração acima pode ser usado por qualquer um, sendo que será necessário editar as opções referentes a sua zona: === | ||
- | 9 - Depois de acrescentar estas linhas, devemos reiniciar o serviço e verificar se ele inicia normalmente; | + | -- Vou explicar cada linha do arquivo: |
- | + | ||
- | root@dns:/ | + | |
- | Stopping named. | + | |
- | root@dns:/ | + | |
- | Starting named. | + | |
- | 10 - Vamos iniciar a configuração das zonas. Vamos entrar na pasta de instalação do BIND9. | + | **-- Seção Options:** |
- | # cd / | + | < |
+ | 1 - options { - Início das opções de configuração do BIND; | ||
- | - Você pode alterar | + | 2 - directory "/ |
+ | configuração | ||
- | 11 - Crie o seu arquivo de zona, no meu caso vou usar os nomes das zonas acima: | + | 3 - pid-file "/ |
- | # toutch zona.db | + | 4 - dump-file "/ |
- | # 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 | + | 5 - statistics-file "/ |
- | http:// | + | 6 - listen-on { 127.0.0.1; 192.168.0.1; |
- | - @: indica | + | 7 - // listen-on-v6 { ::1; }; - Linha comentada que indica |
- | - IN: é a abreviação | + | 8 - allow-query { any; }; - Permite que qualquer host envie consultas |
- | - SOA: sigla de “Start of Autority”. | + | 9 - // dnssec-policy " |
- | - servidor.dominio.com.br: | + | 10 - recursion no; - Desabilita a recursão de consultas de DNS no BIND; |
- | - administrador@dominio.com.br: | + | 11 - version "Nao disponivel"; |
- | OBS IMPORTANTE: | + | 12 - // forwarders { 192.168.1.254; |
- | 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” | + | 13 - empty-zones-enable no; - Desabilita a criação automática |
- | RAIZ => BR => COM => DOMINIO => SUBDOMINIOS | + | 14 - disable-empty-zone " |
- | ------------------------------------------------------------------------------------------ | + | 15 - disable-empty-zone " |
- | Modelo | + | |
- | ; Arquivo de zona do domínio | + | 16 - disable-empty-zone |
- | @ IN SOA dns.freebsdbrasil.com. root.freebsdbrasil.com. (2018091701 17d 11h 2w 1d) | + | 17 - }; - Fim das opções de configuração do BIND. |
+ | </ | ||
- | ; Serial | + | **-- Seção logging:** |
- | ; Refresh | + | |
- | ; Retry | + | |
- | ; Expire | + | |
- | ; Neg | + | |
- | ; Cache TTL | + | |
- | + | ||
- | NS dsn.freebsdbrasil.com. | + | |
- | freebsdbrasil.com. A 172.20.20.100 | + | < |
+ | 1 - logging { - Início da configuração de log. | ||
- | ; MX Record | + | 2 - channel resolver_file { - Configuração do canal de log resolver_file. |
- | IN MX 10 mail.freebsdbrasil.com. | + | |
- | ; Hosts | + | 3 - file "/ |
- | dns A 10.10.10.101 | + | 4 - severity dynamic; - Configura o nível de gravidade do log como dinâmico, o que significa que pode ser alterado durante a execução. |
- | 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 | + | 5 - print-time yes; - Habilita a impressão do tempo no registro de log. |
- | www IN CNAME dns | + | 6 - }; - Fim da configuração do canal resolver_file. |
- | ------------------------------------------------------------------------------------------- | + | 7 - channel notify_file { - Configuração do canal de log notify_file. |
- | - O exemplo | + | 8 - file "/ |
- | - Segue abaixo | + | |
- | ------------------------------------------------------------------------------------------- | + | 9 - severity dynamic; |
- | $TTL 604800 | + | 10 - print-time yes; - Habilita a impressão do tempo no registro de log. |
- | @ IN SOA dns.freebsdbrasil.com. root.freebsdbrasil.com. (2018091701 17d 11h 2w 1d) | + | 11 - }; - Fim da configuração do canal notify_file. |
- | @ | + | 12 - channel client_file { - Configuração do canal de log client_file. |
- | freebsdbrasil.com. | + | 13 - file "/ |
- | ; name servers | + | 14 - severity dynamic; - Configura o nível de gravidade do log como dinâmico, o que significa que pode ser alterado durante a execução. |
- | dns | + | 15 - print-time yes; - Habilita a impressão do tempo no registro de log. |
- | ; Apelidos | + | 16 - }; - Fim da configuração do canal client_file. |
- | www | + | 17 - channel queries_file { - Configuração do canal de log queries_file. |
+ | 18 - file "/ | ||
- | ------------------------------------------------------------------------------------------ | + | 19 - severity dynamic; |
- | 13 - Depois de criarmos | + | 20 - print-time yes; - Habilita |
- | Lembrando que no inicio da preparação | + | |
+ | 21 - }; - Fim da configuração do canal queries_file. | ||
- | ------------------------------------------------------------------------------------------ | + | 22 - category resolver { resolver_file; |
- | Modelo | + | |
- | ; Arquivo | + | 23 - category notify { notify_file; }; - Configura a categoria |
- | @ IN SOA dns.freebsdbrasil.com. administrador.freebsdbrasil.com. (2018091701 17d 11h 2w 1d) | + | 24 - category client { client_file; |
- | ; Serial | + | 25 - category queries { queries_file; }; - Configura a categoria de log queries para usar o canal queries_file. |
- | ; Refresh | + | |
- | ; Retry | + | |
- | ; Expire | + | |
- | ; Neg | + | |
- | ; Cache TTL | + | |
- | + | ||
- | IN NS dsn.freebsdbrasil.com. | + | 26 - };: Fim da configuração de log |
+ | </ | ||
- | 20 PTR adm.freebsdbrasil.com. | + | **-- Seção da zona** |
- | 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. | + | |
- | ------------------------------------------------------------------------------------------- | + | < |
+ | 1 - zone " | ||
- | - 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: | + | 2 - type master; |
- | - Segue abaixo | + | |
- | ------------------------------------------------------------------------------------------- | + | 3 - allow-transfer { 192.168.0.2; |
- | $TTL 604800 | + | 4 - also-notify { 192.168.0.2; }; - especifica o endereço IP de um servidor que também será notificado quando a zona for atualizada. |
- | @ IN SOA dns.freebsdbrasil.com. administrador.freebsdbrasil.com.(2018091701 17d 12h 2w 1d) | + | |
+ | 5 - file "/ | ||
+ | </ | ||
- | IN NS dns.freebsdbrasil.com. | + | **OBS: As linhas obrigatórias que vocês terão que alterar no seu ambiente serão:** |
- | 101 | + | **-- Linha 6 da seção OPTIONS** |
- | ------------------------------------------------------------------------------------------ | + | **-- Linhas 1, 3, 4 e 5 da seção ZONA** |
- | 14 - Depois de configurar nossa zona reversa, vamos editar o arquivo | + | === 8 - Feche seu arquivo |
- | # ee /etc/resolv.conf | + | < |
- | # Generated by resolvconf | + | # named-checkconf named.conf |
- | search freebsdbrasil.com | + | </ |
- | nameserver 10.10.10.101 | + | |
- | - Saia do arquivo | + | === 9 - Se tudo estiver correto vamos configurar nosso arquivo de zona: === |
- | 15 - Após isto, vamos estartar o serviço e vamos fazer os testes para verificar se tudo está funcionando corretamente: | + | OBS: O arquivo de zona deverá se encontrar no mesmo local em que foi descrito na linha 5 da seção de zona do named.conf. |
- | # / | + | -- No meu caso vou criar um arquivo de zona chamado exemplo.com.br.zone |
- | - Checando as informações | + | < |
+ | # touch exemplo.com.br.zone | ||
+ | </ | ||
- | # named-checkconf | + | === 10 - Vamos editá-lo, segue o exemplo do meu arquivo de configuração: |
- | -- Este comando acima vai checar se o arquivo named.conf está configurado corretamento, | + | < |
- | Se não apresentar erro algum quer dizer que este arquivo está configurado corretamente. | + | $TTL 2d |
+ | @ | ||
+ | | ||
+ | 12h ; Refresh | ||
+ | 15m ; Retry | ||
+ | 3w ; Expire | ||
+ | 2h ; Negative Cache TTL | ||
+ | ) | ||
- | 16 - Vamos checar agora se as zonas estão configuradas corretamente, | + | @ |
- | Segue a sintaxe do comando | + | @ |
- | Sintaxe: | + | exemplo.com.br. |
- | # named-checkzone nome-do-seu-dominio local-onde-esta-armazenada-sua-zona | + | |
- | Exemplo real: | ||
- | root@dns:/ | ||
- | zone freebsdbrasil.com/ | ||
- | 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). | + | ; name servers |
- | OBS IMPORTANTE: No teste da zona reversa ao invés de usar o nome do dominio, vamos usar o endereço IP dele. | + | ns1 |
+ | ns2 | ||
- | root@dns:/ | + | ; registros |
- | zone 10.10.10.101/ | + | |
- | 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). | + | server1 |
+ | server2 | ||
+ | server3 | ||
- | 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. | + | www |
- | Digite o comando “dig” seguido do domínio. | + | ; CNAMEs |
- | ---------------------------------------------------------------------------------------------- | + | www.exemplo.com.br |
+ | </ | ||
- | root@dns:/ | + | -- Uma forma de testar as zonas é por meio do seguinte comando: |
- | ; <<>> DiG 9.12.2-P1 <<>> | + | <code> |
- | ;; global options: +cmd | + | # named-checkzone exemplo.com.br exemplo.com.br.zone |
- | ;; Got answer: | + | </code> |
- | ;; ->> | + | |
- | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 | + | |
- | ;; OPT PSEUDOSECTION: | + | === 11 - Para o DNS secundário você fará os mesmos passos anteriores, porém irá alterar para o endereço dele (secundário), o que irá mudar será as linhas da zona no named.conf. Segue um exemplo, do que irá sofrer alteração no DNS secundário: |
- | ; EDNS: version: 0, flags:; udp: 4096 | + | |
- | ; COOKIE: 95e19e32e9b2eea3c35f7c8d5ba0941ec9e3637fc5da35dd | + | |
- | ;; QUESTION SECTION: | + | |
- | ; | + | |
- | ;; ANSWER SECTION: | + | -- DNS Secundário - named.conf |
- | freebsdbrasil.com. 604800 | + | |
- | ;; Query time: 0 msec | + | < |
- | ;; SERVER: 10.10.10.101# | + | zone " |
- | ;; WHEN: Tue Sep 18 02:58:54 -03 2018 | + | type slave; |
- | ;; MSG SIZE rcvd: 90 | + | |
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
- | ----------------------------------------------------------------------------------------------- | + | === 12 - Feito todas as configurações, |
+ | < | ||
+ | # chown -R bind:bind / | ||
+ | # / | ||
+ | </ | ||
- | -- Podemos | + | === 13 - Vamos ver se o serviço subiu normalmente com o comando sockstat -4l, você deverá receber |
- | ;; ANSWER SECTION: | + | < |
- | freebsdbrasil.com. | + | # sockstat -4l |
- | + | USER | |
- | - Agora vamos pingar no dominio, ele deve responder normalmente | + | bind |
- | + | bind | |
- | root@dns:/ | + | bind |
- | PING freebsdbrasil.com (10.10.10.101): 56 data bytes | + | bind |
- | 64 bytes from 10.10.10.101: icmp_seq=0 ttl=64 time=0.011 ms | + | bind |
- | 64 bytes from 10.10.10.101: icmp_seq=1 ttl=64 time=0.045 ms | + | bind |
- | 64 bytes from 10.10.10.101: icmp_seq=2 ttl=64 time=0.036 ms | + | bind |
- | 64 bytes from 10.10.10.101: icmp_seq=3 ttl=64 time=0.037 ms | + | bind |
- | 64 bytes from 10.10.10.101: icmp_seq=4 ttl=64 time=0.033 ms | + | bind |
- | + | bind | |
- | --- freebsdbrasil.com ping statistics --- | + | </ |
- | 5 packets transmitted, | + | |
- | round-trip min/ | + | |
- | -- Se até este passo todos os testes funcionaram corretamente, | + | ----------------- |
+ | ~~DISCUSSION|Deixe sua contribuição~~ |
bind9.1678809050.txt.gz · Última modificação: 2023/03/14 15:50 por dhiemeson.nascimento