DNS e DHCP en CentOS 7 - Redes SMB

Índice xeral da serie: Redes informáticas para pemes: introdución

Ola amigos !. Veremos neste artigo como podemos implementar o importante par de servizos para redes constituído polo DNS e DHCP en CentOS - Linux, concretamente na súa versión 7.2.

  • Algúns artigos sobre DNS refírense a que a implementación deste servizo é un pouco escura e difícil. Non estou moi de acordo con esa afirmación. Prefiro dicir que é un pouco conceptual e que moitos dos seus ficheiros de configuración teñen unha sintaxe complicada. Por sorte, temos ferramentas para comprobar, paso a paso, a sintaxe de cada ficheiro de configuración que modificamos. Polo tanto, intentaremos que a lectura deste post sexa o máis agradable e agradable posible..

Para aqueles que busquen conceptos básicos sobre ambos servizos, recomendámoslle encarecidamente que comece a súa busca na Wikipedia, tanto na súa versión en español como en inglés. Non é menos certo que os artigos en inglés son case sempre máis completos e coherentes. Aínda así, Wikipedia é un moi bo punto de partida.

Para aqueles de vostedes que realmente queiran aprender sobre DNS e BIND, recomendamos ler o libro «OReilly - DNS e BIND 4ed" escrito por Paul albitz y Grilo Liu, ou unha edición posterior que seguramente existe.

Xa publicamos un artigo sobre o tema titulado «DNS e DHCP en openSUSE 13.2 Arlequín - Redes de pemes»Para os amantes do entorno gráfico. Non obstante, a partir de agora enfrontaranse a artigos sobre este tema -non a outros- escritos con moito uso do emulador dun terminal ou consola. Vaia, ao estilo clásico empregado polos administradores de sistemas UNIX® / Linux.

Se queres saber máis sobre o apelido do título deste artigo «Redes de pemes»Podes visitar a páxina neste blogue«Redes de pemes: primeiro corte virtual«. Nel atoparás ligazóns a moitos outros artigos publicados.

  • Despois de rematar a instalación do sistema operativo CentOS 7 cos paquetes que recomendamos, el directorio /usr/share/doc/bind-9.9.4/ contén unha boa cantidade de documentación que recomendamos que consulte antes de aventurarse nunha busca en Internet sen antes saber que, ao alcance dos seus dedos e na súa propia casa, pode atopar o que busca.

Instalación do sistema base

Datos xerais do dominio e do servidor DNS

Nome de dominio: desdelinux.fan
Nome do servidor DNS: dns.fromlinux.fan
Enderezo IP: 192.168.10.5
Máscara de subrede: 255.255.255.0

Instalación

Comezamos cunha instalación nova ou limpa do sistema operativo CentOS 7 como se indica no artigo anterior «CentOS 7 Hypervisor I - Redes SMB«. Só precisamos facer os seguintes cambios:

  • No Imaxe 22 «SELECCIÓN DE SOFTWARE«, Recomendamos escoller na columna esquerda«Entorno base»A opción correspondente a un«Servidor de infraestrutura«, Mentres está na columna dereita«Complementos para o entorno seleccionado»Marque a caixa de verificación«Servidor de nomes DNS«. Instalaremos o servidor DHCP máis tarde.
  • Lembremos a declaración dos repositorios adicionais como se mostra no Imaxe 23, despois de establecer o «REDE E NOME DO EQUIPO«.
  • As imaxes referentes ás particións que crearemos no noso disco duro só se dan como guías. Non dubide en seleccionar as particións ao seu criterio, práctica e bo criterio.
  • Finalmente, no Imaxe 13 «NOME DA REDE E DO EQUIPO», debemos cambiar os valores segundo os parámetros xerais do dominio declarado e do servidor DNS, sen esquecer especificar o nome do host -neste caso «DNS«- despois de completar a configuración da rede. É positivo facelo pingar -de outro host- á dirección IP especificada despois de que a rede estea activa:

DNS e DHCP en CentOS

Hai realmente poucos cambios moi obvios que debemos facer con respecto ao artigo anterior.

Comprobacións e axustes iniciais

Despois de instalar o sistema operativo, debemos revisar polo menos os seguintes ficheiros e para iso iniciamos unha sesión a través de SSH desde o noso ordenador sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
contrasinal de buzz@192.168.10.5: Último inicio de sesión: sáb 28 de xaneiro 09:48:05 2017 de 192.168.10.1
[buzz @ dns ~] $

A operación anterior pode tardar máis do normal e débese principalmente a que aínda non temos DNS na LAN. Comproba de novo máis tarde que o DNS funciona.

[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 
# Xerado pola busca NetworkManager desde o servidor de nomes linux.fan 127.0.0.1

As principais configuracións responden ás nosas seleccións. Teña en conta que incluso nun servidor Red Hat 7 - CentOS 7, configúrase por defecto cando NetworkManager de xeito que este é o que xestiona as interfaces de rede, xa sexan con fíos ou sen fíos (WiFi), conexións VPN, conexións PPPoE e calquera outra conexión de rede.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] contrasinal para buzz: ● networkmanager.service Cargado: non atopado (Motivo: Non hai ese ficheiro ou directorio) Activo: inactivo (morto)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Administrador de rede cargado: cargado (/usr/lib/systemd/system/NetworkManager.service; activado; predefinido do vendedor: activado) Activo: activo (en execución) desde o sábado 2017/01/28 ás 12:23:59 EST; Hai 12 minutos PID principal: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS tamén permite conectar e desconectar interfaces de rede empregando os comandos clásicos ifup e ifdown. Executemos nunha consola de servidor:

[root @ dns ~] # ifdown eth0
O dispositivo "eth0" desconectouse correctamente.

[root @ dns ~] # ifup eth0
Conexión activada correctamente (ruta activa D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Suxerimos non cambie a configuración predeterminada que ofrece CentOS 7 con respecto a NetworkManager.

Declaramos definitivamente os repositorios que imos usar e actualizaremos o sistema operativo se é necesario:

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

É saudable ler o contido dos ficheiros de declaración orixinais dos repositorios recomendados por CentOS. Os cambios que facemos aquí débense a que non temos acceso a Internet e traballamos con repositorios locais descargados da WWW Village, por parte de compañeiros que nos facilitan a vida. 😉

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

[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 limpa todo
Complementos cargados: fastestmirror, langpacks Limpeza de repositorios: centos-base centos-updates Limpeza de todo

[root @ dns yum.repos.d] # yum actualización
Complementos cargados: fastestmirror, centos-langpacks | 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 Determinación dos espellos máis rápidos Non hai paquetes marcados para a actualización

A mensaxe «Non (hai) paquetes marcados para actualizar» - «Non hai paquetes marcados para a actualización»Indica que, ao declarar os repositorios máis actualizados dispoñibles durante a instalación, instaláronse precisamente os paquetes máis actuais.

Acerca do contexto SELinux e do cortalumes

Imos centrar este artigo - fundamentalmente - na implementación de servizos DNS e DHCP, que é o seu principal obxectivo.

Se algún lector seleccionou unha política de seguridade durante o proceso de instalación, como se indica no Imaxe 06 do artigo de referencia «CentOS 7 Hypervisor I - Redes SMB»Usado para a instalación deste servidor DNS - DHCP e descubre que non sabe como configurar correctamente SELinux e o Firewall CentOS, suxerímoslle que execute o seguinte:

Modifique o ficheiro / etc / sysconfig / selinux e cambiar SELINUX = facer cumprir por SELINUX = desactivar

[root @ dns ~] # nano / etc / sysconfig / selinux
# Este ficheiro controla o estado de SELinux no sistema. # SELINUX = pode tomar un destes tres valores: # enforcing - A política de seguridade de SELinux aplícase. # permisivo - SELinux imprime avisos en vez de cumprilos. # disabled - Non se carga ningunha política SELinux.
SELINUX = desactivado
# SELINUXTYPE = pode tomar un destes tres valores: # obxectivo - Os procesos dirixidos están protexidos, # mínimo - Modificación da política dirixida. Só os procesos seleccionados son $ $ mls - Protección de seguridade de varios niveis. SELINUXTYPE = obxectivo

A continuación, execute os seguintes comandos

[root @ dns ~] # setenforce 0
[root @ dns ~] # firewalld service stop
Redirixindo a / bin / systemctl parar firewalld.service

[root @ dns ~] # systemctl desactiva firewalld
Eliminouse a ligazón simbólica /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Eliminouse a ligazón simbólica /etc/systemd/system/basic.target.wants/firewalld.service.

Se está a implementar un servidor DNS cara a Internet, NON debería facer o anterior, senón configurar o contexto SELinux e o Firewall correctamente. Ver "Configuración do servidor con GNU / Linux, do autor Joel Barrios Dueñas" ou a propia documentación de CentOS - Red Hat

Configuramos o nome BIND

  • El directorio /usr/share/doc/bind-9.9.4/ Contén unha boa cantidade de documentación que recomendamos consultar antes de aventurarse nunha busca en Internet sen saber antes que, ao alcance dos teus dedos e na túa propia casa, podes atopar o que buscas.

En moitas distribucións chámase o servizo DNS instalado a través do paquete BIND designado (Nome Daemon). En CentOS 7 instálase desactivado por defecto, segundo a saída do seguinte comando, onde afirma que o seu estado é «válido«E que este estado está predefinido polo seu« vendedor »- predefinido do vendedor. Para deixar constancia, BIND é software libre.

Habilitación do servizo nomeado

[root @ dns ~] Nome do estado # systemctl
● named.service - Dominio de nome de Internet de Berkeley (DNS) Cargado: cargado (/usr/lib/systemd/system/named.service; válido; predefinido do vendedor: desactivado) Activo: inactivo (morto)

[root @ dns ~] # systemctl enable named
Ligazón simbólica creada desde /etc/systemd/system/multi-user.target.wants/named.service a /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start named

[root @ dns ~] Nome do estado # systemctl
● named.service - Dominio de nome de Internet de Berkeley (DNS) Cargado: cargado (/usr/lib/systemd/system/named.service; activado; predefinido do vendedor: desactivado)
   Activo: activo (executando) desde o sábado 2017/01/28 ás 13:22:38 EST; Hai 5 minutos Proceso: 1990 ExecStart = / usr / sbin / named -u named $ OPTIONS (código = saído, estado = 0 / ÉXITO) Proceso: 1988 ExecStartPre = / bin / bash -c se [! "$ DISABLE_ZONE_CHECKING" == "si"]; entón / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A verificación dos ficheiros de zona está desactivada"; fi (código = saído, estado = 0 / ÉXITO) PID principal: 1993 (nomeado) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u named 28 de xaneiro 13:22:45 dns named [1993]: erro (rede inalcanzable) resolvendo "./NS/IN": 2001: 500: 2f :: f # 53 28 de xaneiro 13:22:47 dns chamado [1993]: erro (inalcanzable en rede) resolvendo "./ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 28 de xaneiro 13:22:47 dns chamado [1993]: erro (inalcanzable na rede) resolvendo "./NS/IN": 2001: 500: 3 :: 42 # 53 28 de xaneiro 13:22:47 dns chamado [1993]: erro (inalcanzable na rede) resolvendo './DNSKEY/IN': 2001: 500: 2d :: d # 53 28 de xaneiro 13:22:47 dns chamado [1993 ]: erro (inalcanzable na rede) resolvendo "./NS/IN": 2001: 500: 2d :: d # 53 28 de xaneiro 13:22:47 dns chamado [1993]: erro (inalcanzable na rede) resolvendo "./DNSKEY/ IN ': 2001: dc3 :: 35 # 53 28 de xaneiro 13:22:47 dns chamado [1993]: erro (inalcanzable na rede) resolvendo' ./NS/IN ': 2001: dc3 :: 35 # 53 28 de xaneiro 13: 22:47 dns named [1993]: erro (inalcanzable na rede) resolvendo './DNSKEY/IN': 2001: 7fe :: 53 # 53 28 de xaneiro 13:22:47 dns named [1993]: erro (inalcanzable na rede) res olving './NS/IN': 2001: 7fe :: 53 # 53 28 de xaneiro 13:22:48 dns chamado [1993]: managed-keys-zone: Non se puido recuperar o conxunto DNSKEY '.': tempo de espera agotado

[root @ dns ~] nomeouse o reinicio de # systemctl

[root @ dns ~] Nome do estado # systemctl
● named.service - Dominio de nome de Internet de Berkeley (DNS) Cargado: cargado (/usr/lib/systemd/system/named.service; activado; predefinido do provedor: desactivado)
   Activo: activo (executando) desde o sábado 2017/01/28 ás 13:29:41 EST; Hai 1s Proceso: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (código = saído, estado = 0 / ÉXITO) Proceso: 1460 ExecStart = / usr / sbin / named -u chamado $ OPCIÓNS (código = saído, estado = 0 / ÉXITO) Proceso: 1457 ExecStartPre = / bin / bash -c se [! "$ DISABLE_ZONE_CHECKING" == "si"]; entón / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A verificación dos ficheiros de zona está desactivada"; fi (código = saído, estado = 0 / ÉXITO) PID principal: 1463 (nomeado) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u named 28 de xaneiro 13:29:41 dns named [1463]: managed-keys-zone: o ficheiro do diario está desactualizado: eliminando o ficheiro do diario 28 de xaneiro 13:29:41 dns chamado [1463]: managed-keys-zone: cargado en serie o 2 de xaneiro 28 13:29:41 dns named [1463]: zone 0.in-addr.arpa/IN: serial cargado 0 28 de xaneiro 13:29:41 dns named [1463]: zone localhost.localdomain / IN: serial cargado 0 28 de xaneiro 13:29:41 dns named [1463]: zone 1.0.0.127.in-addr.arpa/IN: serial cargado 0 28 de xaneiro 13:29:41 dns named [1463]: zone 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 .6.ip0.arpa / IN: serie cargada 28 13 de xaneiro 29:41:1463 dns chamada [0]: zona localhost / IN: serie cargada 28 13 de xaneiro 29 : 41: 1463 dns named [28]: todas as zonas cargadas o 13 de xaneiro 29:41:1463 dns named [28]: en execución o 13 de xaneiro 29:41:1 dns systemd [XNUMX]: Iniciado o dominio de nome de internet de Berkeley (DNS).

Despois habilitamos o servizo designado e comezámolo por primeira vez, a saída do comando nomeouse o estado do sistema mostra erros. Cando reiniciamos o servizo a continuación, o designado crea todos os ficheiros de configuración que, por defecto, son necesarios para o seu correcto funcionamento. Polo tanto, cando executemos o comando de novo nomeouse o estado do sistema non se amosan máis erros.

  • Estimado lector, caro e esixente: se desexa descubrir -polo menos- que camiño leva ao final do burato do coello, por favor, lea con calma as saídas detalladas de cada comando. 😉 Seguramente o artigo parecerá un pouco longo, pero non negue que gañe en explicación e claridade.

Modificamos o ficheiro /etc/named.conf

Moitos comentarios dos lectores expresan -Non o digo- a manía que teñen os mantedores de diferentes distribucións de Linux, de colocar ficheiros de configuración do sistema en cartafoles con nomes diferentes dependendo da distribución. Teñen razón. Pero que podemos facer nós, os simples usuarios que usamos estas distribucións? Adáptate! 😉

Por certo, en FreeBSD, o clon de UNIX® «The Origin», o ficheiro está dentro /usr/local/etc/namedb/named.conf; mentres está en Debian, ademais de dividirse nos catro ficheiros named.conf, named.conf.options, named.conf.default-zones e named.conf.local, está no cartafol / etc / bind /. Os que queiran saber onde o coloca openSUSE, lean «DNS e DHCP en openSUSE 13.2 Arlequín - Redes de pemes«. Os lectores teñen razón! 😉

E como facemos sempre: antes de modificar nada, gardamos o ficheiro de configuración orixinal con outro nome.

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

Para facilitar a vida, en vez de xerar a clave TSIG para actualizacións DNS dinámicas por DHCP, copiamos a mesma clave rndc.key como dhcp.key.

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

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

Así que o designado pode ler o ficheiro que acaba de copiar, modificamos o seu grupo de propietarios:

[root @ dns ~] # root chown: named /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 raíz chamada 77 28 de xaneiro ás 16:36 /etc/dhcp.key -rw-r -----. 1 raíz chamada 77 28 de xaneiro 13:22 /etc/rndc.key

Pequenos detalles como o anterior son o que pode volverse tolos intentando descubrir, agora ... onde está o problema ...? con algúns adxectivos máis, que non escribimos por respecto ao Respectable.

Agora se - por fin! - modificamos o ficheiro /etc/named.conf. Os cambios ou engadidos que fixemos, con respecto ao orixinal, están negriña. Fixádevos ben en cantos poucos.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Proporcionado polo paquete de enlace de Red Hat para configurar o servidor DNS // (8) DNS ISC BIND como servidor de nomes só na caché (só como resolutor DNS localhost). // // Vexa / usr / share / doc / bind * / sample / por exemplo nomeados ficheiros de configuración. //

// Lista de control de acceso que declara que redes poderán consultar
// o meu servidor nomeado
acl atado {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

opcións {
 // Declaro que o demonio nomeado tamén escoita a interface
 // eth0 que ten a IP: 192.168.10.5
    porto de escoita 53 {127.0.0.1; 192.168.10.5; };
    listen-on-v6 porto 53 {:: 1; }; directorio "/ var / named"; ficheiro de descarga "/var/named/data/cache_dump.db"; ficheiro de estatísticas "/var/named/data/named_stats.txt"; ficheiro memstatistics "/var/named/data/named_mem_stats.txt";

 // Declaración de reenviadores
 // reenviadores {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // adiante primeiro;

    // Só permito consultas ao meu ACL atascado
    allow-query {atado; }; // Para comprobalo co comando dig de linux.fan axfr // desde a estación de traballo SysAdmin e só localhost // Non temos servidores DNS escravos. Non o necesitamos ... ata agora.
 permitir-transferencia {localhost; 192.168.10.1; };

    / * - Se está a construír un servidor DNS AUTORITATIVO, NON active a recursión. - Se está a construír un servidor DNS RECURSIVO (caché), ten que habilitar a recursión. - Se o servidor DNS recursivo ten unha dirección IP pública, DEBES habilitar o control de acceso para limitar as consultas aos teus usuarios lexítimos. Se non o fas, o teu servidor pasará a formar parte de ataques de amplificación de DNS a gran escala. A implementación de BCP38 na súa rede reduciría moito a superficie de ataque * /
    // Queremos un servidor de AUTORIDADE para a nosa LAN - PEME
    recursión non;

    dnssec-enable si; dnssec-validation si; / * Camiño á clave ISC DLV * / bindkeys-file "/etc/named.iscdlv.key"; directorio de chaves xestionadas "/ var / named / dynamic"; ficheiro pid "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; rexistro {channel default_debug {ficheiro "data / named.run"; dinámica de gravidade; }; }; zona "." IN {tipo de suxestión; ficheiro "named.ca"; }; incluír "/etc/named.rfc1912.zones"; inclúe "/etc/named.root.key";

// Incluímos a clave TSIG para actualizacións DNS dinámicas // por DHCP
incluír "/etc/dhcp.key";

// Declaración do nome, tipo, localización e permiso de actualización
// das zonas de rexistros DNS // As dúas zonas son MASTERS
zona "desdelinux.fan" {
 tipo mestre;
 ficheiro "dynamic / db.fromlinux.fan";
 permitir-actualizar {clave dhcp-clave; };
};

zona "10.168.192.in-addr.arpa" {
 tipo mestre;
 ficheiro "dynamic / db.10.168.192.in-addr.arpa";
 permitir-actualizar {clave dhcp-clave; };
};

Comprobamos a sintaxe

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

Dado que o comando anterior non devolve nada, a sintaxe está ben. Non obstante, se executamos o mesmo comando, pero coa opción -z, a saída será:

[root @ dns ~] # named-checkconf -z
zona localhost.localdomain / IN: serie 0 cargada zona localhost / IN: serie 0 cargada 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 serie 0 cargada 1.0.0.127.in-addr.arpa/IN: zona serie 0 cargada 0.in-addr.arpa/IN: zona serie 0 cargada desde linux.fan/IN: carga desde o mestre file dynamic / db.fromlinux.fan fallou: zona de ficheiro non atopada fromlinux.fan/IN: non se cargou debido a erros. _default / desdelinux.fan / IN: zona de ficheiro non atopada 10.168.192.in-addr.arpa/IN: falla a carga do ficheiro principal dynamic / db.10.168.192.in-addr.arpa: zona de ficheiro non atopada 10.168.192 .in-addr.arpa / IN: non se cargou debido a erros. _default / 10.168.192.in-addr.arpa / IN: non se atopou o ficheiro

Por suposto, son erros que se producen porque aínda non creamos as zonas de rexistro DNS para o noso dominio.

  • Para obter máis información sobre o comando named-checkconf, correr man named-checkconf, antes de buscar calquera outra información en Internet. Asegúroche que aforrará moito tempo.

Creamos o ficheiro de zona directa desde linux.fan

... non sen un pouco de teoría primeiro. 😉

Como modelo para crear o ficheiro de datos de zona, podemos tomar o /var/named/named.empty, o el /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Ambos son idénticos.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; serie 1D; actualizar 1H; reintentar 1W; caducar 3H); tempo de almacenamento en caché mínimo ou negativo para vivir NS @ A 127.0.0.1 AAAA :: 1

Tempo da vida - Tempo de vivir TTL Rexistro SOA

Tomemos un paréntese para explicar o TTL: hora de vivir do rexistro SOA - Inicio da autoridade dunha Zona Mestra. É interesante coñecer o seu significado para cando queremos modificar algún dos seus valores.

$ TTL: Tempo da vida - Tempo de vivir para todos os rexistros do ficheiro que seguen a declaración (pero preceden a calquera outra declaración $ TTL) e non teñen unha declaración TTL explícita.

serial: Número de serie dos datos da zona. Cada vez que modificamos manualmente un rexistro DNS nunha zona, debemos aumentar ese número en 1, especialmente se temos servidores escravos ou secundarios. Cada vez que un servidor DNS secundario ou escravo contacta co seu servidor principal, solicita o número de serie dos datos do mestre. Se o número de serie do escravo é menor, entón os datos desa zona no servidor escravo están desactualizados e o escravo realiza unha transferencia de zona para actualizarse.

refrescar: Indícalle ao servidor escravo o intervalo de tempo no que debería comprobar se os seus datos están actualizados con respecto ao mestre.

téntao de novo: Se o servidor principal non está dispoñible - porque enfermou, digamos - ao escravo despois dun intervalo de tempo refrescar, téntao de novo Indícalle ao escravo canto tempo debe esperar antes de intentar contactar de novo co seu amo.

caduca: Se o escravo non pode contactar co seu amo por un intervalo de tempo caducaDaquela, se a relación de zona escravo-mestre foi estropeada e o servidor escravo non ten máis remedio que caducar a zona en cuestión. A caducidade dunha zona por parte dun servidor DNS escravo significa que deixará de responder ás consultas de DNS relacionadas con esa zona, porque os datos dispoñibles son demasiado antigos para ser útiles.

  • O anterior ensínanos indirectamente e cargado de gran sentido común -o menos común dos sentidos- que se non precisamos servidores DNS escravos para o funcionamento da nosa peme, non o implementamos, a non ser que sexan estritamente necesarios. Intentemos sempre ir do simple ao complexo.

mínima: En versións anteriores a BIND 8.2, o último disco SOA Tamén indica a vida predeterminada - Tempo de vida predeterminado, e vida negativa da caché - Tempo negativo de caché para vivir para a Zona. Esta vez refírese a todas as respostas negativas dadas polo servidor autorizado para a Zona.

Ficheiro 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; serie 1D; actualizar 1H; reintentar 1W; caducar 3H); mínimo ou; Tempo negativo de caché para vivir; @ IN NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux, o teu blog dedicado ao software libre"; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 servidor de ficheiros IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

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

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

Creamos o ficheiro Zona inversa 10.168.192.in-addr.arpa

  • O rexistro SOA desta zona é o mesmo que o da zona directa sen considerar o rexistro 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; serie 1D; actualizar 1H; reintentar 1W; caducar 3H); mínimo ou; Tempo negativo de caché para vivir; @ IN NS dns.fromlinux.fan. ; 1 IN PTR sysadmin.fromlinux.fan. 3 EN PTR ad-dc.fromlinux.fan. 4 EN PTR fileserver.fromlinux.fan. 5 EN PTR dns.fromlinux.fan. 6 EN PTR proxyweb.desdelinux.fan. 7 EN PTR blog.desdelinux.fan. 8 EN PTR ftpserver.fromlinux.fan. 9 EN 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: serie 1 cargada OK

Antes de reiniciar o nomeado comprobamos a súa configuración

  • Ata que non esteamos seguros de que os ficheiros de configuración do nome named.conf e os seus ficheiros de zona non están configurados correctamente, suxerimos non reiniciar o daemon nomeado. Se facemos isto e posteriormente modificamos un ficheiro de zona, deberemos aumentar o número de serie da zona modificada en 1.
  • Vexamos o "." ao final dos nomes de dominio e host.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
zona localhost.localdomain / IN: serie 0 cargada zona localhost / IN: serie 0 cargada 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: serie 0 zona cargada 1.0.0.127.in-addr.arpa/IN: zona serie 0 cargada 0.in-addr.arpa/IN: zona serie 0 cargada desde linux.fan/IN: serie 1 cargada zona 10.168.192.in-addr.arpa/IN: serie 1 cargada

Toda a configuración actual con nome

Para gañar claridade e, aínda que o artigo se fai longo, damos a saída completa do comando named-checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zona localhost.localdomain / IN: serie 0 cargada zona localhost / IN: serie 0 cargada 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 serial 0 cargada 1.0.0.127.in-addr.arpa/IN: zona serie 0 cargada 0.in-addr.arpa/IN: zona serie 0 cargada desde linux.fan/IN: serie 1 cargada zona 10.168.192.in-addr.arpa/IN: cargou as opcións da serie 1 {bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; directorio "/ var / named"; ficheiro de descarga "/var/named/data/cache_dump.db"; porto de escoita 53 {127.0.0.1/32; 192.168.10.5/32; }; listen-on-v6 port 53 {:: 1/128; }; directorio de chaves xestionadas "/ var / named / dynamic"; ficheiro memstatistics "/var/named/data/named_mem_stats.txt"; ficheiro pid "/run/named/named.pid"; ficheiro de estatísticas "/var/named/data/named_stats.txt"; dnssec-enable si; dnssec-validation si; recursión non; allow-query {"mired"; }; permitir-transferencia {192.168.10.1/32; }; }; acl "atado" {127.0.0.0/8; 192.168.10.0/24; }; rexistro {channel "default_debug" {file "data / named.run"; dinámica de gravidade; }; }; clave "clave dhcp" {algoritmo "hmac-md5"; secreto "OI7Vs + TO83L7ghUm2xNVKg =="; }; zona "." IN {tipo de suxestión; ficheiro "named.ca"; }; zona "localhost.localdomain" IN {tipo mestre; ficheiro "named.localhost"; permitir-actualizar {"none"; }; }; zona "localhost" IN {tipo mestre; ficheiro "named.localhost"; permitir-actualizar {"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 master; ficheiro "named.loopback"; permitir-actualizar {"none"; }; }; zona "1.0.0.127.in-addr.arpa" IN {tipo master; ficheiro "named.loopback"; permitir-actualizar {"none"; }; }; zona "0.in-addr.arpa" IN {type master; ficheiro "named.empty"; permitir-actualizar {"none"; }; }; zona "desdelinux.fan" {tipo master; ficheiro "dynamic / db.fromlinux.fan"; permitir-actualizar {clave "dhcp-key"; }; }; zona "10.168.192.in-addr.arpa" {tipo mestre; ficheiro "dynamic / db.10.168.192.in-addr.arpa"; permitir-actualizar {clave "dhcp-key"; }; }; claves xestionadas {"." clave de inicio-257 3 de agosto "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • Despois do procedemento de modificación do nomeado.conf Segundo as nosas necesidades, comprobar e crear cada ficheiro de zona e comprobalo, dubidamos de que teñamos que afrontar problemas de configuración importantes. Ao final decatámonos de que é un xogo de rapaz, con moitos conceptos e sintaxis esixente. 😉

As comprobacións deron resultados satisfactorios, polo tanto podemos reiniciar o BIND - designado.

Reiniciamos o nomeado e comprobamos o seu estado

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

Se temos algún tipo de erro na saída do último comando, debemos reiniciar o nomeado.servizo e verifique de novo o seu Estado. Se os erros desapareceron, o servizo comezou correctamente. En caso contrario, debemos realizar unha revisión completa de todos os ficheiros modificados e creados e repetir o procedemento.

A saída correcta do estado debería ser:

[root @ dns ~] # systemctl status named.service
● named.service - Dominio de nome de Internet de Berkeley (DNS) Cargado: cargado (/usr/lib/systemd/system/named.service; activado; predefinido do provedor: desactivado) Activo: activo (en execución) desde o domingo 2017/01/29 ás 10:05:32 EST; Hai 2min 57s Proceso: 1777 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (código = saído, estado = 0 / ÉXITO) Proceso: 1788 ExecStart = / usr / sbin / named -u chamado $ OPCIÓNS (código = saído, estado = 0 / ÉXITO) Proceso: 1786 ExecStartPre = / bin / bash -c se [! "$ DISABLE_ZONE_CHECKING" == "si"]; entón / usr / sbin / named-checkconf -z /etc/named.conf; else echo "A comprobación dos ficheiros de zona está desactivada"; fi (código = saído, estado = 0 / ÉXITO) PID principal: 1791 (nomeado) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u named 29 de xaneiro 10:05:32 dns named [1791]: zona 1.0.0.127.in-addr.arpa/IN: serie cargada 0 29 de xaneiro 10:05:32 dns chamada [1791]: zona 10.168.192.in-addr.arpa/IN: serie cargada 1 xaneiro 29 10:05:32 dns named [1791]: zone 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 : serie cargada 0 29 de xaneiro 10:05:32 dns chamada [1791]: zona desdelinux.fan/IN: serie cargada 1 29 de xaneiro 10:05:32 dns chamada [1791]: zona localhost.localdomain / IN: serie cargada 0 29 de xaneiro 10:05:32 dns chamado [1791]: zone localhost / IN: serie cargada 0 29 de xaneiro 10:05:32 dns chamado [1791]: todas as zonas cargadas
29 de xaneiro 10:05:32 dns chamado [1791]: carreira
29 de xaneiro 10:05:32 dns systemd [1]: Inicio do dominio de nomes de Internet de Berkeley (DNS). 29 de xaneiro 10:05:32 dns chamado [1791]: zona 10.168.192.in-addr.arpa/IN: envío de notificacións (serie 1)

Cheques

As comprobacións pódense executar no mesmo servidor ou nunha máquina conectada á LAN. Preferimos facelos dende o equipo sysadmin.fromlinux.fan ao que demos permiso expreso para facer transferencias de zona. O ficheiro /etc/resolv.conf dese equipo é o seguinte:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Xerado pola busca NetworkManager desde o servidor de nomes linux.fan 192.168.10.5

buzz @ sysadmin: ~ $ dig from linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; opcións globais: + cmd de linux.fan. 10800 EN 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 EN TXT "FromLinux, o teu blog dedicado ao software libre" ad-dc.desdelinux.fan. 10800 EN 192.168.10.3 blog.desdelinux.fan. 10800 EN A 192.168.10.7 dns.fromlinux.fan. 10800 EN A 192.168.10.5 fileserver.fromlinux.fan. 10800 EN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 EN 192.168.10.8 mail.fromlinux.fan. 10800 EN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 EN A 192.168.10.6 sysadmin.fromlinux.fan. 10800 EN A 192.168.10.1 desde linux.fan. 10800 EN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 ;; Tempo de consulta: 0 msec ;; SERVIDOR: 192.168.10.5 # 53 (192.168.10.5) ;; CANDO: dom 29 de xaneiro 11:44:18 EST 2017 ;; Tamaño XFR: 13 rexistros (mensaxes 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 ;; opcións 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 EN 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 EN 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 EN 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 msec ;; SERVIDOR: 192.168.10.5 # 53 (192.168.10.5) ;; CANDO: dom 29 de xaneiro 11:44:57 EST 2017 ;; Tamaño XFR: 11 rexistros (mensaxes 1, bytes 352)

buzz @ sysadmin: ~ $ dig IN SOA de linux.fan
buzz @ sysadmin: ~ $ dig IN MX desde linux.fan buzz @ sysadmin: ~ $ dig IN TXT desde linux.fan
buzz @ sysadmin: ~ $ host dns
dns.fromlinux.fan ten enderezo 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinux.fan ten o enderezo 192.168.10.1 ... E calquera outra comprobación que precisemos
  • Ata agora, temos a base para un servidor DNS na nosa rede de pemes. Agardamos que lle gustase todo o procedemento, que foi bastante sinxelo, non? 😉

Instalamos e configuramos DHCP

[root @ dns ~] # yum instala dhcp
Complementos cargados: fastestmirror, centos-langpacks | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00 Cargando velocidades do espello desde o ficheiro host caché Resolución de dependencias -> Execución da proba de transaccións ---> Debe instalarse o paquete dhcp.x86_64 12: 4.2.5-42.el7.centos -> Resolver dependencias Dependencias resoltas rematadas =============================================== ================================================= =================================== Arquitectura de paquetes Versión Tamaño do repositorio =========== ================================================== ================================================= ====================== Instalación: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Resumo da transacción ==== ================================================= ================================================== =========================== Instalar 1 paquete Tamaño total de descarga: 511k Tamaño instalado: 1.4 M ¿Está ben [y / d / N]: y Descarga de paquetes: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Execución da comprobación da transacción Execución da proba da transacción Execución da proba da transacción Execución da transacción Instalación: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Comprobación: 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
# # Ficheiro de configuración do servidor DHCP. # ver /usr/share/doc/dhcp*/dhcpd.conf.example # ver dhcpd.conf (5) páxina de man # ddns-update-style interim; ddns-actualizacións sobre; ddns-nome de dominio "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignorar as actualizacións do cliente; autoritario; opción desvío de IP; opción nome de dominio "desdelinux.fan"; # opción ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; incluír "/etc/dhcp.key"; zona de linux.fan. {primaria 127.0.0.1; clave clave dhcp; } zona 10.168.192.in-addr.arpa. {primaria 127.0.0.1; clave clave dhcp; } redlocal de rede compartida {subred 192.168.10.0 netmask 255.255.255.0 {enrutadores de opción 192.168.10.1; opción sub-máscara 255.255.255.0; opción broadcast-address 192.168.10.255; opción domain-name-servers 192.168.10.5; opción netbios-name-servers 192.168.10.5; rango 192.168.10.30 192.168.10.250; }} # END dhcpd.conf

[root @ dns ~] # dhcpd -t
Servidor DHCP de Internet Systems Consortium 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Todos os dereitos reservados. Para obter información, visite https://www.isc.org/software/dhcp/ Non busque LDAP xa que ldap-server, ldap-port e ldap-base-dn non se especificaron no ficheiro de configuración

[root @ dns ~] # systemctl habilitar dhcpd
Ligazón simbólica creada desde /etc/systemd/system/multi-user.target.wants/dhcpd.service a /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl comeza dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - Daemon do servidor DHCPv4 Cargado: cargado (/usr/lib/systemd/system/dhcpd.service; habilitado; predefinido do provedor: desactivado) Activo: activo (en execución) desde o 2017/01/29 ás 12:04:59 A SÚA T; Hai 23 anos Docs: man: dhcpd (8) man: dhcpd.conf (5) PID principal: 2381 (dhcpd) Estado: "Envío de paquetes ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 de xaneiro 12:04:59 dns dhcpd [2381]: Servidor DHCP de Internet Systems Consortium 4.2.5 29 de xaneiro 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29 de xaneiro 12:04:59 dns dhcpd [2381]: Todos os dereitos reservados. 29 de xaneiro 12:04:59 dns dhcpd [2381]: Para obter información, visite https://www.isc.org/software/dhcp/ 29 de xaneiro 12:04:59 dns dhcpd [2381]: Non busco LDAP desde ldap -server, ldap-port e ldap-base-dn non se especificaron no ficheiro de configuración 29 de xaneiro 12:04:59 dns dhcpd [2381]: escribiu 0 contratos de arrendamento a ficheiro de arrendamentos. 29 de xaneiro 12:04:59 dns dhcpd [2381]: Escoitando en LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 de xaneiro 12:04:59 dns dhcpd [2381]: Envío en LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 de xaneiro 12:04:59 dns dhcpd [2381]: Envío en Socket / fallback / fallback-net 29 de xaneiro 12:04:59 dns systemd [1]: Iniciado Daemon do servidor DHCPv4.

Que queda por facer?

Sinxelo. Inicia un Windows 7 ou outro cliente con software libre e comeza a probar e comprobar. Fixémolo con dous clientes: seven.fromlinux.fan y suse-desktop.fromlinux.fan. Os controis foron os seguintes:

buzz @ sysadmin: ~ $ host seven
seven.fromlinux.fan ten enderezo 192.168.10.30

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
seven.fromlinux.fan ten enderezo 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT seven.fromlinux.fan
.... ;; SECCIÓN DE PREGUNTAS :; seven.fromlinux.fan. EN TXT ;; SECCIÓN DE RESPOSTA: seven.desdelinux.fan. 3600 EN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Cambiamos o nome do equipo por "sete" a "LAGER" e reiniciamos. Despois de reiniciar o novo LAGER, comprobamos:

buzz @ sysadmin: ~ $ host seven
Anfitrión sete non atopado: 5 (REXEITADO)

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
Anfitrión seven.desdelinux.fan non atopado: 3 (NXDOMAIN)

zunido@sysadmin: ~ $ host lager
lager.desdelinux.fan ten enderezo 192.168.10.30

zunido@sysadmin: ~ $ host lager.fromlinux.fan
lager.desdelinux.fan ten enderezo 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; SECCIÓN DE PREGUNTAS :; lager.fromlinux.fan. EN TXT ;; SECCIÓN DE RESPOSTA: lager.fromlinux.fan. 3600 EN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Respecto ao cliente suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Host suse-dektop non atopado: 5 (REXEITADO)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan ten enderezo 192.168.10.33

buzz @ sysadmin: ~ $ host suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan ten enderezo 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa punteiro de nome de dominio suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa punteiro de nome de dominio LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SECCIÓN DE PREGUNTAS :; 33.10.168.192.in-addr.arpa. EN PTR ;; SECCIÓN DE RESPOSTA: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.fromlinux.fan. ;; SECCIÓN DA AUTORIDADE: 10.168.192.in-addr.arpa. 10800 EN NS dns.fromlinux.fan. ;; SECCIÓN ADICIONAL: dns.fromlinux.fan. 10800 EN 192.168.10.5 ....

buzz @ sysadmin: ~ $ dig IN TXT suse-desktop.fromlinux.fan ....
; suse-desktop.desdelinux.fan. EN TXT ;; SECCIÓN DE RESPOSTA: suse-desktop.desdelinux.fan. 3600 EN TXT "31b78d287769160c93e6dca472e9b46d73"

;; SECCIÓN DA AUTORIDADE: desdelinux.fan. 10800 IN NS dns.fromlinux.fan. ;; SECCIÓN ADICIONAL: dns.fromlinux.fan. 10800 EN A 192.168.10.5
....

Executemos tamén os seguintes comandos

[root @ dns ~] # dig from linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; opcións globais: + cmd de linux.fan. 10800 EN 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 EN TXT "FromLinux, o teu blog dedicado ao software libre" ad-dc.desdelinux.fan. 10800 EN 192.168.10.3 blog.desdelinux.fan. 10800 EN A 192.168.10.7 dns.fromlinux.fan. 10800 EN A 192.168.10.5 fileserver.fromlinux.fan. 10800 EN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 EN 192.168.10.8 LAGER.fromlinux.fan. 3600 EN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.fromlinux.fan.   3600 EN 192.168.10.30 mail.fromlinux.fan. 10800 EN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 EN A 192.168.10.6 suse-desktop.fromlinux.fan. 3600 EN TXT "31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.fan. 3600 EN 192.168.10.33 sysadmin.fromlinux.fan. 10800 EN A 192.168.10.1 desde linux.fan. 10800 EN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800

Na saída anterior, destacamos en negriña o TTL -en segundos- para os equipos con enderezos IP concedidos polo servizo DHCP aqueles que teñan unha declaración explícita do TTL 3600 dada polo DHCP. As IP fixas están guiadas polo $ TTL de 3H -3 horas = 10800 segundos- declarado no rexistro SOA de cada ficheiro de zona.

Poden comprobar a zona inversa do mesmo xeito.

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

Outros comandos extremadamente interesantes son:

[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

Modificación manual de ficheiros Zones

Despois de que DHCP entre en xogo actualiza dinámicamente os ficheiros de zona do designadoSe algunha vez necesitamos modificar manualmente un ficheiro de zona, debemos realizar o seguinte procedemento, pero non antes de coñecer un pouco máis sobre o funcionamento da utilidade. rndc para o control do servidor de nomes.

[root @ dns ~] # man rndc
....
       conxelar [zona [clase [ver]]]
           Suspender as actualizacións dunha zona dinámica. Se non se especifica ningunha zona, entón suspéndense todas as zonas. Isto permite facer edicións manuais nunha zona normalmente actualizada mediante actualización dinámica. Tamén fai que se sincronicen os cambios no ficheiro de diario no ficheiro mestre. Rexeitaranse todos os intentos de actualización dinámica mentres a zona está conxelada.

       descongelar [zona [clase [ver]]]
           Activa as actualizacións dunha zona dinámica conxelada. Se non se especifica ningunha zona, entón todas as zonas conxeladas están habilitadas. Isto fai que o servidor recargue a zona do disco e volva habilitar as actualizacións dinámicas despois de completar a carga. Despois de desconxelar unha zona, as actualizacións dinámicas deixarán de ser rexeitadas. Se a zona cambiou e a opción ixfr-from-difference está en uso, entón o ficheiro de diario actualizarase para reflectir os cambios na zona. Se non, se a zona cambiou, eliminarase o ficheiro de diario existente. ....

Que pensabas que ía transcribir todo o manual? ... unha peza e van en coche. O resto déixovolo a ti. 😉

Básicamente:

  • rndc conxelar [zona [clase [ver]]], suspende a actualización dinámica dunha zona. Se non se especifica un, todos conxelaranse. O comando permite a edición manual da zona conxelada ou de todas as zonas. Calquera actualización dinámica denegarase mentres está conxelada.
  • rndc desxeo [zona [clase [ver]]], habilita actualizacións dinámicas nunha zona previamente conxelada. O servidor DNS recarga o ficheiro de zona do disco e as actualizacións dinámicas volven habilitarse despois de completar a recarga.

Precaucións que debemos tomar cando editamos manualmente un ficheiro de zona? O mesmo que se o estiveramos creando, sen esquecer aumentar o número de serie en 1 ou serial antes de gardar o ficheiro cos últimos cambios.

exemplo:

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

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
Modifico o ficheiro de zona por calquera motivo, necesario ou non. Gardo os cambios

[root @ dns ~] # rndc desxeo de linux.fan
Comezouse a recargar e desconxelar a zona. Comprobe os rexistros para ver o resultado.

[root @ dns ~] # journalctl -f
29 de xaneiro 14:06:46 dns chamado [2257]: zona de desconxelación 'desdelinux.fan/IN': éxito
29 de xaneiro 14:06:46 dns chamado [2257]: zona de linux.fan/IN: zona serie (6) sen cambios. zona non pode transferirse a escravos.
29 de xaneiro 14:06:46 dns chamado [2257]: zone desdelinux.fan/IN: serie 6 cargada

O erro na saída anterior, que se amosa en vermello na consola, débese a que "esquecín" aumentar o número de serie en 1. Se seguise o procedemento correctamente, a saída sería:

[root @ dns ~] # journalctl -f
- Os rexistros comezan o domingo 2017/01/29 ás 08:31:32 EST. - 29 de xaneiro 14:06:46 dns chamado [2257]: zona desdelinux.fan/IN: serie cargada o 6 de xaneiro 29 14:10:01 dns systemd [1]: iniciou a sesión 43 do usuario root. 29 de xaneiro 14:10:01 dns systemd [1]: inicio da sesión 43 do usuario root. 29 de xaneiro 14:10:01 dns CROND [2693]: (root) CMD (/ usr / lib64 / sa / sa1 1 1) 29 de xaneiro 14:10:45 dns chamado [2257]: recibiu o comando da canle de control 'freeze from linux. fan '29 de xaneiro 14:10:45 dns chamado [2257]: zona de conxelación' desdelinux.fan/IN ': éxito 29 de xaneiro 14:10:58 dns chamado [2257]: recibiu o comando da canle de control' descongelar desdelinux.fan 'Jan 29 14:10:58 dns chamado [2257]: zona de desconxelación 'desdelinux.fan/IN': éxito 29 de xaneiro 14:10:58 dns chamado [2257]: zona desdelinux.fan/IN: o ficheiro do xornal está desfasado: eliminando o ficheiro do diario 29 de xaneiro 14:10:58 dns chamado [2257]: zona desdelinux.fan/IN: serie 7 cargada
  • Amigos lectores, repito que hai que ler atentamente as saídas dos comandos. Por algo os seus desenvolvedores dedicaron tanto traballo a programar cada comando, por moi sinxelo que sexa.

Resumo

Ata o de agora tratámonos da implementación do par DNS - DHCP, servizos importantes e cruciais para o bo desempeño da nosa rede de pemes, referíndonos á concesión de enderezos dinámicos a través de DHCP e á resolución de nomes de ordenadores e dominios a través de DNS.

Esperamos seriamente que desfrutase de todo o procedemento coma nós. Aínda que poida parecer máis difícil usar a consola, é moito máis doado e educativo implementar un servizo en UNIX® / Linux coa súa axuda.

Perdoan calquera mala interpretación de conceptos pensados, creados, escritos, revisados, reescritos e publicados na linguaxe de Shakespeare, non Cervantes. 😉

Próxima entrega

Creo que un pouco máis do mesmo, con adicións teóricas nos rexistros DNS, pero en Debian. Non podemos esquecer esa distribución, non?


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

15 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Cristian Merchan dixo

    Moitas grazas polo seu encomiable traballo na redacción de tan fructíferos artigos. Será de moita utilidade

  2.   federico dixo

    E moitas grazas, Cristian, por seguirme e pola túa valoración desta publicación. Éxitos!

  3.   Ismael Álvarez Wong dixo

    Despois de botar unha primeira ollada a esta nova publicación de Federico, volve notarse a gran profesionalidade que se ve ao longo da serie «PYMES»; ademais do gran detalle que ilustra o teu dominio en dous dos servizos máis importantes (DNS e DHCP) de calquera rede. Nesta ocasión e a diferenza dos meus comentarios anteriores, teño pendente un segundo comentario despois de levar á práctica o que afirmei nesta publicación.

  4.   crespo88 dixo

    Sen comentarios, pa 400 !!! Fico grazas porque sabes moi ben que lin as túas publicacións e non podemos pedir máis. Comeza cunha organización moi boa, desde como instalar e configurar o escritorio persoal dun usuario, a estación de traballo é a base, é a sensación de ser deses servizos de rede que explica moi ben. Estiveches subindo e, aínda que é certo que o nivel aumenta, é certo que escribiches e publicaches para os que son menos que os que están empezando, para os que levan tempo coma min e para os máis avanzados.
    Co paso do tempo cheguei á conclusión de que sei que moitos xa chegaron, a teoría, a que tanto nos custa adquirir polo simple feito de non querer ler, porque executar xa é moito máis doado cando sabemos o que facemos, por que ???, as preguntas, onde atopar e como saír do erro que dá tanta dor de cabeza cando nin sequera sabemos de onde veñen, paga a pena a redundancia.
    Por esta razón, non quero que deixes atrás eses elementos teóricos que incluirás sobre os rexistros DNS na próxima publicación como anunciaches, e moito menos cando se trata do querido e querido DEBIAN.
    MOITAS GRAZAS e agardamos.

  5.   cazador dixo

    Excelente coma sempre Fico! Agardo a versión de Debian, levo anos xogando a todo con esa distro.

  6.   federico dixo

    Wong: A túa opinión despois de ler vale moito. Agardo os teus comentarios cando probes o contido, porque sei que así che gusta facelo. 😉

  7.   federico dixo

    Crespo: Como sempre, os teus comentarios son moi ben recibidos. Vexo que captastes a liña xeral que plantexei na composición desta serie. Espero que, coma ti, moitos xa o notasen. Grazas polo teu comentario.

  8.   federico dixo

    Dhunter: É bo volver a lerte. Non terás que esperar moito. Ata o luns -ou antes- estará rematado para a súa publicación. Non penses que é doado para min cubrir tres distros diferentes, pero o Respectable Reader pídelle. Non só Debian e Ubuntu, senón os Tres Orientados ás pemes.

  9.   crespo88 dixo

    Se publicaches é porque podes, apoiámolo e sabemos que seguirás esa liña.
    Como cazador agardo a liberación de Debian cos dentes afiados. Estaría ben que tratase un pouco sobre NTP. Sl2 e unha forte aperta. Se os meus profesores me ensinaran todo así, HAHAJJA, Platinum Degree, HAHAJJA.

  10.   federico dixo

    O nivel de detalle nas saídas de comando é necesario para amosar a súa importancia. Din moito. É certo que poucos artigos abordan este nivel de detalle porque pensan que serían artigos longos e pesados ​​de ler. Ben, parte do traballo dun SysAdmin consiste en ler eses resultados pesados ​​e detallados, non só ante un problema, senón tamén fronte aos controis.

  11.   Ismael Álvarez Wong dixo

    Ola Federico, prometera antes escribir algúns comentarios despois de estudar detidamente a publicación en cuestión; Ben, aquí van o seguinte:
    - Gran técnica de en vez de xerar a clave TSIG para actualizacións dinámicas de DNS por DHCP, copiando a mesma clave rndc.key que dhcp.key, isto aparentemente "tan sinxelo" mostra que o obxectivo non é só a tecnicidade do HOWTO-INSTALL-DNS - & - DHCP pero ensinándonos a pensar, 5 ESTRELAS PARA O AUTOR.
    - Moi interesante no ficheiro de configuración de DNS, named.conf, a presenza da liña «allow-transfer {localhost; 192.168.10.1; }; » para probar o dominio «desdelinux.fan» só desde a estación de traballo SysAdmin e o localhost (o propio servidor DNS) e tamén inserir a clave TSIG para actualizar o DNS desde DHCP.
    - Moi ben a creación das zonas directas e inversas do DNS xunto coa explicación "detallada" dos seus tipos de rexistros, así como a execución do comando "# named-checkconf -zp" para comprobar toda a sintaxe do nomeado antes do seu restablecemento duro, así como exemplos de execución do comando "dig" para verificar diferentes tipos de rexistros DNS.
    . Na configuración DHCP (usando o ficheiro /etc/dhcp/dhcpd.conf):
    - Como engadir a nosa rede local co seu rango para asignar enderezos IP dinámicos, a definición do nome-servidor, etc; así como como dicir a DHCP que actualice os rexistros DNS mediante o uso das liñas "ddns- ..." na súa configuración.
    . Cando todo xa está operativo, 5 ESTRELAS PARA O AUTOR, na execución do comando "# dig desdelinux.fan axfr" para comprobar o TTL dos ordenadores da LAN que teñen IP estática dos que teñen asignada a IP dinámica.
    . Finalmente, XENIAL, a modificación manual dos ficheiros Zones conxelándoos primeiro con "# rndc freeze desdelinux.fan", logo realizando a modificación e finalmente desconxelándoos con "# rndc thaw desdelinux.fan"
    . E O MELLOR, TODO SE FIXO DENDE O TERMINAL.
    Segue así Fico.

    1.    Alegría dixo

      Ola,
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld in verwijderd wordt op mijn computer zelfs mijn foto's. Ver todo o meu control máis sobre o meu ordenador en móbil.
      Het zit m dus ook in het dns in dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. ¿Queres axudar? Dit is namelijk buiten mij om geinstalleerd. Walgelijk gedrag vind ik het.

  12.   federico dixo

    Wong: o teu comentario complementa o artigo. En serio, demostra que o estudaches a fondo. Se non, non podería comentar co nivel de detalle que fai. Só tes que engadir iso permitir-transferencia Úsase principalmente para cando temos un escravo DNS e permitimos a transferencia de zonas do mestre a el. Úsoo así porque é un mecanismo fácil de implementar para facer comprobacións non perigosas desde un único ordenador. Moitas grazas pola túa nota 5. Un saúdo! e seguirei agardándote nos meus próximos artigos.

  13.   IgnacioM dixo

    Ola Federico. Sei que cheguei un pouco tarde, pero gustaríame facerche unha pregunta.
    ¿Me axudará este procedemento se quero dirixir un dominio ao meu servidor vps?

    Cada 15 minutos recibo estas mensaxes do sistema:

    DHCPREQUEST en eth0 ata o porto 67 (xid = ...)
    DHCPACK de (xid = ...)
    obrigado a - renovación en 970 segundos.

    E polo que entendo, debería crear un rexistro A co meu dominio e a IP do meu servidor dedicado.

    * Felicito e grazas por este artigo, non sei se é o que buscaba pero pareceume moi interesante e ben explicado. Tamén recibín a recomendación de "DNS e BIND" de que xa estiven falando un chisco e parece moi interesante.

    Saúdos dende Arxentina!

    1.    antonio valdes sempre dixo

      póñase en contacto comigo valdestoujague@yandex.com