DNS e DHCP no CentOS 7 - Redes SMB

Índice geral da série: Redes de computadores para PMEs: introdução

Olá amigos!. Veremos neste artigo como podemos implementar o importante par de serviços para redes constituído pela DNS e DHCP no CentOS - Linux, especificamente em sua versão 7.2.

  • Alguns artigos sobre DNS referem-se ao fato de que a implementação deste serviço é um pouco obscura e difícil. Não concordo muito com essa afirmação. Eu prefiro dizer que é um pouco conceitual e que muitos de seus arquivos de configuração têm sintaxe complicada. Felizmente, temos ferramentas para verificar, passo a passo, a sintaxe de cada arquivo de configuração que modificamos. Portanto, tentaremos tornar a leitura deste post o mais agradável e divertida possível..

Para quem procura o básico de ambos os serviços, recomendamos fortemente que comece a sua pesquisa na Wikipedia, tanto em espanhol como em inglês. Não é menos verdade que os artigos em inglês são quase sempre mais completos e coerentes. Ainda assim, a Wikipedia é um bom ponto de partida.

Para aqueles de vocês que realmente desejam aprender sobre DNS e BIND, recomendamos a leitura do livro «OReilly - DNS e BIND 4ed" escrito por Paul albitz y Liu Cricket, ou uma edição posterior que certamente existe.

Já publicamos um artigo sobre o assunto intitulado «DNS e DHCP no openSUSE 13.2 Harlequin - Redes SME»Para amantes do ambiente gráfico. Porém, a partir de agora eles se depararão com artigos sobre este assunto - não sobre outros - escritos com muito uso do emulador de terminal ou console. Uau, no estilo clássico usado por administradores de sistema UNIX® / Linux.

Se você quiser saber mais sobre o sobrenome do título deste artigo «Redes PME»Você pode visitar a página neste blog«Redes PME: primeiro corte virtual«. Nele você encontrará links para muitos outros artigos publicados.

  • Após a instalação do Sistema Operacional CentOS 7 ser concluída com os pacotes que recomendamos, el diretório /usr/share/doc/bind-9.9.4/ Ele contém uma boa quantidade de documentação que recomendamos que você consulte antes de se aventurar em uma busca na Internet sem primeiro saber que, ao seu alcance e em sua própria casa, você pode encontrar o que procura.

Instalação do sistema básico

Dados gerais do domínio e servidor DNS

Nome do domínio: fromlinux.fan
Nome do servidor DNS: dns.fromlinux.fan
Direção IP 192.168.10.5
Máscara de sub-rede 255.255.255.0

instalação

Começamos com uma instalação nova ou limpa do sistema operacional CentOS 7, conforme indicado no artigo anterior «CentOS 7 Hypervisor I - Redes SMB«. Precisamos apenas fazer as seguintes alterações:

  • em Imagen 22 «SELEÇÃO DE SOFTWARE«, Recomendamos escolher na coluna da esquerda«Ambiente de Base»A opção correspondente a«Servidor de infraestrutura«, Enquanto na coluna da direita«Plugins para ambiente selecionado»Selecione a caixa de seleção«Servidor de nome DNS«. Instalaremos o servidor DHCP mais tarde.
  • Vamos lembrar a declaração dos repositórios adicionais, conforme mostrado no Imagen 23, depois de definir o «REDE E NOME DA EQUIPE".
  • As imagens referentes às partições que iremos criar no nosso disco rígido são apenas indicadas como guias. Sinta-se à vontade para selecionar as partições de acordo com seus próprios critérios, prática e bom senso.
  • Finalmente, no Imagem 13 «REDE E NOME DA EQUIPE»Devemos alterar os valores de acordo com os parâmetros gerais do domínio declarado e do servidor DNS, sem esquecer de especificar o nome do host - neste caso «dns«- depois de concluída a configuração da rede. É positivo fazer sibilo -de outro host- para o endereço IP especificado depois que a rede estiver ativa:

DNS e DHCP no CentOS

Existem realmente poucas e muito óbvias mudanças que devemos fazer em relação ao artigo anterior.

Verificações e ajustes iniciais

Depois de instalar o sistema operacional, devemos revisar os seguintes arquivos pelo menos, e para isso iniciar uma sessão via SSH de nosso computador sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
buzz@192.168.10.5's password: Último login: Sáb, 28 de janeiro 09:48:05 2017 de 192.168.10.1
[buzz @ dns ~] $

A operação acima pode demorar mais do que o normal e é principalmente devido ao fato de que ainda não temos um DNS na LAN. Verifique novamente mais tarde se o DNS está funcionando.

[buzz @ dns ~] $ cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[buzz @ dns ~] $ cat / etc / hostname
dns

[buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
GATEWAY=192.168.10.1
DNS1=127.0.0.1
DOMAIN=desdelinux.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# Gerado pela pesquisa do NetworkManager do servidor de nomes linux.fan 127.0.0.1

As principais configurações respondem às nossas seleções. Observe que mesmo em um servidor Red Hat 7 - CentOS 7, é configurado por padrão quando NetworkManager de forma que é ele quem gerencia as interfaces de rede, sejam elas com ou sem fio (WiFi), conexões VPN, conexões PPPoE e qualquer outra conexão de rede.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] senha para buzz: ● networkmanager.service Carregado: não encontrado (Motivo: Não existe esse arquivo ou diretório) Ativo: inativo (morto)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager carregado: carregado (/usr/lib/systemd/system/NetworkManager.service; habilitado; Predefinição do fornecedor: habilitado) Ativo: ativo (em execução) desde sábado 2017-01-28 12:23:59 EST; 12min atrás PID principal: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS também permite que você conecte e desconecte interfaces de rede usando os comandos clássicos ifup e se cair. Vamos executar em um console de servidor:

[root @ dns ~] # ifdown eth0
Dispositivo 'eth0' desconectado com sucesso.

[root @ dns ~] # ifup eth0
Conexão ativada com sucesso (caminho ativo do D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Nós sugerimos não altere as configurações padrão que o CentOS 7 oferece em relação a NetworkManager.

Declaramos definitivamente os repositórios que vamos usar e atualizamos o sistema operacional se necessário:

[buzz @ dns ~] $ su Senha: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
total 28 -rw-r - r--. 1 root root 1664 9 de dezembro de 2015 CentOS-Base.repo -rw-r - r--. 1 root 1309 9 de dezembro de 2015 CentOS-CR.repo -rw-r - r--. 1 root 649 9 de dezembro de 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 root root 290 9 de dezembro de 2015 CentOS-fasttrack.repo -rw-r - r--. 1 root 630 9 de dezembro de 2015 CentOS-Media.repo -rw-r - r--. 1 root 1331 9 de dezembro de 2015 CentOS-Sources.repo -rw-r - r--. 1 root 1952 9 de dezembro de 2015 CentOS-Vault.repo

É saudável ler o conteúdo dos arquivos de declaração originais dos repositórios recomendados pelo CentOS. As mudanças que fazemos aqui se devem ao fato de não termos acesso à Internet, e trabalhamos com repositórios locais baixados da WWW Village, por colegas que facilitam um pouco nossa vida. 😉

[root @ dns yum.repos.d] # mkdir original
[root @ dns yum.repos.d] # mv CentOS- * original /

[root @ dns yum.repos.d] # nano centos-repos.repo
[centos-base]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/base/
gpgcheck=0
enabled=1

[centos-updates]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/
gpgcheck=0
enabled=1

[root @ dns yum.repos.d] # yum clean all
Plugins carregados: mais rápido, espelho, langpacks Limpando repositórios: centos-base centos-updates Limpando tudo

[root @ dns yum.repos.d] # atualização yum
Plugins carregados: mais rápido, langpacks centos-base | 3.4 kB 00:00 centos-updates | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 Determinando espelhos mais rápidos Nenhum pacote marcado para atualização

A mensagem «Não (existem) pacotes marcados para atualização» - «Nenhum pacote marcado para atualização»Indica que, ao declarar os repositórios mais atualizados disponíveis para nós durante a instalação, precisamente os pacotes mais atuais foram instalados.

Sobre o contexto SELinux e o firewall

Vamos focar este artigo - fundamentalmente - na implementação de serviços DNS e DHCP, que é seu objetivo principal.

Se algum leitor selecionou uma Política de Segurança durante o processo de instalação, conforme indicado no Imagen 06 do artigo de referência «CentOS 7 Hypervisor I - Redes SMB»Usado para a instalação deste servidor DNS - DHCP, e você descobrir que não sabe como configurar corretamente o SELinux e o Firewall CentOS, sugerimos que execute o seguinte:

Modifique o arquivo / etc / sysconfig / selinux e mudar SELINUX = aplicação por SELINUX = desativar

[root @ dns ~] # nano / etc / sysconfig / selinux
# Este arquivo controla o estado do SELinux no sistema. # SELINUX = pode assumir um destes três valores: # enforcing - a política de segurança do SELinux é aplicada. # permissive - SELinux imprime avisos em vez de impor. # disabled - Nenhuma política SELinux é carregada.
SELINUX = desativado
# SELINUXTYPE = pode assumir um de três valores: # direcionado - processos direcionados são protegidos, # mínimo - modificação da política direcionada. Apenas os processos selecionados são pr $ # mls - Proteção de segurança de vários níveis. SELINUXTYPE = alvo

Em seguida, execute os seguintes comandos

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
Redirecionando para / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl disable firewalld
Link simbólico removido /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Link simbólico removido /etc/systemd/system/basic.target.wants/firewalld.service.

Se você estiver implementando um servidor DNS voltado para a Internet, NÃO deve fazer o acima, mas configurar o contexto SELinux e o Firewall corretamente. Vejo "Configuração de servidores com GNU / Linux, do autor Joel Barrios Dueñas" ou a própria documentação do CentOS - Red Hat

Nós configuramos o BIND - nomeado

  • El diretório /usr/share/doc/bind-9.9.4/ Ele contém uma boa quantidade de documentação que recomendamos que você consulte antes de se aventurar em uma pesquisa na Internet, sem primeiro saber que, na ponta dos dedos e em sua própria casa, você pode encontrar o que procura

Em muitas distribuições, o serviço DNS instalado por meio do pacote BIND é chamado nomeado (Nome Daemon) No CentOS 7 é instalado desabilitado por padrão, de acordo com a saída do seguinte comando, onde afirma que seu status é «inválido«, E que este estado é predefinido por seu« vendedor »- predefinição do fornecedor. Para o registro, BIND é Software Livre.

Ativando o serviço nomeado

[root @ dns ~] # status systemctl nomeado
● named.service - Berkeley Internet Name Domain (DNS) Carregado: carregado (/usr/lib/systemd/system/named.service; inválido; Predefinição do fornecedor: desativado) Ativo: inativo (morto)

[root @ dns ~] # systemctl enable nomeado
Link simbólico criado de /etc/systemd/system/multi-user.target.wants/named.service para /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start nomeado

[root @ dns ~] # status systemctl nomeado
● named.service - Berkeley Internet Name Domain (DNS) Carregado: carregado (/usr/lib/systemd/system/named.service; habilitado; Predefinição do fornecedor: desativado)
   Ativo: ativo (em execução) desde sáb 2017-01-28 13:22:38 EST; 5min atrás Processo: 1990 ExecStart = / usr / sbin / named -u nomeado $ OPTIONS (code = exited, status = 0 / SUCCESS) Processo: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "sim"]; então / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A verificação de arquivos de zona está desabilitada"; fi (code = exited, status = 0 / SUCCESS) PID principal: 1993 (nomeado) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u nomeado 28 de janeiro 13:22:45 dns nomeado [1993]: erro (rede inacessível) resolvendo './NS/IN': 2001: 500: 2f :: f # 53 28 de janeiro 13:22:47 dns chamado [1993]: erro (rede inacessível) resolvendo './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 28 de janeiro 13:22:47 dns chamado [1993]: erro (rede inacessível) resolvendo' ./NS/IN ': 2001: 500: 3 :: 42 # 53 28 de janeiro 13:22:47 dns denominado [1993]: erro (rede inacessível) resolvendo './DNSKEY/IN': 2001: 500: 2d :: d # 53 28 de janeiro 13:22:47 dns denominado [1993 ]: erro (rede inacessível) resolvendo './NS/IN': 2001: 500: 2d :: d # 53 28 de janeiro 13:22:47 dns chamado [1993]: erro (rede inacessível) resolvendo './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 28 de janeiro 13:22:47 dns chamado [1993]: erro (rede inacessível) resolvendo' ./NS/IN ': 2001: dc3 :: 35 # 53 28 de janeiro 13: 22:47 dns nomeado [1993]: erro (rede inacessível) resolvendo './DNSKEY/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:47 dns nomeado [1993]: erro (rede inacessível) res resolvendo './NS/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:48 dns nomeado [1993]: managed-keys-zone: Incapaz de buscar o conjunto DNSKEY '.': tempo esgotado

[root @ dns ~] # reinício systemctl nomeado

[root @ dns ~] # status systemctl nomeado
● named.service - Berkeley Internet Name Domain (DNS) Carregado: carregado (/usr/lib/systemd/system/named.service; ativado; predefinição do fornecedor: desativado)
   Ativo: ativo (em execução) desde sáb 2017-01-28 13:29:41 EST; 1s atrás Processo: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) Processo: 1460 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 0 / SUCCESS) Processo: 1457 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "sim"]; então / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A verificação de arquivos de zona está desabilitada"; fi (code = exited, status = 0 / SUCCESS) PID principal: 1463 (nomeado) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u nomeado 28 de janeiro 13:29:41 dns nomeado [1463]: managed-keys-zone: o arquivo de diário está desatualizado: removendo o arquivo de diário 28 de janeiro 13:29:41 dns chamado [1463]: managed-keys-zone: carregado serial 2 de janeiro 28:13:29 dns nomeado [41]: zona 1463.in-addr.arpa/IN: serial carregada 0 0 de janeiro 28:13:29 dns nomeada [41]: zona localhost.localdomain / IN: serial carregada 1463 0 de janeiro 28:13:29 dns nomeado [41]: zona 1463.in-addr.arpa/IN: serial carregada 1.0.0.127 0 de janeiro 28:13:29 dns nomeado [41]: zona 1463 .1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa / IN: serial carregada 0 28 de janeiro 13:29:41 dns nomeado [1463]: zona localhost / IN: serial carregada 0 28 de janeiro 13 : 29: 41 dns nomeado [1463]: todas as zonas carregadas Jan 28 13:29:41 dns nomeado [1463]: executando Jan 28 13:29:41 dns systemd [1]: Iniciado Berkeley Internet Name Domain (DNS).

Depois de habilitarmos o serviço nomeado e o iniciamos pela primeira vez, a saída do comando status systemctl nomeado mostra erros. Quando reiniciarmos o serviço abaixo, o nomeado cria todos os arquivos de configuração que, por padrão, são necessários para seu correto funcionamento. Portanto, quando executamos o comando novamente status systemctl nomeado mais nenhum erro é mostrado.

  • Caro, caro e exigente leitor: se você quiser saber -pelo menos- que caminho leva ao fim da toca do coelho, leia com calma as saídas detalhadas de cada comando. 😉 Certamente o artigo parecerá um pouco longo, mas não negue que ganha em explicação e clareza.

Modificamos o arquivo /etc/named.conf

Muitos comentários de leitores expressam -Eu não digo isso- a mania que os mantenedores de diferentes distribuições Linux têm de colocar arquivos de configuração do sistema em pastas com nomes diferentes dependendo da distro. Você tem razão. Mas o que nós, os simples usuários que usam essas distribuições, podemos fazer? Adaptar! 😉

A propósito, no FreeBSD, clone UNIX® «The Origin», o arquivo está em /usr/local/etc/namedb/named.conf; enquanto no Debian, além de dividir em quatro arquivos named.conf, named.conf.options, named.conf.default-zones e named.conf.local, está na pasta / etc / bind /. Quem quiser saber onde o openSUSE o coloca, leia «DNS e DHCP no openSUSE 13.2 Harlequin - Redes SME«. Os leitores estão certos! 😉

E como sempre fazemos: antes de modificar qualquer coisa, salvamos o arquivo de configuração original com outro nome.

[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original

Para tornar a vida mais fácil, em vez de gerar a chave TSIG para atualizações dinâmicas de DNS por DHCP, copiamos a mesma chave rndc.key como dhcp.key.

[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key

[root @ dns ~] # nano /etc/dhcp.key
chave "dhcp-key" {algoritmo hmac-md5; segredo "OI7Vs + TO83L7ghUm2xNVKg =="; };

Para que ele nomeado pode ler o arquivo recém-copiado, modificamos seu grupo de proprietários:

[root @ dns ~] # chown root: named /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 raiz chamada 77 de 28 de janeiro às 16:36 PM /etc/dhcp.key -rw-r -----. 1 raiz chamada 77, 28 de janeiro, 13:22 /etc/rndc.key

Pequenos detalhes como o anterior são o que podem nos deixar loucos tentando descobrir, agora ... onde está o problema ...? com mais alguns adjetivos, que não escrevemos por respeito ao Respeitável.

Agora, se - finalmente! - modificarmos o arquivo /etc/named.conf. As alterações ou acréscimos que fizemos em relação ao original estão em negrito. Dê uma boa olhada em quão poucos.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Fornecido pelo pacote bind da Red Hat para configurar o servidor ISC BIND named (8) DNS // como um servidor de nomes de cache apenas (apenas como um resolvedor DNS localhost). // // Veja / usr / share / doc / bind * / sample / para exemplos de arquivos de configuração nomeados. //

// Lista de controle de acesso que declara quais redes poderão consultar
// meu servidor nomeado
acl atolado {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

opções {
 // Declaro que o daemon nomeado também escuta a interface
 // eth0 que tem o IP: 192.168.10.5
    porta de escuta 53 {127.0.0.1; 192.168.10.5; };
    porta 6 do listen-on-v53 {:: 1; }; diretório "/ var / named"; arquivo de despejo "/var/named/data/cache_dump.db"; arquivo de estatísticas "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";

 // Instrução de encaminhadores
 // encaminhadores {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // encaminhar primeiro;

    // Eu só permito consultas à minha ACL atolada
    permitir consulta {mired; }; // Para verificar com o comando dig desdelinux.fan axfr // da estação de trabalho SysAdmin e localhost apenas // Não temos servidores DNS escravos. Não precisamos disso ... até agora.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Se você estiver construindo um servidor DNS AUTORITATIVO, NÃO habilite a recursão. - Se você estiver construindo um servidor DNS RECURSIVO (cache), será necessário habilitar a recursão. - Se o seu servidor DNS recursivo tiver um endereço IP público, você DEVE habilitar o controle de acesso para limitar as consultas aos seus usuários legítimos. Não fazer isso fará com que seu servidor se torne parte de ataques de amplificação de DNS em grande escala. Implementar BCP38 em sua rede reduziria muito essa superfície de ataque * /
    // Queremos um servidor AUTHORITY para a nossa LAN - SME
    recursão não;

    habilitar dnssec sim; validação dnssec sim; / * Caminho para a chave ISC DLV * / bindkeys-file "/etc/named.iscdlv.key"; diretório de chaves gerenciadas "/ var / named / dynamic"; arquivo pid "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; registrando {canal default_debug {arquivo "data / named.run"; gravidade dinâmica; }; }; zona "." IN {sugestão de tipo; arquivo "named.ca"; }; incluem "/etc/named.rfc1912.zones"; incluem "/etc/named.root.key";

// Incluímos a chave TSIG para atualizações dinâmicas de DNS // por DHCP
incluem "/etc/dhcp.key";

// Declaração do nome, tipo, localização e permissão de atualização
// das zonas de registros DNS // Ambas as zonas são MESTRES
zona "desdelinux.fan" {
 tipo mestre;
 arquivo "dynamic / db.fromlinux.fan";
 allow-update {key dhcp-key; };
};

zona "10.168.192.in-addr.arpa" {
 tipo mestre;
 arquivo "dynamic / db.10.168.192.in-addr.arpa";
 allow-update {key dhcp-key; };
};

Nós verificamos a sintaxe

[root @ dns ~] # named-checkconf 
[root @ dns ~] #

Como o comando acima não retorna nada, a sintaxe está OK. No entanto, se executarmos o mesmo comando, mas com a opção -z, a saída será:

[root @ dns ~] # named-checkconf -z
zona localhost.localdomain / IN: serial carregado 0 zona localhost / IN: carregado serial 0 zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: zona 0 serial carregada 1.0.0.127.in-addr.arpa/IN: zona 0 serial carregada 0.in-addr.arpa/IN: zona 0 serial carregada de linux.fan/IN: carregando do mestre arquivo dynamic / db.fromlinux.fan falhou: arquivo não encontrado zona fromlinux.fan/IN: não carregado devido a erros. _default / desdelinux.fan / IN: arquivo não encontrado zona 10.168.192.in-addr.arpa/IN: carregamento do arquivo mestre dynamic / db.10.168.192.in-addr.arpa falhou: arquivo não encontrado zona 10.168.192 .in-addr.arpa / IN: não carregado devido a erros. _default / 10.168.192.in-addr.arpa / IN: arquivo não encontrado

É claro que são erros que ocorrem porque ainda não criamos as zonas de registro DNS para nosso domínio.

  • Para mais informações sobre o comando name-checkconf, corre homem chamado-checkconf, antes de procurar qualquer outra informação na Internet. Garanto que economizará muito tempo.

Criamos o arquivo Direct Zone de linux.fan

... não sem um pouco de teoria primeiro. 😉

Como um modelo para criar o arquivo de dados da zona, podemos pegar o /var/nomeado/nomeado.vazio, Ou /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Ambos são idênticos.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; série 1D; atualizar 1H; repetir 1W; expirar 3H); tempo mínimo ou negativo de cache para viver NS @ A 127.0.0.1 AAAA :: 1

Tempo de vida - Tempo para viver TTL Registro SOA

Vamos usar um parêntese para explicar o TTL - Tempo de vida do registro SOA - Início da Autoridade de uma Zona Mestre. É interessante saber seus significados para quando queremos modificar algum de seus valores.

$ TTL: Tempo de vida - Tempo de Viver para todos os registros no arquivo que seguem a declaração (mas precedem qualquer outra declaração $ TTL) e não têm uma declaração TTL explícita.

serial: Número de série dos dados da zona. Cada vez que modificamos manualmente um registro DNS em uma zona, devemos aumentar esse número em 1, especialmente se tivermos servidores escravos ou secundários. Cada vez que um servidor DNS secundário ou escravo contata seu servidor mestre, ele pede o número de série dos dados do mestre. Se o número de série do escravo for menor, então os dados para aquela zona no servidor escravo estão desatualizados e o escravo executa uma transferência de zona para se atualizar.

refrescar: Informa ao servidor escravo o intervalo de tempo em que deve verificar se seus dados estão atualizados em relação ao mestre.

tentar novamente: Se o servidor mestre não estiver disponível - porque ficou doente, digamos - para o escravo após um intervalo de tempo refrescar, tentar novamente Diz ao escravo quanto tempo deve esperar antes de tentar entrar em contato com seu mestre novamente.

expirar: Se o escravo não puder contatar seu mestre por um intervalo de tempo expirarEntão, se a relação da zona escravo-mestre foi danificada e o servidor escravo não tem escolha a não ser expirar a zona em questão. A expiração de uma zona por um servidor DNS escravo significa que ele parará de responder às consultas DNS relacionadas a essa zona, porque os dados disponíveis são muito antigos para serem úteis.

  • O exposto acima nos ensina indiretamente e carregado de grande senso comum - o menos comum dos sentidos - que se não precisamos de servidores DNS escravos para o funcionamento de nosso SME, não os implementamos, a menos que sejam estritamente necessários. Vamos sempre tentar ir do simples ao complexo.

mínimo: Em versões anteriores a LIGAÇÃO 8.2, o último registro SOA Também indica a vida útil padrão - Tempo padrão de vida, e tempo de vida do cache negativo - Tempo de cache negativo para viver para a Zona. Desta vez, se refere a todas as respostas negativas fornecidas pelo servidor autorizado para a Zona.

Arquivo de zona /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
$ TTL 3H @ IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. (1; serial 1D; atualizar 1H; repetir 1W; expirar 3H); mínimo ou; Tempo de cache negativo para viver; @ IN NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux, seu Blog dedicado ao Software Livre"; sysadmin IN A 192.168.10.1 ad-dc EM A 192.168.10.3 fileserver IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb EM A 192.168.10.6 blog EM A 192.168.10.7 ftpserver EM A 192.168.10.8 mail IN A 192.168.10.9

Verificamos /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # named-checkzone de linux.fan / var / named / dynamic / db. fromlinux.fan
zona de linux.fan/IN: serial carregada 1 OK

Criamos o arquivo de zona reversa 10.168.192.in-addr.arpa

  • O registro SOA desta zona é o mesmo da Direct Zone sem considerar o registro MX..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. (1; série 1D; atualizar 1H; repetir 1W; expirar 3H); mínimo ou; Tempo de cache negativo para viver; @ IN NS dns.fromlinux.fan. ; 1 IN PTR sysadmin.fromlinux.fan. 3 IN PTR ad-dc.fromlinux.fan. 4 IN PTR fileserver.fromlinux.fan. 5 IN PTR dns.fromlinux.fan. 6 IN PTR proxyweb.desdelinux.fan. 7 IN PTR blog.desdelinux.fan. 8 IN PTR ftpserver.fromlinux.fan. 9 IN PTR mail.fromlinux.fan.

[root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
zona 10.168.192.in-addr.arpa/IN: serial carregada 1 OK

Antes de reiniciar o named verificamos sua configuração

  • Até que tenhamos certeza de que os arquivos de configuração do named.conf e seus arquivos de zona não estejam configurados corretamente, sugerimos não reiniciar o daemon nomeado. Se fizermos isso e depois modificarmos um arquivo de zona, devemos aumentar o número de série da zona modificada em 1.
  • Vejamos o "." no final do domínio e nomes de host.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
zona localhost.localdomain / IN: serial carregado 0 zona localhost / IN: carregado serial 0 zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: carregado serial 0 zona 1.0.0.127.in-addr.arpa/IN: carregado serial 0 zona 0.in-addr.arpa/IN: carregado serial 0 zona de linux.fan/IN: carregado serial 1 zona 10.168.192.in-addr.arpa/IN: série carregada 1

Toda a configuração nomeada atual

Para obter clareza, e embora o artigo se torne longo, fornecemos a saída completa do comando nomeado-checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zona localhost.localdomain / IN: serial carregado 0 zona localhost / IN: carregado serial 0 zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: carregado serial 0 zona 1.0.0.127.in-addr.arpa/IN: carregado serial 0 zona 0.in-addr.arpa/IN: carregado serial 0 zona de linux.fan/IN: carregado serial 1 zona 10.168.192.in-addr.arpa/IN: opções de serial 1 carregadas {bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; diretório "/ var / named"; arquivo de despejo "/var/named/data/cache_dump.db"; porta de escuta 53 {127.0.0.1/32; 192.168.10.5/32; }; porta 6 do listen-on-v53 {:: 1/128; }; diretório de chaves gerenciadas "/ var / named / dynamic"; memstatistics-file "/var/named/data/named_mem_stats.txt"; arquivo pid "/run/named/named.pid"; arquivo de estatísticas "/var/named/data/named_stats.txt"; habilitar dnssec sim; dnssec-validação sim; recursão não; allow-query {"mired"; }; permitir transferência {192.168.10.1/32; }; }; acl "mired" {127.0.0.0/8; 192.168.10.0/24; }; registrando {canal "default_debug" {arquivo "data / named.run"; gravidade dinâmica; }; }; chave "dhcp-key" {algoritmo "hmac-md5"; segredo "OI7Vs + TO83L7ghUm2xNVKg =="; }; zona "." IN {sugestão de tipo; arquivo "named.ca"; }; zona "localhost.localdomain" IN {tipo mestre; arquivo "named.localhost"; allow-update {"none"; }; }; zona "localhost" IN {tipo mestre; arquivo "named.localhost"; allow-update {"none"; }; }; zona "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {tipo mestre; arquivo "named.loopback"; allow-update {"none"; }; }; zona "1.0.0.127.in-addr.arpa" IN {tipo mestre; arquivo "named.loopback"; allow-update {"none"; }; }; zona "0.in-addr.arpa" IN {tipo mestre; arquivo "named.empty"; allow-update {"none"; }; }; zona "desdelinux.fan" {tipo mestre; arquivo "dynamic / db.fromlinux.fan"; allow-update {key "dhcp-key"; }; }; zona "10.168.192.in-addr.arpa" {tipo mestre; arquivo "dynamic / db.10.168.192.in-addr.arpa"; allow-update {key "dhcp-key"; }; }; chaves gerenciadas {"." chave inicial-257 3 de agosto "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • Seguindo o procedimento de modificação do nomeado.conf De acordo com nossas necessidades e verificar, e criar cada arquivo de zona e verificar, duvidamos que teremos que enfrentar grandes problemas de configuração. No final percebemos que é um jogo de menino, com muitos conceitos e sintaxe complicada.

As verificações retornaram resultados satisfatórios, portanto podemos reiniciar o BIND - nomeado.

Reiniciamos o nomeado e verificamos seu status

[root @ dns ~] # systemctl restart named.service
[root @ dns ~] # systemctl status named.service

Se obtivermos algum tipo de erro na saída do último comando, devemos reiniciar o nomeado.serviço e verifique novamente o seu estado. Se os erros desaparecerem, o serviço foi iniciado com sucesso. Caso contrário, devemos realizar uma revisão completa de todos os arquivos modificados e criados e repetir o procedimento.

A saída correta do status deve ser:

[root @ dns ~] # systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS) Carregado: carregado (/usr/lib/systemd/system/named.service; ativado; predefinição do fornecedor: desativado) Ativo: ativo (em execução) desde Sun 2017-01-29 10:05:32 EST; 2min 57s atrás Processo: 1777 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (código = exited, status = 0 / SUCCESS) Processo: 1788 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 0 / SUCCESS) Processo: 1786 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "sim"]; então / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A verificação de arquivos de zona está desabilitada"; fi (code = exited, status = 0 / SUCCESS) PID principal: 1791 (nomeado) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u chamado Jan 29 10:05:32 dns nomeado [1791]: zona 1.0.0.127.in-addr.arpa/IN: serial carregada 0 29 de janeiro 10:05:32 dns chamada [1791]: zona 10.168.192.in-addr.arpa/IN: serial carregada 1 de janeiro 29 10:05:32 dns denominado [1791]: zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN : carregado serial 0 Jan 29 10:05:32 dns nomeado [1791]: zona desdelinux.fan/IN: carregado serial 1 Jan 29 10:05:32 dns nomeado [1791]: zona localhost.localdomain / IN: carregado serial 0 29 de janeiro 10:05:32 dns chamado [1791]: zona localhost / IN: serial carregada 0 29 de janeiro 10:05:32 dns chamado [1791]: todas as zonas carregadas
29 de janeiro 10:05:32 dns chamado [1791]: corrida
29 de janeiro 10:05:32 dns systemd [1]: Berkeley Internet Name Domain (DNS) iniciado. 29 de janeiro 10:05:32 dns chamado [1791]: zona 10.168.192.in-addr.arpa/IN: envio de notificações (série 1)

Cheques

As verificações podem ser executadas no mesmo servidor ou em uma máquina conectada à LAN. Preferimos fazê-los da equipe sysadmin.fromlinux.fan para a qual demos permissão expressa para fazer transferências de zona. O arquivo / Etc / resolv.conf dessa equipe é o seguinte:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Gerado pela pesquisa do NetworkManager do servidor de nomes linux.fan 192.168.10.5

buzz @ sysadmin: ~ $ dig de linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; opções globais: + cmd de linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 de linux.fan. 10800 IN NS dns.fromlinux.fan. de linux.fan. 10800 IN MX 10 mail.fromlinux.fan. de linux.fan. 10800 IN TXT "FromLinux, seu Blog dedicado ao Software Livre" ad-dc.desdelinux.fan. 10800 IN A 192.168.10.3 blog.desdelinux.fan. 10800 IN A 192.168.10.7 dns.fromlinux.fan. 10800 IN A 192.168.10.5 fileserver.fromlinux.fan. 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 IN A 192.168.10.8 mail.fromlinux.fan. 10800 IN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 IN A 192.168.10.6 sysadmin.fromlinux.fan. 10800 IN para 192.168.10.1 de linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 ;; Tempo de consulta: 0 mseg ;; SERVIDOR: 192.168.10.5 # 53 (192.168.10.5) ;; QUANDO: Dom, 29 de janeiro, 11h44:18 EST 2017 ;; Tamanho XFR: 13 registros (mensagens 1, bytes 385)

buzz @ sysadmin: ~ $ dig 10.168.192.in-addr.arpa axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> 10.168.192.in-addr.arpa axfr ;; opções globais: + cmd 10.168.192.in-addr.arpa. 10800 IN SOA dns.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. 1.10.168.192.in-addr.arpa. 10800 IN PTR sysadmin.fromlinux.fan. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.fromlinux.fan. 4.10.168.192.in-addr.arpa. 10800 IN PTR fileserver.fromlinux.fan. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.fromlinux.fan. 6.10.168.192.in-addr.arpa. 10800 IN PTR proxyweb.fromlinux.fan. 7.10.168.192.in-addr.arpa. 10800 IN PTR blog.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.fromlinux.fan. 9.10.168.192.in-addr.arpa. 10800 IN PTR mail.fromlinux.fan. 10.168.192.in-addr.arpa. 10800 IN SOA dns.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Tempo de consulta: 0 mseg ;; SERVIDOR: 192.168.10.5 # 53 (192.168.10.5) ;; QUANDO: Dom, 29 de janeiro, 11h44:57 EST 2017 ;; Tamanho XFR: 11 registros (mensagens 1, bytes 352)

buzz @ sysadmin: ~ $ dig IN SOA de linux.fan
buzz @ sysadmin: ~ $ dig IN MX de linux.fan buzz @ sysadmin: ~ $ dig IN TXT de linux.fan
buzz @ sysadmin: ~ $ host dns
dns.fromlinux.fan tem o endereço 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinux.fan tem o endereço 192.168.10.1 ... E quaisquer outras verificações necessárias
  • Até agora, temos a base para um servidor DNS em nossa rede SME. Esperamos que você tenha gostado de todo o procedimento, que foi bem simples, né? 😉

Nós instalamos e configuramos DHCP

[root @ dns ~] # yum install dhcp
Plugins carregados: mais rápido, langpacks centos-base | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00 Carregando velocidades de espelho do arquivo host em cache Resolvendo dependências -> Executando teste de transação ---> Pacote dhcp.x86_64 12: 4.2.5-42.el7.centos deve ser instalado -> Resolvendo dependências Dependências resolvidas encerradas =================================================== ======================================================= ========================================= Tamanho do repositório da versão da arquitetura do pacote =========== ======================================================= ======================================================= ======================== Instalando: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Resumo da transação ==== ==================================================== ==================================================== ================================ Instalar 1 pacote Tamanho total de download: 511k Tamanho instalado: 1.4 M Isso está ok [y / d / N]: y Baixando pacotes: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Executando verificação de transação Executando teste de transação Teste de transação bem-sucedido Executando transação Instalação: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Verificação: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Instalado: dhcp.x86_64 12: 4.2.5-42.el7.centos Feito!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # Arquivo de configuração do servidor DHCP. # consulte /usr/share/doc/dhcp*/dhcpd.conf.example # consulte a página de manual dhcpd.conf (5) # ddns-update-style interim; ddns-updates on; ddns-domainname "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignorar atualizações do cliente; autoritário; opção ip-forwarding off; opção nome de domínio "desdelinux.fan"; # opção ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; incluem "/etc/dhcp.key"; zona de linux.fan. {127.0.0.1 primário; chave dhcp-key; } zona 10.168.192.in-addr.arpa. {127.0.0.1 primário; chave dhcp-key; } redlocal de rede compartilhada {sub-rede 192.168.10.0 máscara de rede 255.255.255.0 {roteadores de opção 192.168.10.1; opção máscara de sub-rede 255.255.255.0; opção de endereço de transmissão 192.168.10.255; opção de servidores de nomes de domínio 192.168.10.5; opção netbios-name-servers 192.168.10.5; intervalo 192.168.10.30 192.168.10.250; }} # END dhcpd.conf

[root @ dns ~] # dhcpd -t
Servidor DHCP do Internet Systems Consortium 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Todos os direitos reservados. Para obter informações, visite https://www.isc.org/software/dhcp/ Não pesquisando LDAP, pois ldap-server, ldap-port e ldap-base-dn não foram especificados no arquivo de configuração

[root @ dns ~] # systemctl enable dhcpd
Link simbólico criado de /etc/systemd/system/multi-user.target.wants/dhcpd.service para /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl start dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon carregado: carregado (/usr/lib/systemd/system/dhcpd.service; ativado; predefinição do fornecedor: desativado) Ativo: ativo (em execução) desde o dia 2017/01/29 12:04:59 ITS T; 23s atrás Documentos: man: dhcpd (8) man: dhcpd.conf (5) PID principal: 2381 (dhcpd) Status: "Enviando pacotes ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 de janeiro 12:04:59 dns dhcpd [2381]: Internet Systems Consortium Servidor DHCP 4.2.5 29 de janeiro 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29 de janeiro 12:04:59 dns dhcpd [2381]: Todos os direitos reservados. 29 de janeiro 12:04:59 dns dhcpd [2381]: Para obter informações, visite https://www.isc.org/software/dhcp/ 29 de janeiro 12:04:59 dns dhcpd [2381]: Não pesquisando LDAP desde ldap -server, ldap-port e ldap-base-dn não foram especificados no arquivo de configuração. 29 de janeiro 12:04:59 dns dhcpd [2381]: Escreveu 0 concessões para o arquivo de concessões. 29 de janeiro 12:04:59 dns dhcpd [2381]: Ouvindo no LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 de janeiro 12:04:59 dns dhcpd [2381]: Enviando no LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 de janeiro 12:04:59 dns dhcpd [2381]: Enviando no Socket / fallback / fallback-net 29 de janeiro 12:04:59 dns systemd [1]: Iniciado Daemon do servidor DHCPv4.

O que resta a ser feito?

Simples. Inicie um Windows 7 ou outro cliente com Software Livre e comece a testar e verificar. Fizemos isso com dois clientes: seven.fromlinux.fan y suse-desktop.fromlinux.fan. As verificações foram as seguintes:

buzz @ sysadmin: ~ $ host sete
seven.fromlinux.fan tem o endereço 192.168.10.30

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
seven.fromlinux.fan tem o endereço 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT seven.fromlinux.fan
.... ;; SEÇÃO DE PERGUNTAS: seven.fromlinux.fan. IN TXT ;; SEÇÃO DE RESPOSTA: seven.desdelinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Renomeamos a equipe "sete" para "LAGER" e reinicializamos. Depois de reiniciar o novo LAGER, verificamos:

buzz @ sysadmin: ~ $ host sete
Host sete não encontrado: 5 (RECUSADO)

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
Host seven.desdelinux.fan não encontrado: 3 (NXDOMAIN)

zumbido@sysadmin: ~ $ host lager
lager.desdelinux.fan tem o endereço 192.168.10.30

zumbido@sysadmin: ~ $ host lager.fromlinux.fan
lager.desdelinux.fan tem o endereço 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; SEÇÃO DE PERGUNTAS :; lager.fromlinux.fan. IN TXT ;; SEÇÃO DE RESPOSTA: lager.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Em relação ao cliente suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Host suse-dektop não encontrado: 5 (RECUSADO)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan tem o endereço 192.168.10.33

buzz @ sysadmin: ~ $ host suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan tem o endereço 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa ponteiro de nome de domínio suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa ponteiro de nome de domínio LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SEÇÃO DE PERGUNTAS: 33.10.168.192.in-addr.arpa. IN PTR ;; SEÇÃO DE RESPOSTAS: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.fromlinux.fan. ;; SEÇÃO DA AUTORIDADE: 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. ;; SEÇÃO ADICIONAL: dns.fromlinux.fan. 10800 IN A 192.168.10.5 ....

buzz @ sysadmin: ~ $ dig IN TXT suse-desktop.fromlinux.fan ....
; suse-desktop.desdelinux.fan. IN TXT ;; SEÇÃO DE RESPOSTA: suse-desktop.desdelinux.fan. 3600 IN TXT "31b78d287769160c93e6dca472e9b46d73"

;; SEÇÃO DE AUTORIDADE: desdelinux.fan. 10800 IN NS dns.fromlinux.fan. ;; SEÇÃO ADICIONAL: dns.fromlinux.fan. 10800 IN A 192.168.10.5
....

Vamos também executar os seguintes comandos

[root @ dns ~] # escavação de linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; opções globais: + cmd de linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800 de linux.fan. 10800 IN NS dns.fromlinux.fan. de linux.fan. 10800 IN MX 10 mail.fromlinux.fan. de linux.fan. 10800 IN TXT "FromLinux, seu Blog dedicado ao Software Livre" ad-dc.desdelinux.fan. 10800 IN A 192.168.10.3 blog.desdelinux.fan. 10800 IN A 192.168.10.7 dns.fromlinux.fan. 10800 IN A 192.168.10.5 fileserver.fromlinux.fan. 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 IN A 192.168.10.8 LAGER.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.fromlinux.fan.   3600 EM UM 192.168.10.30 mail.fromlinux.fan. 10800 IN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 IN A 192.168.10.6 suse-desktop.fromlinux.fan. 3600 IN TXT "31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.fan. 3600 IN A 192.168.10.33 sysadmin.fromlinux.fan. 10800 IN para 192.168.10.1 de linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800

Na saída acima, destacamos negrito os TTL -em segundos- para os computadores com endereços IP concedidos pelo serviço DHCP aqueles que possuem uma declaração explícita do TTL 3600 dada pelo DHCP. IPs fixos são guiados pelo $ TTL de 3H -3 horas = 10800 segundos- declarado no registro SOA de cada arquivo de zona.

Eles podem verificar a zona reversa da mesma maneira.

[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr

Outros comandos extremamente interessantes são:

[root @ dns ~] # named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl
[root @ dns ~] # named-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl
[root @ dns ~] # journalctl -f

Modificação manual de arquivos de zonas

Depois que o DHCP entra em ação para atualizar dinamicamente os arquivos de zona do nomeadoSe a qualquer momento precisarmos modificar manualmente um arquivo de zona, devemos realizar o seguinte procedimento, mas não sem antes saber um pouco mais sobre o funcionamento do utilitário rndc para controle de servidor de nomes.

[root @ dns ~] # man rndc
....
       congelar [zona [classe [visualização]]]
           Suspenda as atualizações para uma zona dinâmica. Se nenhuma zona for especificada, todas as zonas serão suspensas. Isso permite que edições manuais sejam feitas em uma zona normalmente atualizada por atualização dinâmica. Também faz com que as alterações no arquivo de diário sejam sincronizadas com o arquivo mestre. Todas as tentativas de atualização dinâmica serão recusadas enquanto a zona estiver congelada.

       descongelar [zona [classe [visualização]]]
           Habilite atualizações para uma zona dinâmica congelada. Se nenhuma zona for especificada, todas as zonas congeladas serão ativadas. Isso faz com que o servidor recarregue a zona do disco e reative as atualizações dinâmicas após a conclusão do carregamento. Depois que uma zona é descongelada, as atualizações dinâmicas não serão mais recusadas. Se a zona foi alterada e a opção ixfr-from-changes estiver em uso, o arquivo de diário será atualizado para refletir as alterações na zona. Caso contrário, se a zona foi alterada, qualquer arquivo de diário existente será removido. ....

O quê, você achou que eu ia transcrever todo o manual? ... um trecho e eles vão de carro. O resto eu deixo para você. 😉

Basicamente:

  • rndc congelar [zona [classe [visualização]]], suspende a atualização dinâmica de uma zona. Se um não for especificado, todos serão congelados. O comando permite a edição manual da zona congelada ou de todas as zonas. Qualquer atualização dinâmica será negada enquanto estiver congelada.
  • degelo rndc [zona [classe [vista]]], permite atualizações dinâmicas em uma zona previamente congelada. O servidor DNS recarrega o arquivo de zona do disco e as atualizações dinâmicas são reativadas após a conclusão do recarregamento.

Cuidados a serem tomados ao editar manualmente um arquivo de zona? O mesmo que se estivéssemos criando, sem esquecer de aumentar o número de série em 1 ou serial antes de salvar o arquivo com as alterações finais.

Exemplo:

[root @ dns ~] # rndc congelar de linux.fan

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
Eu modifico o arquivo de zona por qualquer motivo, necessário ou não. Eu salvo as mudanças

[root @ dns ~] # rndc thaw de linux.fan
Foi iniciado um recarregamento e descongelamento da zona. Verifique os logs para ver o resultado.

[root @ dns ~] # journalctl -f
29 de janeiro 14:06:46 dns chamado [2257]: zona de degelo 'desdelinux.fan/IN': sucesso
29 de janeiro 14:06:46 dns chamado [2257]: zona de linux.fan/IN: zona serial (6) inalterada. zona pode falhar ao transferir para escravos.
29 de janeiro 14:06:46 dns chamado [2257]: zona desdelinux.fan/IN: serial carregada 6

O erro na saída anterior, que é mostrada em vermelho no console, deve-se ao fato de que "esqueci" de aumentar o número de série em 1. Se eu tivesse seguido o procedimento corretamente, a saída teria sido:

[root @ dns ~] # journalctl -f
- Os registros começam em Dom 2017-01-29 08:31:32 EST. - 29 de janeiro 14:06:46 dns chamado [2257]: zona desdelinux.fan/IN: série carregada 6 29 de janeiro 14:10:01 dns systemd [1]: Sessão 43 iniciada do usuário root. 29 de janeiro 14:10:01 dns systemd [1]: Iniciando a Sessão 43 do usuário root. 29 de janeiro 14:10:01 dns CROND [2693]: (root) CMD (/ usr / lib64 / sa / sa1 1) 1 de janeiro 29:14:10 dns nomeado [45]: recebeu o comando do canal de controle 'congelar do linux. fan 'Jan 2257 29:14:10 dns chamado [45]: freezing zone' desdelinux.fan/IN ': sucesso Jan 2257 29:14:10 dns chamado [58]: recebeu o comando do canal de controle' thaw desdelinux.fan 'Jan 2257 29:14:10 dns denominado [58]: zona de descongelação 'desdelinux.fan/IN': sucesso 2257 de janeiro 29:14:10 dns denominado [58]: zona desdelinux.fan/IN: arquivo de diário está desatualizado: removendo arquivo de diário 2257 de janeiro 29:14:10 dns chamado [58]: zona desdelinux.fan/IN: série carregada 2257
  • Amigos leitores, repito que vocês devem ler atentamente as saídas dos comandos. Para algo, seus desenvolvedores gastaram muito trabalho programando cada comando, não importa o quão simples seja.

Resumo

Até ao momento tratámos da implementação do par DNS - DHCP, serviços importantes e cruciais para o bom desempenho da nossa Rede PME, no que se refere à atribuição de endereços dinâmicos através de DHCP e à resolução de nomes de computadores e domínios através de DNS.

Esperamos seriamente que você tenha gostado de todo o procedimento como nós. Embora possa parecer mais difícil usar o console, é muito mais fácil e educacional implementar um serviço no UNIX® / Linux com sua ajuda.

Eles me perdoam por qualquer interpretação errônea de conceitos pensados, criados, escritos, revisados, reescritos e publicados na linguagem de Shakespeare, não de Cervantes. 😉

próxima entrega

Acho que um pouco mais do mesmo - com adições teóricas nos registros DNS - mas no Debian. Não podemos esquecer essa distribuição, certo?


O conteúdo do artigo segue nossos princípios de Ética editorial. Para relatar um erro, clique Clique aqui.

15 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado.

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Comerciante Cristian dito

    Muito obrigado por seu trabalho louvável em escrever artigos tão frutíferos. Será muito útil para mim

  2.   federico dito

    E muito obrigado, Cristian, por me acompanhar e por sua avaliação deste post. Êxitos!

  3.   Ismael Álvarez Wong dito

    Depois de dar uma primeira olhada neste novo post de Federico, o grande profissionalismo que se viu ao longo da série «PYMES» é mais uma vez notável; além dos grandes detalhes que ilustram seu domínio em dois dos serviços mais importantes (DNS e DHCP) de qualquer rede. Nesta ocasião e ao contrário dos meus comentários anteriores, tenho um 2º comentário pendente, após ter posto em prática o que está exposto neste post.

  4.   crespo88 dito

    Sem comentários, pa '400 !!! Fico obrigado porque você sabe muito bem que leio seus posts e não podemos pedir mais. Você começa com uma organização muito boa, desde como instalar e configurar o desktop pessoal de um usuário, a estação de trabalho é a base, é a sensação de ser daqueles serviços de rede que você explica muito bem. Você tem subido e embora seja verdade que o nível está subindo, é verdade que você escreveu e publicou para os que são menos do que os que estão começando, para os que são como eu há algum tempo e para os mais avançados.
    Com o tempo cheguei à conclusão de que sei que muitos já chegaram, a teoria, aquilo que nos custa tanto adquirir pelo simples fato de não querer ler, porque executar já é muito mais fácil quando sabemos o que estamos fazendo, porque ???, as dúvidas, onde encontrar e como sair do erro que tanto dá dor de cabeça quando nem sabemos de onde vêm, vale a redundância.
    Por isso, não quero que você deixe para trás aqueles elementos teóricos que vai incluir sobre os registros de DNS na próxima publicação como você anunciou, muito menos no que diz respeito ao querido e querido DEBIAN.
    MUITO OBRIGADO e estamos aguardando.

  5.   caçador dito

    Excelente como sempre Fico! Aguardo a versão do Debian, há anos jogo tudo com aquela distro.

  6.   federico dito

    Wong: Sua opinião depois de ler vale muito. Aguardo seus comentários quando você testar o conteúdo, pois sei que é assim que você gosta de fazer. 😉

  7.   federico dito

    Crespo: Como sempre, seus comentários são muito bem recebidos. Vejo que você capturou a linha geral que elevei na composição desta série. Espero que, como você, muitos já tenham notado. Obrigado pelo seu comentário.

  8.   federico dito

    Dhunter: Bom ler você de novo! Você não terá que esperar muito. O mais tardar na segunda-feira -ou antes- estará concluído para publicação. Não pense que é fácil para mim cobrir três distros diferentes, mas o Respectable Reader pede isso. Não apenas Debian e Ubuntu, mas os Três Orientados para PMEs.

  9.   crespo88 dito

    Se publicou é porque pode, apoiamo-lo e sabemos que seguirá essa linha.
    Como dhunter, espero o lançamento do Debian com dentes afiados. Seria bom se você abordasse um pouco sobre o NTP. Sl2 e um grande abraço. Se meus professores tivessem me ensinado tudo assim, HAHAJJA, grau de platina, HAHAJJA.

  10.   federico dito

    O nível de detalhe nas saídas de comando é necessário para mostrar sua importância. Eles falam muito. É verdade que poucos artigos abordam esse nível de detalhamento, porque pensam que seriam artigos longos e pesados ​​de ler. Bem, parte do trabalho de um SysAdmin é ler essas saídas pesadas e detalhadas, não apenas diante de um problema, mas também diante de verificações.

  11.   Ismael Álvarez Wong dito

    Olá Federico, já havia prometido antes, escrever alguns comentários depois de ter estudado cuidadosamente o post em questão; Bem, aqui vão eles a seguir:
    - Ótima técnica em vez de gerar a chave TSIG para atualizações dinâmicas de DNS por DHCP, copiando a mesma chave rndc.key que dhcp.key, isso aparentemente "tão simples" mostra que o objetivo não é apenas técnico do HOWTO-INSTALL-DNS - & - DHCP mas nos ensinando a pensar, 5 ESTRELAS PARA O AUTOR.
    - Muito interessante no arquivo de configuração do DNS, named.conf, a presença da linha «allow-transfer {localhost; 192.168.10.1; }; » testar o Domínio «desdelinux.fan» apenas a partir da estação de trabalho SysAdmin e do localhost (o próprio servidor DNS), e além de inserir a chave TSIG para atualizar o DNS do DHCP.
    - Muito boa a criação das zonas direta e inversa do DNS junto com a explicação "detalhada" de seus tipos de registros, além da execução do comando "# named-checkconf -zp" para verificar toda a sintaxe do nome antes de seu hard reset, bem como exemplos de execução do comando "dig" para verificar diferentes tipos de registros DNS.
    . Na configuração DHCP (usando o arquivo /etc/dhcp/dhcpd.conf):
    - Como adicionar a nossa rede local com a sua gama de endereços IP dinâmicos a atribuir, a definição do servidor de nomes, etc; e também como dizer ao DHCP para atualizar os registros DNS através do uso das linhas "ddns- ..." em sua configuração.
    . Quando tudo já estiver operacional, 5 ESTRELAS PARA O AUTOR, na execução do comando "# dig desdelinux.fan axfr" para verificar o TTL dos computadores da LAN que possuem IP estático daqueles que possuem IP dinâmico atribuído.
    . Finalmente, EXCELENTE, a modificação manual dos arquivos Zones congelando-os primeiro com "# rndc freeze desdelinux.fan", depois fazendo a modificação e finalmente descongelando-os com "# rndc thaw desdelinux.fan"
    . E O MELHOR, TUDO FOI FEITO NO TERMINAL.
    Continue assim Fico.

    1.    Alegria dito

      Olá,
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt op mijn computer zelfs mijn foto's. Ik heb totaal geen control meer over my eigen computer on mobiel.
      Het zit m dus ook in het dns no dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. Misschien dat iemand mij wilt helpen? Isso é namelijk buiten mij om geinstalleerd. Veja a seguir gedrag vind ik het.

  12.   federico dito

    Wong: seu comentário complementa o artigo. Sério, isso mostra que você o estudou completamente. Caso contrário, você não poderia comentar com o nível de detalhamento que você faz. Basta adicionar isso permitir transferência É utilizado principalmente para quando temos um DNS Slave e permitimos a transferência de zonas do mestre para ele. Eu o uso dessa forma porque é um mecanismo fácil de implementar para fazer verificações não perigosas em um único computador. Muito obrigado pela sua avaliação de 5. Saudações! e continuarei esperando por você em meus próximos artigos.

  13.   Ignacio M dito

    Olá Federico. Sei que estou um pouco atrasado, mas gostaria de fazer uma pergunta.
    Este procedimento me ajudará se eu quiser apontar um domínio para meu servidor vps?

    A cada 15 minutos, recebo estas mensagens do sistema:

    DHCPREQUEST em eth0 para a porta 67 (xid =…)
    DHCPACK de (xid =…)
    vinculado a - renovação em 970 segundos.

    E pelo que entendi devo criar um registro A com meu domínio e o ip do meu servidor dedicado.

    * Parabéns e obrigado por este artigo, não sei se é o que procurava mas achei muito interessante e bem explicado. Além disso, aceito a recomendação do "DNS e BIND" que já andei fofocando um pouco e me parece muito interessante.

    Saudações da Argentina!

    1.    Antonio Valdés Toujague dito

      por favor contacte-me através valdestoujague@yandex.com