bind9
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
bind9 [2023/03/14 20:38] – 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 eu caso estou usando a versão 13.1 do SO FreeBSD e a versão do Bind será bind918-9.18.12 : === | + | === 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 : === |
< | < | ||
Linha 20: | Linha 20: | ||
< | < | ||
- | pkg install -y bind918-9.18.12 | + | # pkg install -y bind918-9.18.12 |
</ | </ | ||
Linha 30: | Linha 30: | ||
</ | </ | ||
+ | === 5 - Após isto, vamos configurar nosso arquivo named.conf que se encontra em / | ||
+ | -- Depois de entrar no diretório ,vamos fazer uma cópia do arquivo de configuração: | ||
+ | |||
+ | < | ||
+ | # cd / | ||
+ | # cp named.conf named.conf.bkp | ||
+ | </ | ||
+ | |||
+ | === 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: === | ||
+ | |||
+ | -- Arquivo de exemplo: | ||
+ | |||
+ | < | ||
+ | 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 " | ||
+ | |||
+ | }; | ||
+ | |||
+ | logging { | ||
+ | |||
+ | |||
+ | channel resolver_file { | ||
+ | file "/ | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | |||
+ | channel notify_file { | ||
+ | file "/ | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | channel client_file { | ||
+ | file "/ | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | channel queries_file { | ||
+ | file "/ | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | category resolver { resolver_file; | ||
+ | category notify { notify_file; | ||
+ | category client { client_file; | ||
+ | category queries { queries_file; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | allow-transfer { 192.168.0.2; | ||
+ | also-notify { 192.168.0.2; | ||
+ | // notificações de modificações da zona | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | === 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: === | ||
+ | |||
+ | -- Vou explicar cada linha do arquivo: | ||
+ | |||
+ | **-- Seção Options:** | ||
+ | |||
+ | < | ||
+ | 1 - options { - Início das opções de configuração do BIND; | ||
+ | |||
+ | 2 - directory "/ | ||
+ | configuração e outros arquivos; | ||
+ | |||
+ | 3 - pid-file "/ | ||
+ | |||
+ | 4 - dump-file "/ | ||
+ | |||
+ | 5 - statistics-file "/ | ||
+ | |||
+ | 6 - listen-on { 127.0.0.1; 192.168.0.1; | ||
+ | |||
+ | 7 - // listen-on-v6 { ::1; }; - Linha comentada que indica como habilitar o suporte ao IPv6 no BIND; | ||
+ | |||
+ | 8 - allow-query { any; }; - Permite que qualquer host envie consultas de DNS para o servidor BIND; | ||
+ | |||
+ | 9 - // dnssec-policy " | ||
+ | |||
+ | 10 - recursion no; - Desabilita a recursão de consultas de DNS no BIND; | ||
+ | |||
+ | 11 - version "Nao disponivel"; | ||
+ | |||
+ | 12 - // forwarders { 192.168.1.254; | ||
+ | |||
+ | 13 - empty-zones-enable no; - Desabilita a criação automática de zonas vazias (para prevenir ataques de amplificação de DNS); | ||
+ | |||
+ | 14 - disable-empty-zone " | ||
+ | |||
+ | 15 - disable-empty-zone " | ||
+ | |||
+ | 16 - disable-empty-zone " | ||
+ | |||
+ | 17 - }; - Fim das opções de configuração do BIND. | ||
+ | </ | ||
+ | |||
+ | **-- Seção logging:** | ||
+ | |||
+ | < | ||
+ | 1 - logging { - Início da configuração de log. | ||
+ | |||
+ | 2 - channel resolver_file { - Configuração do canal de log resolver_file. | ||
+ | |||
+ | 3 - file "/ | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 5 - print-time yes; - Habilita a impressão do tempo no registro de log. | ||
+ | |||
+ | 6 - }; - Fim da configuração do canal resolver_file. | ||
+ | |||
+ | 7 - channel notify_file { - Configuração do canal de log notify_file. | ||
+ | |||
+ | 8 - file "/ | ||
+ | |||
+ | 9 - severity dynamic; - Configura o nível de gravidade do log como dinâmico, o que significa que pode ser alterado durante a execução. | ||
+ | |||
+ | 10 - print-time yes; - Habilita a impressão do tempo no registro de log. | ||
+ | |||
+ | 11 - }; - Fim da configuração do canal notify_file. | ||
+ | |||
+ | 12 - channel client_file { - Configuração do canal de log client_file. | ||
+ | |||
+ | 13 - file "/ | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 15 - print-time yes; - Habilita a impressão do tempo no registro de log. | ||
+ | |||
+ | 16 - }; - Fim da configuração do canal client_file. | ||
+ | |||
+ | 17 - channel queries_file { - Configuração do canal de log queries_file. | ||
+ | |||
+ | 18 - file "/ | ||
+ | |||
+ | 19 - severity dynamic; - Configura o nível de gravidade do log como dinâmico, o que significa que pode ser alterado durante a execução. | ||
+ | |||
+ | 20 - print-time yes; - Habilita a impressão do tempo no registro de log. | ||
+ | |||
+ | 21 - }; - Fim da configuração do canal queries_file. | ||
+ | |||
+ | 22 - category resolver { resolver_file; | ||
+ | |||
+ | 23 - category notify { notify_file; | ||
+ | |||
+ | 24 - category client { client_file; | ||
+ | |||
+ | 25 - category queries { queries_file; | ||
+ | |||
+ | 26 - };: Fim da configuração de log | ||
+ | </ | ||
+ | |||
+ | **-- Seção da zona** | ||
+ | |||
+ | < | ||
+ | 1 - zone " | ||
+ | |||
+ | 2 - type master; - indica que o servidor DNS é a fonte autoritativa para essa zona. | ||
+ | |||
+ | 3 - allow-transfer { 192.168.0.2; | ||
+ | |||
+ | 4 - also-notify { 192.168.0.2; | ||
+ | |||
+ | 5 - file "/ | ||
+ | </ | ||
+ | |||
+ | **OBS: As linhas obrigatórias que vocês terão que alterar no seu ambiente serão:** | ||
+ | |||
+ | **-- Linha 6 da seção OPTIONS** | ||
+ | |||
+ | **-- Linhas 1, 3, 4 e 5 da seção ZONA** | ||
+ | |||
+ | === 8 - Feche seu arquivo named.conf com suas configurações, | ||
+ | |||
+ | < | ||
+ | # named-checkconf named.conf | ||
+ | </ | ||
+ | |||
+ | === 9 - Se tudo estiver correto vamos configurar nosso arquivo de zona: === | ||
+ | |||
+ | 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 | ||
+ | |||
+ | < | ||
+ | # touch exemplo.com.br.zone | ||
+ | </ | ||
+ | |||
+ | === 10 - Vamos editá-lo, segue o exemplo do meu arquivo de configuração: | ||
+ | |||
+ | < | ||
+ | $TTL 2d | ||
+ | @ | ||
+ | | ||
+ | 12h ; Refresh | ||
+ | 15m ; Retry | ||
+ | 3w ; Expire | ||
+ | 2h ; Negative Cache TTL | ||
+ | ) | ||
+ | |||
+ | @ | ||
+ | @ | ||
+ | |||
+ | exemplo.com.br. | ||
+ | |||
+ | |||
+ | ; name servers | ||
+ | |||
+ | ns1 | ||
+ | ns2 | ||
+ | |||
+ | ; registros | ||
+ | |||
+ | server1 | ||
+ | server2 | ||
+ | server3 | ||
+ | |||
+ | www | ||
+ | |||
+ | ; CNAMEs | ||
+ | |||
+ | www.exemplo.com.br | ||
+ | </ | ||
+ | |||
+ | -- Uma forma de testar as zonas é por meio do seguinte comando: | ||
+ | |||
+ | < | ||
+ | # named-checkzone exemplo.com.br exemplo.com.br.zone | ||
+ | </ | ||
+ | |||
+ | === 11 - Para o DNS secundário você fará os mesmos passos anteriores, porém irá alterar para o endereço dele (secundário), | ||
+ | |||
+ | -- DNS Secundário - named.conf | ||
+ | |||
+ | < | ||
+ | zone " | ||
+ | type slave; | ||
+ | masters { 192.168.1.1; | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | === 12 - Feito todas as configurações, | ||
+ | < | ||
+ | # chown -R bind:bind / | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | === 13 - Vamos ver se o serviço subiu normalmente com o comando sockstat -4l, você deverá receber uma saída da seguinte forma: === | ||
+ | |||
+ | < | ||
+ | # sockstat -4l | ||
+ | USER | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | bind | ||
+ | </ | ||
+ | |||
+ | ----------------- | ||
+ | |||
+ | ~~DISCUSSION|Deixe sua contribuição~~ |
bind9.1678826303.txt.gz · Última modificação: 2023/03/14 20:38 por dhiemeson.nascimento