Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:207_domain_name_server:207.1

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:certificaciones:lpic:lpic-2:207_domain_name_server:207.1 [2021/04/16 16:46] – [Archivos de definición de zona preinstalados] tempwininformatica:certificaciones:lpic:lpic-2:207_domain_name_server:207.1 [2021/04/23 12:51] (actual) – [rndc] tempwin
Línea 9: Línea 9:
     * Defining the location of the BIND zone files in BIND configuration files     * Defining the location of the BIND zone files in BIND configuration files
     * Reloading modified configuration and zone files     * Reloading modified configuration and zone files
-    * Awareness of dnsmasq, djbdns and PowerDNS as alternate name servers+    * Awareness of ''dnsmasq''''djbdns'' and **PowerDNS** as alternate name servers.
   * The following is a partial list of the used **files**, **terms** and **utilities**:   * The following is a partial list of the used **files**, **terms** and **utilities**:
     * ''/etc/named.conf''     * ''/etc/named.conf''
Línea 27: Línea 27:
  
 //Domain Name System// (sistema de nombres de dominio) es un sistema que sirve para traducir los nombres de hosts a identificadores de red y viceversa. //Domain Name System// (sistema de nombres de dominio) es un sistema que sirve para traducir los nombres de hosts a identificadores de red y viceversa.
 +
 +En sus comienzos, mientras la cantidad de máquinas públicas en Internet era pequeña, todas las resoluciones se realizaban mediante un archivo llamado ''hosts'' que se descargaba a intervalos regulares para tener actualizadas las últimas novedades.
 +
 +El DNS se creó como solución a los límites del archivo ''hosts'' descargado y tenía que cumplir con ciertos requisitos de diseño:
 +
 +  * El DNS es **dinámico**: los registros están rápidamente disponibles para todos.
 +  * El DNS se **replica**.
 +  * El DNS está **jerarquizado**: los datos se clasifican en una estructura de árbol que permite su organización. Cada nivel de la jerarquía se llama **zona**.
 +  * El DNS es un sistema **distribuido**: cada zona se guarda en una "base de datos" y su conjunto compone la totalidad de registros DNS. Reparte la carga en miles de servidores.
 +  * El DNS es **seguro**.
  
 Es un modelo cliente-servidor. Es un modelo cliente-servidor.
Línea 40: Línea 50:
 {{ :informatica:certificaciones:lpic:lpic-2:207_domain_name_server:jerarquia-dns.png?nolink |}} {{ :informatica:certificaciones:lpic:lpic-2:207_domain_name_server:jerarquia-dns.png?nolink |}}
  
-La raíz de la jerarquía es la zona llamada "." y contiene todos los **tld** (//top level domain//).+La raíz de la jerarquía es la zona llamada "''.''(**punto**) y contiene todos los **tld** (//top level domain//como ''com'', ''es'', ''net'', ''fr''...
  
 Cada servidor DNS conoce algunos **tld** y si no tiene la información cuando se le consulta, pregunta al servidor del nivel superior hasta que alguno tiene la respuesta. Cada servidor DNS conoce algunos **tld** y si no tiene la información cuando se le consulta, pregunta al servidor del nivel superior hasta que alguno tiene la respuesta.
Línea 83: Línea 93:
  
   * Si el servidor al que se ha preguntado tiene localmente la información, responde directamente (resolución iterativa).   * Si el servidor al que se ha preguntado tiene localmente la información, responde directamente (resolución iterativa).
-  * Si por el contrario, no dispone de la información, consultará la única zona que conoce, la zona "." y se producirá el siguiente intercambio de información (resolución recursiva): +  * Si por el contrario, no dispone de la información, consultará la única zona que conoce, la zona "''.''(punto) y se producirá el siguiente intercambio de información (resolución recursiva):
-Funcionamiento de la resolución de nombres)+
  
 {{ :informatica:certificaciones:lpic:lpic-2:207_domain_name_server:dns-funcionamiento.png?nolink |}} {{ :informatica:certificaciones:lpic:lpic-2:207_domain_name_server:dns-funcionamiento.png?nolink |}}
Línea 92: Línea 101:
 </WRAP> </WRAP>
  
-==== Registros de recursos ====+  - El cliente pregunta al servidor al que hace referencia su configuración (proveedor de acceso o servidor local): ¿cuál es la dirección para el nombre www.abcd.es? 
 +  - El servidor local solicita a un servidor raíz: dame la dirección de un servidor que conozca la zona ''es''
 +  - Este, el servidor con dirección 193.176.144.6, podrá informarte. Tiene toda la información de la zona ''es''
 +  - El servidor local solicita al servidor de la zona es: dame la dirección de un servidor que conozca la zona ''abcd.es''
 +  - Este servidor, cuya dirección es 213.41.120.195, podrá informarte. 
 +  - El servidor local pregunta al servidor de la zona abcd.es: ¿tienes un registro www en tu dominio ''abcd.es''? 
 +  - Sí, su dirección IP: 62.193.202.6. 
 +  - El servidor local a la estación cliente: me has solicitado www.abcd.es y su dirección IP es 62.193.202.6. 
 +===== Registros de recursos ====
 + 
 +Las zonas solo tienen una función estructural, para proporcionar la resolución de nombres habrá que crear registros que harán corresponder un nombre a una dirección IP o a otro dato. 
  
 Los **Registros de Recursos** (//Resources Records//, **RR**), constituyen la información fundamental de un DNS. Se conocen comúnmente como **entradas** DNS. Los **Registros de Recursos** (//Resources Records//, **RR**), constituyen la información fundamental de un DNS. Se conocen comúnmente como **entradas** DNS.
Línea 102: Línea 121:
 | **CNAME** | (Canonical Name) Hace corresponder un nombre a un nombre (alias). | | **CNAME** | (Canonical Name) Hace corresponder un nombre a un nombre (alias). |
 | **MX**    | (Mail Exchanger) Hace que los agentes de transferencia de correos (MTAs) sepan cual es el servidor de entrega de correos para ese dominio. | | **MX**    | (Mail Exchanger) Hace que los agentes de transferencia de correos (MTAs) sepan cual es el servidor de entrega de correos para ese dominio. |
-| **NS**    | (Name Server) Indica los servidores de nombre de la zona |+| **NS**    | (Name Server) Indica los servidores de nombre de la zona. Toda zona en funcionamiento tiene por lo menos un registro NS. | 
 +| **SOA**   | (Start of Authority) Indica que el servidor tiene la responsabilidad de la zona. Toda zona en funcionamiento tiene un registro SOA. |
  
 Los registros **PTR** son útiles para comprobaciones. Por ejemplo, se utiliza en servidores de correos para saber si los mensajes que se envían entre servidores provienen de quienes dicen ser. Los registros **PTR** son útiles para comprobaciones. Por ejemplo, se utiliza en servidores de correos para saber si los mensajes que se envían entre servidores provienen de quienes dicen ser.
Línea 169: Línea 189:
 El fichero ''named.conf'' tiene varias partes: El fichero ''named.conf'' tiene varias partes:
  
-  * **options**: Es donde se definen las opciones principales del servidor. +  * ''include'': Indica el nombre de un «subarchivo» de configuración. Evita tener un archivo named.conf demasiado grande para administrarlo cómodamente. 
-    * **directory**: donde se almacena la caché del servidor +  ''options'': Es donde se definen las opciones principales del servidor. 
-    * **forwarders**: los servidores DNS externos que consulta (los de Google, por ejemplo). +    * ''directory'': donde se almacena la caché del servidor 
-    * **forward**: el modo de consultar dichos servidores DNS externos +    * ''forwarders'': los servidores DNS externos que consulta (los de Google, por ejemplo). 
-    * **version**: opcion que permite mostrar u ocultar la version del servidor. +    * ''version'': opcion que permite mostrar u ocultar la version del servidor. 
-  * **zone**: define una zona DNS gestionada por el servidor. +  * ''zone'': define una zona DNS gestionada por el servidor. 
-    * **type**: Indica el tipo de zona almacenada. Los valores principales son **hint** (servidores raíz), **master** (servidor maestro de una zona) y **slave** (réplica de un servidor master). +    * ''type'': Indica el tipo de zona almacenada. Los valores principales son **hint** (servidores raíz), **master** (servidor maestro de una zona) y **slave** (réplica de un servidor master). 
-    * **file**: Indica el fichero que contendrá la información de la zona.+    * ''file'': Indica el fichero que contendrá la información de la zona.
   * **Logging**: especifica el modo del que el servidor DNS enviará mensajes a los logs del sistema   * **Logging**: especifica el modo del que el servidor DNS enviará mensajes a los logs del sistema
  
Línea 184: Línea 204:
 funcionamiento estándar. funcionamiento estándar.
  
-Ejemplo de ''/etc/bind/named.conf.default-zones'':+Ejemplo de ''/etc/bind/named.conf.default-zones'' (Debian 10):
  
-<code bash>+<code> 
 +// prime the server with knowledge of the root servers 
 +// Servidores raíz de Internet
 zone "." { zone "." {
-    type hint; +        type hint; 
-    # Servidores raíz de Internet +        file "/usr/share/dns/root.hints";
-    file "/etc/bind/db.root";+
 }; };
 +
 +// be authoritative for the localhost forward and reverse zones, and for
 +// broadcast zones as per RFC 1912
  
 zone "localhost" { zone "localhost" {
-    type master; +        type master; 
-    # Fichero de zona que la contiene +        file "/etc/bind/db.local";
-    file "/etc/bind/db.local";+
 }; };
  
-Zonas de resolución inversa (PTR):+// Zonas de resolución inversa (PTR)
 zone "127.in-addr.arpa" { zone "127.in-addr.arpa" {
-    type master; +        type master; 
-    # Fichero de zona que la contiene +        file "/etc/bind/db.127";
-    file "/etc/bind/db.127";+
 }; };
  
 zone "0.in-addr.arpa" { zone "0.in-addr.arpa" {
-    type master; +        type master; 
-    file "/etc/bind/db.0";+        file "/etc/bind/db.0";
 }; };
  
 zone "255.in-addr.arpa" { zone "255.in-addr.arpa" {
-    type master; +        type master; 
-    file "/etc/bind/db.255";+        file "/etc/bind/db.255";
 }; };
- 
 </code> </code>
  
Línea 229: Línea 250:
 # db.local # db.local
 $TTL    IN    SOA    localhost. root.localhost. ( $TTL    IN    SOA    localhost. root.localhost. (
-@                             ; Serial +@                             ; Serial (podemos poner lo que queramos, es para identificar al servidor DNS) 
-                       604800   ; Refresh+                       604800   ; Refresh 
                         86400   ; Retry                         86400   ; Retry
                       2419200   ; Expire                       2419200   ; Expire
Línea 249: Línea 270:
   * Proporciona la resolución de nombre, pero no contiene ningún dato de resolución local.   * Proporciona la resolución de nombre, pero no contiene ningún dato de resolución local.
   * Se limita a reenviar las peticiones a otros servidores.   * Se limita a reenviar las peticiones a otros servidores.
-  * Un servidor BIND recién instalado, funciona como un servidor caché por defecto. + 
-  * Solo debemos indicarle la dirección de otros servidores a los que redirigir las peticiones en el fichero ''named.conf'': +==== Configuración ==== 
 + 
 +Un servidor BIND recién instalado, funciona como un servidor caché por defecto. Cuando tiene que resolver una IP, se dirigirá a los únicos servidores que conoce: servidores raíz. 
 + 
 +==== Redirección ==== 
 + 
 +Un servidor de caché no alberga de forma local registros de recursos. Si tiene que hacer una resolución, se dirigirá a los únicos servidores que conoce, que son los servidores raíz.  
 + 
 +Este método de resolución obviamente no es el más rápido y se podría desear aprovechar la caché de servidores ya en funcionamiento, como los de un servicio de hospedaje o de un ISP. Para ello, hay que indicar a nuestro servidor la dirección de otros servidores a los que podrá redirigir sus peticiones. Este tipo de redirección se llama incondicional, ya que se redirigen todas las resoluciones no pesadas. 
 + 
 +Debemos indicarle la dirección de otros servidores a los que redirigir las peticiones en el fichero ''named.conf'': 
  
 <code> <code>
Línea 265: Línea 296:
  
 //remote name daemon control//: comando de control que permite transmitir al servidor una gran variedad de instrucciones. //remote name daemon control//: comando de control que permite transmitir al servidor una gran variedad de instrucciones.
 +
 +No es obligatorio usar ''rndc'' en la administración del día a día. Pero entonces cualquier modificación realizada en el archivo de configuración requerirá el reinicio completo del servicio y, por tanto, su interrumpción temporal. De este modo, ''rndc'' debería usarse sistemáticamente, sobre todo si el servidor gestiona una gran cantidad de zonas, como el caso de un alojamiento web, por ejemplo.
  
 Sintaxis: Sintaxis:
Línea 303: Línea 336:
   * PowerDNS   * PowerDNS
  
 +===== Cliente DNS Linux =====
 +
 +Las máquinas Linux disponen de forma nativa de un cliente DNS llamado **resolver**. Toda aplicación que esté funcionando en Linux y necesite realizar una petición DNS utilizará este componente.
 +
 +Este componente usa el archivo de configuración ''/etc/resolv.conf'', que tiene una estructura muy sencilla:
 +
 +<code>
 +search dominio
 +domain dominio
 +nameserver A.B.C.D
 +</code>
  
 +  * ''search'': (Opcional) indica el sufijo de búsqueda que hay que emplear en la máquina Linux. Evita tener que escribir la totalidad del FQDN en las aplicaciones. El archivo ''/etc/resolv.conf '' admite varios dominios de búsqueda especificados con ''search''
 +  * ''domain'': Opcional y obsoleto: expresa el sufijo de búsqueda empleado en la máquina Linux.
 +  * ''dominio'': El FQDN del dominio que forma el sufijo de búsqueda.
 +  * ''nameserver'': Indica la dirección IP del servidor DNS que proporcionará las resoluciones. El archivo ''/etc/resolv.conf'' admite varios servidores DNS especificados por nameserver.
informatica/certificaciones/lpic/lpic-2/207_domain_name_server/207.1.1618584394.txt.gz · Última modificación: por tempwin