Domain Name Service (DNS) (Português)

Domain Name Service (DNS) é um serviço de Internet que mapeia endereços IP e nomes de domínio totalmente qualificados (FQDN) um para o outro. Desta forma, o DNS alivia a necessidade de lembrar endereços IP. Computadores que executam DNS são chamados servidores de nomes. Ubuntu ships with BIND( Berkley Internet Naming Daemon), the most common program used for maintaining a name server on Linux.,

numa linha de comandos do terminal, indique o seguinte comando para instalar dns:

sudo apt install bind9

um pacote muito útil para testar e resolver problemas de DNS é o dnsutils pacote. Muitas vezes essas ferramentas será instalado já, mas para verificar e/ou instalar o dnsutils insira o seguinte:

sudo apt install dnsutils

Configuração

Existem muitas maneiras de configurar o BIND9. Algumas das configurações mais comuns são um servidor de nomes Cache, servidor primário e servidor secundário.,

  • quando configurado como um servidor de nomes de cache BIND9 irá encontrar a resposta para consultas de nomes e recordar a resposta quando o domínio for questionado novamente.

  • Como um servidor primário, BIND9 lê os dados para uma zona a partir de um arquivo em seu host e é autoritário para essa zona.

  • Como um servidor secundário, BIND9 recebe os dados da zona de outro servidor de nomes que é autoritário para a zona.

visão geral

os ficheiros de configuração DNS são armazenados na pasta /etc/bind., O arquivo de configuração primária é /etc/bind/named.conf, que na disposição fornecida pelo pacote apenas inclui esses arquivos.

os nomes de raiz usados para serem descritos no arquivo /etc/bind/db.root. Este é agora fornecido pelo arquivo /usr/share/dns/root.hints enviado com o arquivo dns-root-data, e é referenciado no arquivo named.conf.default-zones configuração acima.

é possível configurar o mesmo servidor para ser um servidor de nomes de cache, primário e secundário: tudo depende das zonas que está servindo., Um servidor pode ser o início da Autoridade (SOA) para uma zona, enquanto fornece serviço secundário para outra zona. Todo o tempo fornecendo serviços de caching para hosts na LAN local.

processador de nomes

a configuração por omissão funciona como um servidor de cache. Simplesmente descomente e edite /etc/bind/named.conf.options para definir os endereços IP dos servidores de DNS do ISP:

forwarders { 1.2.3.4; 5.6.7.8;};

Nota

Substituir 1.2.3.4 e 5.6.7.8 com os Endereços IP real de servidores de nomes.,

Para activar a nova configuração, reinicie o servidor DNS. A partir de uma linha de comandos do terminal:

sudo systemctl restart bind9.service

veja o dig para mais informações sobre o teste de um servidor de DNS de cache.

servidor primário

nesta secção BIND9 será configurado como o servidor primário para o domínio example.com. Simplesmente substitua example.com por seu FQDN (nome de domínio totalmente qualificado).,

para a Frente da Zona de Arquivo

Para adicionar uma zona de DNS para o BIND9, transformando o BIND9-se em um servidor Primário, primeira edição /etc/bind/named.conf.local:

zone "example.com" { type master; file "/etc/bind/db.example.com";};

Nota

Se ligar vai receber atualizações automáticas do arquivo como com DDNS, em seguida, use /var/lib/bind/db.example.com ao invés de /etc/bind/db.example.com tanto aqui e no comando copy abaixo.,

Agora usar um arquivo de zona existente como um modelo para criar o /etc/bind/db.example.com ficheiro:

sudo cp /etc/bind/db.local /etc/bind/db.example.com

Edite o novo arquivo de zona /etc/bind/db.example.com e altere o localhost. para o FQDN do servidor, deixando-o adicional . no final., Altere o 127.0.0.1 para o servidor de nomes do Endereço IP e da root.localhost para um endereço de email válido, mas com uma . em vez do habitual ” @ símbolo, deixando novamente o . no final. Altera o comentário para indicar o domínio para o qual este ficheiro se destina.

crie um registro para o domínio de base, example.com. Além disso, crie um registo para ns.example.com, o servidor de nomes neste exemplo:

tem de aumentar o número de série sempre que fizer alterações ao ficheiro zone., Se você fizer várias alterações antes de reiniciar BIND9, simplesmente aumente a série uma vez.

Agora, você pode adicionar registros DNS para o fundo do arquivo zone. Veja os tipos de Registos comuns para mais detalhes.,

Nota

Muitos administradores de como usar a última data editado como o de série de um horário, como 2020012100 que é yyyymmddss (onde ss é o Número de Série)

Depois de ter feito alterações no arquivo de zona BIND9 precisa ser reiniciado para que as alterações entrem em vigor:

sudo systemctl restart bind9.service

Zona Reversa de arquivos

Agora que a zona é a instalação e a resolução de nomes para Endereços IP, uma zona Inversa precisa ser adicionado ao permite que o DNS para resolver um endereço para um nome.,

Editar /etc/bind/named.conf.local e adicione o seguinte:

zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};

Nota

Substituir 1.168.192 com os três primeiros octetos de qualquer rede que você está usando. Além disso, nomeie o arquivo zone /etc/bind/db.192 apropriadamente. Deve corresponder ao primeiro octeto da sua rede.,

Agora crie o /etc/bind/db.192 arquivo:

sudo cp /etc/bind/db.127 /etc/bind/db.192

a Próxima edição /etc/bind/db.192 alterar as mesmas opções como /etc/bind/db.example.com:

O Número de Série na zona Inversa precisa ser incrementado em cada mudança. Para cada registo que configurar em /etc/bind/db.example.com, ou seja, para um endereço diferente, é necessário criar um registo PTR em /etc/bind/db.192.,

Depois de criar o arquivo de zona reversa reiniciar o BIND9:

sudo systemctl restart bind9.service

Servidor Secundário

uma Vez que um Servidor Principal tiver sido configurado um Servidor Secundário é altamente recomendado, a fim de manter a disponibilidade do domínio deve Primária tornar-se indisponível.

primeiro, no servidor primário, a transferência de zona precisa ser permitida., Adicione o allow-transfer opção para o exemplo de Forward e Reverse zona de definições /etc/bind/named.conf.local:

Nota

Substituir 192.168.1.11 com o Endereço IP do seu servidor de nomes Secundário.

Reinicie o BIND9 no servidor Primário:

sudo systemctl restart bind9.service

em seguida, no servidor Secundário, instale o pacote bind9 da mesma forma como no Primário., Em seguida, edite o /etc/bind/named.conf.local e adicione as seguintes declarações para a Frente e zonas de Reverse:

Nota

Substituir 192.168.1.10 com o Endereço IP do seu servidor de nomes Principal.,

Reinicie o BIND9 no servidor Secundário:

sudo systemctl restart bind9.service

/var/log/syslog você deverá ver algo semelhante à seguinte (algumas linhas foram divididas para ajustar o formato do documento):

Nota

Nota: A zona de são transferidos somente se o Número de Série do Primário é maior do que o do Secundário., Se você quiser ter o seu DNS Primário notificar outros Servidores de DNS Secundários das alterações de fuso horário, você pode adicionar also-notify { ipaddress; }; /etc/bind/named.conf.local, como mostrado no exemplo abaixo:

Nota

O diretório padrão para não-autorizado de arquivos de zona é /var/cache/bind/. Esta pasta também está configurada no AppArmor para permitir que o servidor nomeado escreva para ele. Para mais informações sobre AppArmor, consulte Security-AppArmor.,

solução de problemas

Esta secção abrange o diagnóstico de problemas com configurações de DNS e BIND9.

ensaio

resolução.conf

o primeiro passo no teste BIND9 é adicionar o endereço IP do servidor de nomes a um servidor de máquinas. O servidor de nomes primário deve ser configurado, bem como outro host para verificar as coisas. Consulte a configuração do cliente DNS para obter mais detalhes sobre a adição de endereços de servidor de nomes aos seus clientes de rede., No final, o nameserver linha /etc/resolv.conf deve estar apontando para 127.0.0.53 e você deve ter uma search parâmetro para o seu domínio. Algo como:

nameserver 127.0.0.53search example.com

Para verificar qual o DNS do servidor de seu local de resolução está usando, execute:

systemd-resolve --status

Nota

Você também deve adicionar o Endereço IP do servidor de nomes Secundário para a configuração do cliente no caso o Principal não estiver disponível.,

dig

Se instalou o pacote dnsutils, poderá testar a sua configuração com a escavação do utilitário DNS:

  • Depois de instalar o BIND9 use o dig contra a interface loopback para se certificar de que está a ouvir no Porto 53.,eu>

    Se você tiver configurado o BIND9, como o Cache do servidor de nomes “cavar” um domínio externo para verificar o tempo de consulta:

    dig ubuntu.com

    Note que o tempo de consulta para o fim de saída do comando:

    ;; Query time: 49 msec

    Depois de uma segunda escavação deve haver melhoria:

    ;; Query time: 1 msec

ping

Agora, para demonstrar como os aplicativos utilizam o DNS para resolver um nome de host use o utilitário ping para enviar uma solicitação de eco ICMP:

ping example.com

Isso testa se o servidor de nomes pode resolver o nome de ns.example.com para um Endereço IP., A saída de comandos deve assemelhar-se a:

named-checkzone

uma grande maneira de testar os ficheiros da sua zona é usando o pacote named-checkzone utilitário instalado com o bind9. Este utilitário permite que você se certifique de que a configuração está correta antes de reiniciar BIND9 e fazer as mudanças ao vivo.,

  • Para testar o nosso exemplo para a Frente da zona de arquivo digite o seguinte em um prompt de comando:

    named-checkzone example.com /etc/bind/db.example.com

    Se tudo estiver configurado corretamente, você deve ver uma saída semelhante ao seguinte:

    zone example.com/IN: loaded serial 6OK
  • da mesma forma, para testar a zona Reversa do arquivo digite o seguinte:

    named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192

    A saída deve ser semelhante a:

    zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK

Nota

O Número de Série do seu arquivo de zona serão provavelmente diferentes.,

registo temporário rápido da consulta

com a ferramenta rndc, pode activar e desactivar rapidamente o registo da consulta, sem reiniciar o serviço ou alterar o ficheiro de configuração.

Para ativar o log de consulta, execute o:

sudo rndc querylog on

da Mesma forma, para desativá-lo, execute:

sudo rndc querylog off

Os logs serão enviadas ao syslog e aparecerão na /var/log/syslog por padrão:

Nota

A quantidade de logs gerados pelo permitindo querylog pode ser enorme!,

Logging

BIND9 tem uma grande variedade de opções de configuração de registro disponíveis, mas as duas principais são canal e categoria, que configuram onde os logs vão, e que informações são registradas, respectivamente.

Se não estiverem configuradas opções de registo, a configuração por omissão é:

logging { category default { default_syslog; default_debug; }; category unmatched { null; };};

vamos em vez disso configurar BIND9 para enviar mensagens de depuração relacionadas com consultas DNS para um ficheiro separado.

é necessário configurar um canal para especificar o ficheiro para onde enviar as mensagens e uma categoria., Neste exemplo, a categoria registrará todas as consultas. Editar /etc/bind/named.conf.local e adicione o seguinte:

logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};

Nota

A opção de depuração pode ser definida de 1 a 3. Se um nível não é especificado, o Nível 1 é o padrão.,

  • Desde que o chamado daemon é executado como o usuário de associação /var/log/named diretório deve ser criado e a propriedade mudou de:

    sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
  • Agora reinicie o BIND9 para que as alterações entrem em vigor:

    sudo systemctl restart bind9.service

Você deve ver o ficheiro /var/log/named/query.log preencha com as informações de consulta. Este é um exemplo simples das opções de registro BIND9. Para a cobertura de opções avançadas, consulte Mais informações.,

tipos de Registos comuns

Esta secção abrange alguns dos tipos de Registos DNS mais comuns.

  • A record: este registo mapeia um endereço IP para um nome de máquina.

    www IN A 192.168.1.12
  • CNAME record: usado para criar uma alcunha para um registo A existente. Você não pode criar um registro CNAME apontando para outro registro CNAME.

    web IN CNAME www
  • MX record: usado para definir para onde o e-mail deve ser enviado., Must point to anA record, not aCNAME.

    @ IN MX 1 mail.example.com.mail IN A 192.168.1.13
  • NS record: usado para definir quais servidores servem cópias de uma zona. Ele deve apontar para um A registro, não um CNAME. É aqui que os servidores primários e secundários são definidos.

    @ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11

Mais Informações

  • a Montante BIND9 Documentação

  • Bind9.net tem links para uma grande coleção de DNS e o BIND9 recursos.,

  • DNS and BIND é um livro popular na sua quinta edição. Há agora também um dns e BIND no Livro IPv6.

  • um ótimo lugar para pedir assistência BIND9, e se envolver com a comunidade de servidores Ubuntu, é o canal #ubuntu-server IRC no freenode.

última actualização Há 10 meses. Ajude a melhorar este documento no fórum.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Ir para a barra de ferramentas