GNU/Linux >> Tutoriales Linux >  >> Linux

Todo lo que necesita saber sobre los servidores DNS de Ubuntu

DNS o Sistema de nombres de dominio es una de las partes más integrales de Internet. Cualquiera que use Internet usa el servicio DNS todos los días. Sin embargo, también se pasa por alto masivamente en comparación con otros frenesíes de Internet. En resumen, el servicio DNS convierte las URL en direcciones IP. Como ya debería saber, una dirección IP es un número único que identifica todo lo que está conectado a una red. Si desea seguir una carrera en la administración de Linux, debe tener una sólida comprensión de cómo funciona el DNS. Esta guía brinda una descripción general de los conceptos básicos de DNS y ejemplos prácticos de un servidor DNS de Ubuntu.

Inmersión profunda en el sistema de nombres de dominio (DNS)

Dado que el DNS consta de varios servicios e interacciones complejas entre ellos, los usuarios deben familiarizarse con la terminología central para comprender lo que sucede detrás de escena. Es por eso que hemos dividido toda la guía en varias secciones. El primero ofrece una breve introducción a términos y conceptos, mientras que otros tratan sobre flujos de trabajo y configuraciones.

Descripción general de los términos y conceptos básicos de DNS

Cuando trabaje con DNS, se enfrentará a varios términos y terminologías, como Hosts, Zones, TLD y Resolvers. La siguiente sección proporciona una introducción concisa a algunos de estos conceptos.

DNS

DNS o Sistema de Nombres de Dominio es el mecanismo que interpreta un Nombre de Dominio Totalmente Calificado (FQDN) a una dirección IP específica. Esta es la dirección que utilizan nuestros sistemas para enviar y recuperar recursos web. El DNS consta de varios sistemas y realiza comunicaciones multidireccionales para recuperar la dirección IP asociada con una URL.

Nombre de dominio

Los nombres de dominio son direcciones legibles por humanos asociadas con recursos web. Eliminan la ambigüedad de recordar una gran cantidad de direcciones IP. Por ejemplo, google.com es el nombre de dominio del motor de búsqueda de Google. Cuando ingresa esto en la barra de direcciones de su navegador, utiliza el sistema DNS para encontrar la dirección IP real.

Dirección IP

Una dirección IP es un número único asignado a todos los dispositivos que están conectados a Internet en un punto determinado. Las direcciones IP tienen varias clases y dos versiones principales. La mayoría de la gente usa la versión 4 de IP a partir de ahora. Las direcciones IPv4 se componen de cuatro octetos, cada uno separado por un punto “.” símbolo.

TLD

TLD s o Dominios de nivel superior se encuentra en el nivel más alto en la jerarquía de nombres de dominio. Estas son las partes más generales de un nombre de dominio y se encuentran en la posición más alejada a la derecha. Por ejemplo, el "com ” parte es el TLD de la URL www.example.com . Algunos dominios populares de nivel superior incluyen "com", "org", "gov", "net" y "edu".

Anfitriones

Los propietarios de un dominio pueden definir varios hosts diferentes dentro de ese dominio. Estos se pueden usar para acceder a servicios o computadoras separados. Se puede acceder a la mayoría de los servidores web a través del dominio simple como ejemplo.com o mediante la declaración de host como www.ejemplo.com. La porción "www" es el host aquí. Otro uso común de un host es proporcionar acceso API como api.example.com.

Subdominio

- -

Los subdominios son simplemente un subconjunto de un dominio. Esto permite que los propietarios de sitios tengan múltiples subdominios bajo un dominio principal. Por ejemplo, un dominio llamado university.edu puede tener varios subdominios para cada uno de sus departamentos, como www.cs.university.edu o www.phy.university.edu. La diferencia entre hosts y subdominios es que el primero especifica diferentes equipos o servicios, mientras que el segundo divide el dominio principal en diferentes grupos.

Nombre de dominio completamente calificado

Un Nombre de dominio completamente calificado o FQDN es el dominio absoluto de un sitio web. Representa la raíz del dominio en cuestión. Un dominio generalmente contiene varias subrutas o rutas, como www.example.com/new/example. Aquí, la sección www.example.com es el FQDN. Además, el FQDN siempre termina con un punto “.” símbolo como “www.example.com.”. Sin embargo, los usuarios no están obligados a ingresar este punto final ya que el programa cliente se encarga de ello.

Servidor de nombres

En DNS, un servidor de nombres es un sistema informático al que se le ha asignado la tarea de traducir los nombres de dominio a direcciones IP direccionables. Hacen la mayor parte del trabajo real dentro de una infraestructura DNS de ubuntu. Como los servidores de nombres tienen que gestionar miles de solicitudes por segundo, a menudo redirigen solicitudes adicionales a nuevos servidores. Además, los servidores de nombres también pueden funcionar como servidores autorizados. En este escenario, responden consultas que están bajo su control y, de lo contrario, entregan respuestas almacenadas en caché de otros servidores.

Archivos de zona

Los archivos de zona son archivos de texto reales que almacenan las relaciones entre los nombres de dominio y las direcciones IP asociadas. Un sistema DNS recupera la información IP de un FQDN de este documento. Se almacenan en el servidor de nombres y especifica qué recursos son accesibles para un dominio en particular. Si la información no está disponible para el archivo de zona, apuntan a la ubicación que tiene esos datos.

Servidor raíz

Como ya se discutió, el DNS es un sistema jerárquico que consta de componentes de varios niveles. El servidor raíz se encuentra en la parte superior de esta jerarquía. Estos son servidores extremadamente poderosos mantenidos por múltiples organizaciones y están controlados por la ICANN (Corporación de Internet para la Asignación de Nombres y Números) . Actualmente, hay 13 servidores raíz primarios en todo el mundo y cada uno de ellos está reflejado para aumentar la disponibilidad.

Cuando alguien solicita un servidor raíz, la solicitud se reenvía al espejo más cercano. Los servidores raíz manejan consultas sobre dominios de nivel superior. Cada vez que hay algo que un servidor de nombres de nivel inferior no puede resolver, se le presenta esa pregunta al servidor raíz. Sin embargo, los servidores raíz en realidad no tienen información de IP. En su lugar, apuntan a los servidores de nombres que administran ese TLD específico.

Servidor TLD

Los servidores TLD se ubican debajo de los servidores raíz en la jerarquía de DNS. Los servidores raíz dirigen las entidades de solicitud de DNS hacia el servidor TLD de esa solicitud. El servidor TLD luego redirige a la entidad solicitante al servidor de nombres, que tiene la información de IP específica para el dominio en cuestión.

Servidores de nombres a nivel de dominio

Los servidores TLD redirigen la entidad solicitante al servidor de nombres a nivel de dominio. Este es el servidor cuyo archivo de zona contiene las asignaciones de IP para el dominio. Entonces, este es el servidor de nombres que tiene la dirección IP específica para el nombre de dominio solicitado.

Resolutor

Un resolutor es la entidad de solicitud responsable de recuperar la información de IP de un dominio del DNS. Por lo general, se configura dentro del sistema cliente como en el navegador o a través de una configuración de DNS de ubuntu personalizada. La mayoría de las personas usan el sistema de resolución de DNS proporcionado por sus ISP. Un resolutor es básicamente una abstracción que permite al usuario final ignorar lo que sucede debajo del capó. Puede funcionar de forma recursiva hasta que recupera la dirección IP de un dominio determinado.

Registros

Ya hemos discutido que el servidor de nombres almacena asignaciones de dominio a IP en el archivo de zona. La información en los archivos de zona se guarda como registros. Hay muchos tipos de registros en un archivo de zona. Estamos hablando de algunos de los más importantes aquí.

Registros SOA

SOA significa Comienzo de Autoridad y es un registro obligatorio para todos los archivos de zona. El primer registro real en un archivo de zona debe ser del tipo SOA. Puede pasar algún tiempo antes de que comprenda completamente los registros SOA. Hasta entonces, recuerda las siguientes conclusiones. En primer lugar, un registro SOA se parece al siguiente fragmento.

example.com. IN SOA ns1.example.com. admin.example.com. (
12083        ; serial number 
3h           ; refresh interval 
30m          ; retry interval 
3w           ; expiry period 
1h           ; negative TTL )

Las partes esenciales son las siguientes.

  • ejemplo.com – Esta es la raíz de la zona y especifica que el archivo es para “example.com”. dominio.
  • EN SOA – “IN” significa Internet y SOA representa el hecho de que se trata de un registro SOA.
  • ns1.ejemplo.com. – Es el servidor de nombres principal para “example.com”. dominio. Además, si configuró un DNS dinámico de ubuntu, su servidor de nombres principal va aquí.
  • admin.ejemplo.com. – Es la dirección de correo electrónico del administrador responsable de esta zona en particular. El símbolo “@” se sustituye por un punto “.” símbolo para la dirección de correo electrónico.
  • 12083 – Este es el número de serie para esta zona, y debe incrementar este número de serie cada vez que actualice el archivo de zona. Así es como los servidores secundarios determinan que se ha producido un cambio en esta zona.
  • 3h – El intervalo de actualización para la zona especifica cuánto tiempo deben esperar los servidores secundarios antes de buscar cambios en el archivo de zona del servidor principal.
  • 30m – El intervalo de reintento de una zona especifica cuánto tiempo deben esperar los servidores secundarios antes de volver a intentar sondear el servidor principal.
  • 3w – Es el período de caducidad y define cuánto tiempo más los servidores secundarios deben intentar establecer una comunicación exitosa. Si no se puede establecer una conexión dentro de este período de tiempo, los servidores secundarios dejarán de responder como autorizados para esta zona.
  • 1 hora – Si el servidor de nombres no puede encontrar el nombre solicitado en este archivo de zona, almacenará en caché un error de nombre durante este período de tiempo.

Récords A y AAAA

Los registros A y AAAA asignan un host a una dirección IP real. El registro "A" asigna un host a una dirección IPv4 en funcionamiento, y los registros "AAAA" asignan hosts a direcciones IPv6. A continuación se muestra el formato general para estos tipos de registros.

hostname   IN  A     IPv4Address
hostname   IN  AAAA  IPv6Address

A continuación se muestra un ejemplo apropiado que usa el servidor de nombres ns1 definido en el registro SOA.

ns1.example.com.  IN  A  111.112.221.222

El siguiente registro "A" define el servidor web como "www".

www  IN  A  111.112.211.212

Registros CNAME

Los registros CNAME representan un alias para el servidor de nombres definido por un registro A o AAAA. Por ejemplo, el siguiente fragmento declara un host llamado "servidor" usando un registro A y luego crea un alias "www" para ese host.

server IN  A      111.111.111.111
www    IN  CNAME  server

Sin embargo, la creación de alias puede provocar una disminución del rendimiento, ya que requieren una consulta adicional al servidor. Los registros CNAME generalmente se usan para dar un nombre canónico a un recurso externo.

Récords MX

Los registros MX se utilizan para especificar intercambios de correo para un nombre de dominio y ayudan a recibir comunicaciones por correo electrónico que llegan a su servidor de correo Linux. A diferencia de la mayoría de los tipos de registro, no asignan hosts a direcciones IP porque se aplican a toda la zona. A continuación se muestra un ejemplo simple de un registro MX.

IN  MX  10  mail.example.com.

Observe que no hay ningún host definido en este registro y también tiene un nuevo número "10". Esto se utiliza para indicar preferencia. Si hay varios registros MX, los correos electrónicos se dirigirán al servidor que tenga el número de preferencia más bajo.

Registros NS

Los registros NS especifican los servidores de nombres que se utilizan para una zona. Aunque puede parecer irrelevante ya que el archivo de zona ya existe en el servidor de nombres, se usa por algunas razones. Como suele suceder, el archivo de zona servido por un servidor DNS en realidad podría ser una copia en caché de un servidor diferente.

IN  NS  ns1.example.com.
IN  NS  ns2.example.com.

Al igual que los registros MX, los registros NS también se definen para una zona completa y no requieren nombres de host. Además, muchos DNS de ubuntu sirven para considerar que los archivos de zona no son válidos si no contienen varios registros ns. Por lo tanto, la mayoría de los archivos de zona definen más de un servidor de nombres.

Registros PTR

Los registros PTR especifican un nombre asociado con una dirección IP de trabajo y son simplemente un inverso del registro A o AAAA. Deben comenzar en la raíz .arpa y se encargan al propietario de la IP. La delegación de direcciones IP a organizaciones y proveedores de servicios está a cargo de los Registros Regionales de Internet (RIR) .

222.111.222.111.in-addr.arpa.  33692  IN  PTR  host.example.com.

El fragmento anterior proporciona un ejemplo básico de un registro PTR. Asigna la IP 222.111.222.111 a “host.example.com”.

Registros CAA

Los registros CAA definen qué Autoridades de certificación (CA) tienen permitido emitir certificados SSL/TLS para un nombre de dominio en particular. Si no hay ningún registro CAA definido para un dominio, cualquier CA puede emitir un certificado. Sin embargo, si una CA se define explícitamente, solo esa autoridad específica puede emitir el certificado.

example.com.  IN  CAA  0  issue  "letsencrypt.org"

Un registro CAA se parece al fragmento anterior. Los campos host, IN y CAA son específicos de DNS, mientras que las marcas (0), las etiquetas (problema) y los valores ("letsencrypt.org") son específicos de CAA. La CA ignorará el registro si el indicador se establece en "0", pero debe abstenerse de emitir un certificado si se establece en "1".

¿Cómo funciona realmente el DNS?

Ahora que hemos aprendido todos los términos principales y los conceptos asociados, podemos descubrir cómo funciona una solicitud de DNS real. Ofreceremos una ilustración simple del mundo real y analizaremos la ruta de la consulta cuidadosamente.

Digamos que estamos tratando de establecer una conexión desde mi dispositivo portátil con Ubuntu al sitio web "www.example.com. “. Abro un navegador de Internet, escribo la URL en la barra de direcciones y presiono enter. En un primer momento, el cliente o mi navegador, en este caso, comprobará si la IP de “www.example.com.” ya existe en su caché. Si lo encuentra, omitirá todos los pasos posteriores.

Cuando el cliente no puede encontrar la IP en el caché del navegador, reenvía la solicitud al resolutor o al servidor de nombres del ISP en mi caso. El resolutor intenta ver si otros usuarios han visitado recientemente este sitio web y, de ser así, localiza la IP desde su caché. De lo contrario, el resolutor reenvía la solicitud a uno de los servidores de nombres raíz.

El servidor raíz devuelve la dirección del servidor de nombres TLD para ese dominio, que es un ".com ” servidor de nombres en este ejemplo. Ahora, el resolutor envía una solicitud al servidor TLD para ver si tiene el resultado esperado. Sin embargo, el servidor TLD tampoco tiene la información, pero sabe qué servidor de nombres sí. Devuelve la dirección de ese servidor de nombres que tiene las asignaciones de dominio a IP para nuestra URL.

Una vez que el resolutor le pregunta al servidor de nombres por nuestro dominio, devuelve la IP apropiada. El resolutor simplemente envía la dirección IP real al programa cliente, que ahora puede establecer la comunicación necesaria.

Como puede ver, la ruta de una solicitud DNS total de ubuntu se compone de muchas consultas recursivas e iterativas. Además, se agregan varias capas de cachés a este mecanismo para simplificar y acelerar las cosas. Es por eso que la mayoría de las veces, su navegador no necesita esperar a que se realice una consulta DNS completa. Por ejemplo, si va a un sitio web popular como YouTube, lo más probable es que el caché de su ISP ya tenga la IP de ese dominio.

Además, las configuraciones de DNS de Ubuntu pueden variar en gran medida según la aplicación y la función del servidor. Cuando se configura como un servidor de nombres de almacenamiento en caché, el servidor DNS localizará la respuesta a las consultas del cliente y recordará la respuesta para futuras consultas. Si configura su DNS para que sea un servidor principal, leerá los datos de una zona del archivo de zona y tendrá autoridad solo para esa zona. Cuando se configura como un servidor secundario, obtendrá los datos del archivo de zona de otro servidor de nombres.

Instalación y configuración de un servidor DNS de Ubuntu

Ahora que hemos discutido cómo funciona el DNS y la mayoría de los conceptos clave, podemos comenzar a crear nuestro propio servidor DNS. Para esta parte del tutorial, usaremos el BIND (Berkley Internet Naming Daemon) programa, que es la implementación de DNS más popular y proporciona un rendimiento extremadamente sólido incluso bajo una carga pesada.

Use el siguiente comando simple para instalar BIND en su máquina Ubuntu. También recomendamos a los usuarios que descarguen dnsutils , un paquete robusto para probar y solucionar problemas con su servidor DNS.

$ sudo apt install bind9
$ sudo apt install dnsutils

Los archivos de configuración para BIND se encuentran en /etc/bind directorio de su sistema de archivos Linux. Los principales datos de configuración se guardan en /etc/bind/named.conf expediente. Las /etc/bind/named.conf.options El archivo se utiliza para configurar las opciones globales, el /etc/bind/named.conf.local para configurar las zonas y /etc/bind/named.conf.default-zones archivo para la gestión de las zonas por defecto.

Anteriormente, Ubuntu usaba /etc/bind/db.root archivo para describir los servidores de nombres raíz. Ahora, usa el archivo /usr/share/dns/root.hints en cambio. Por lo tanto, se hace referencia a este archivo dentro de /etc/bind/named.conf.default-zones archivo.

Además, es totalmente posible configurar el mismo servidor DNS de ubuntu para que sea un servidor primario, secundario y de almacenamiento en caché. Los roles cambian según las zonas a las que presta servicio el servidor. Por ejemplo, puede configurar su servidor para que sea el Start of Authority (SOA) para una zona sin dejar de ofrecer servicios secundarios a una zona diferente. Mientras tanto, puede ofrecer servicios de almacenamiento en caché para hosts que se encuentran en su LAN local.

Servidor principal

En esta sección, mostraremos cómo crear configuraciones de DNS de Ubuntu para un servidor de nombres principal. Este servidor manejará consultas para el FQDN "example.com “. Simplemente reemplace este nombre de dominio con su propia URL para implementar las mismas configuraciones.

Primero, necesitaremos configurar el archivo de zona de reenvío. Abra el /etc/bind/named.conf.local archivo utilizando su editor de texto favorito de Linux y agregue los siguientes fragmentos.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};

Puede configurar su servidor BIND DNS para obtener actualizaciones automáticas siempre que cambie los archivos de configuración. Para hacer esto, use el archivo /var/lib/bind/db.example.com tanto en el fragmento anterior como en el siguiente comando.

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

El comando anterior copia un archivo de zona ya existente que usaremos como plantilla para nuestros próximos pasos. Ahora, editaremos nuestro archivo de zona (/etc/bind/db.example.com ) y realice algunos cambios necesarios.

$ sudo nano /etc/bind/db.example.com

En primer lugar, reemplazamos "localhost". al FQDN de nuestro servidor, que es “example.com.”. No olvide agregar el final "." en el FQDN. Ahora, cambie "127.0.0.1" a la IP real de su servidor de nombres y "root.localhost". a una dirección de correo electrónico activa. Recuerda usar un “.” en lugar del símbolo “@” en su dirección de correo. También recomendamos agregar un comentario que documente el FQDN para este archivo de zona. Nuestro archivo ahora tiene el siguiente aspecto.

;
; BIND data file for example.com
;
$TTL 604800
@  IN SOA example.com. root.example.com. (
2         ; Serial
604800    ; Refresh
86400     ; Retry
2419200   ; Expire
604800 )  ; Negative Cache TTL

------------------------------------------------------------------
------------------------------------------------------------------

Solo hemos modificado el registro SOA hasta ahora. Es hora de realizar cambios en el registro NS, así como en los registros A de nuestro archivo de zona. Cambie el "host local". parte del registro NS para que coincida con su servidor de nombres, que es "ns.example.com". para nuestro FQDN de demostración. Reemplace la parte "127.0.0.1" del primer registro A con la IP de su servidor de nombres. Hemos utilizado “192.168.1.10”. Finalmente, cree un registro A para nuestro servidor de nombres "ns.example.com" agregando la última línea en el fragmento a continuación.

;
; BIND data file for example.com
;
$TTL       604800
@          IN    SOA   example.com. root.example.com. (
                       3           ; Serial
                       604800      ; Refresh
                       86400       ; Retry
                       2419200     ; Expire
                       604800 )    ; Negative Cache TTL

@         IN    NS     ns.example.com.
@         IN    A      192.168.1.10
@         IN    AAAA   ::1
ns        IN    A      192.168.1.10

Así es como se verá la configuración final para la zona de reenvío de nuestro servidor principal.

Recuerde incrementar el número de serie, de lo contrario BIND no notará los cambios en sus configuraciones. Cuando agrega múltiples oportunidades, no necesita cambiar la serie cada vez. Si desea agregar registros DNS de ubuntu adicionales, simplemente agréguelos debajo de las opciones anteriores. Una vez que todo esté configurado, reinicie BIND usando el siguiente comando.

$ sudo systemctl restart bind9.service

Ahora que nuestro archivo de zona directa está configurado correctamente, modifiquemos el archivo de zona inversa. Esto permite que el servidor DNS de Ubuntu resuelva una IP en un FQDN. Simplemente edite el /etc/bind/named.conf.local archivo y agregue los fragmentos a continuación.

$ sudo nano /etc/bind/named.conf.local
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

Deberá reemplazar "1.168.192" con los primeros tres octetos de su propia red. Además, el archivo de zona debe tener el nombre correspondiente. Reemplace el “192” parte del archivo de zona “/etc/bind/db.192” para que coincida con el primer octeto de su red. Entonces, por ejemplo, si está en la red 10.1.1.1/24; su archivo de zona será “/etc/bind/db.10 ” y la entrada “1.168.192.in-addr.arpa ” será “10.1.1.in-addr.arpa “.

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

Hemos creado el /etc/bind/db.192 archivo copiando un archivo de plantilla existente. Ahora, editemos este archivo y hagamos las mismas modificaciones hechas en /etc/bind/db.example.com archivo.

$ sudo nano /etc/bind/db.192
;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL    604800
@       IN   SOA  ns.example.com. root.example.com. (
                  2               ; Serial
                  604800          ; Refresh
                  86400           ; Retry
                  2419200         ; Expire
                  604800 )        ; Negative Cache TTL
;
@      IN   NS    ns.
10     IN   PTR   ns.example.com.

Recuerde incrementar el número de serie en cada cambio sucesivo al archivo de zona inversa. Además, por cada registro A configurado en /etc/bind/db.example.com , siempre debe agregar un registro PTR en el archivo /etc/bind/db.192 .

Una vez hecho todo esto, simplemente reinicie el servicio BIND.

$ sudo systemctl restart bind9.service

Servidor secundario

Como ya hemos dicho, crear servidores secundarios es una excelente idea por varias razones, una de ellas es la mayor disponibilidad. Esto hará que sus servidores DNS de Ubuntu sean más resistentes y ayudará a atender a más clientes. Por lo tanto, consulte la siguiente sección si desea crear un servidor de nombres secundario.

Primero, debe permitir la transferencia de zona en su servidor principal. Simplemente edite las configuraciones de la zona de avance y retroceso y agregue el "permitir transferencia ” opción a las zonas.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer { 192.168.1.11; };
};

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

Ahora simplemente sustituya "192.168.1.11 ” con la dirección IP de su servidor secundario.

Luego reinicie BIND en su servidor principal emitiendo el siguiente comando.

$ sudo systemctl restart bind9.service

Ahora necesita instalar BIND en el servidor secundario. Luego procede a editar el /etc/bind/named.conf.local archivo y agregue lo siguiente para las zonas de avance y retroceso.

zone "example.com" {
type slave;
file "db.example.com";
masters { 192.168.1.10; };
}; 

zone "1.168.192.in-addr.arpa" {
type slave;
file "db.192";
masters { 192.168.1.10; };
};

Simplemente reemplace "192.168.1.10 ” con la IP de su servidor de nombres principal. Reinicia BIND una vez más y listo.

$ sudo systemctl restart bind9.service

Tenga en cuenta que una zona DNS de Ubuntu solo se puede transferir cuando el número de serie del servidor principal es mayor que el del servidor secundario. Sin embargo, puede eludir esto agregando la opción “también-notificar { ipaddress; }; ” al /etc/bind/named.conf.local archivo en su servidor principal. Después de esto, el archivo debería tener el siguiente aspecto.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; }; 
};

zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; }; 
};

Servidor de almacenamiento en caché

No necesita hacer mucho para crear un servidor de nombres de almacenamiento en caché, ya que las configuraciones predeterminadas ya actúan como un servidor de almacenamiento en caché. Simplemente edite /etc/bind/named.conf.options archivar y descomentar la sección de reenviadores. Ingrese la IP del servidor DNS de su ISP, como se muestra a continuación.

$ sudo nano /etc/bind/named.conf.options
forwarders {
1.2.3.4;
5.6.7.8;
};

No olvide reemplazar las direcciones IP en consecuencia con los servidores de nombres reales.

Ahora abra su emulador de terminal de Linux favorito y emita el siguiente comando para reiniciar BIND.

$ sudo systemctl restart bind9.service

Prueba y solución de problemas de configuraciones DNS de Ubuntu

Una vez que haya terminado de configurar sus servidores de nombres DNS, querrá verificar si están funcionando según lo previsto o no. El primer paso para hacerlo es agregar la IP de los servidores de nombres al resolutor de una máquina host. La forma más sencilla de hacerlo es editar el archivo /etc/resolv.conf y asegurarse de que la línea del servidor de nombres apunte a 127.0.0.53 . Luego agregue un parámetro de búsqueda para su FQDN, como se ilustra a continuación.

$ sudo nano /etc/resolv.conf
nameserver 127.0.0.53
search example.com

Puede encontrar fácilmente el servidor DNS utilizado por la resolución de su máquina local mediante el siguiente comando.

$ systemd-resolve --status

Tenga en cuenta que es posible que desee agregar también la IP del servidor secundario a la configuración de su cliente. Esto proporcionará una mejor disponibilidad y hará uso de ese servidor de nombres secundario que acaba de crear.

Otra forma útil de verificar las configuraciones de DNS es usar el comando dig de Linx. Simplemente use dig contra la interfaz loopback y vea si está escuchando en el puerto 53 o no.

$ dig -x 127.0.0.1

El siguiente comando utiliza el comando grep de Linux para filtrar la información relevante.

$ dig -x 127.0.0.1 | grep -i "53"

Si configuró BIND para que sea un servidor de almacenamiento en caché, use dig para verificar un dominio externo y tome nota del tiempo de consulta.

$ dig ubuntu.com

Ejecute el comando una vez más y verifique si el tiempo de consulta ha disminuido o no. Debería reducirse significativamente si el almacenamiento en caché es exitoso.

También puede usar el comando ping de Linux para ver cómo los clientes usan el DNS de ubuntu para resolver nombres de host en direcciones IP.

$ ping example.com

Pensamientos finales

Una sólida comprensión del sistema DNS es crucial si desea obtener un trabajo de CS bien remunerado como administrador de sistemas o redes. El propósito de esta guía es ayudar a los principiantes a dominar los principios detrás del DNS lo más rápido posible. Además, nuestros editores también han proporcionado una ilustración funcional de varias configuraciones de DNS de Ubuntu para ayudarlo en su proceso de aprendizaje. Al final de este tutorial, debe obtener un conocimiento riguroso de los conceptos básicos de DNS, así como experiencia práctica. Con suerte, pudimos proporcionarle las ideas esenciales. No olvides dejarnos un comentario si tienes más preguntas o sugerencias.


Linux
  1. Todo lo que querías saber sobre Zorin OS 12

  2. Todo lo que necesita saber sobre Ubuntu 13.04

  3. Todo lo que necesita saber sobre CentOS Stream

  4. Ubuntu vs Lubuntu:Todo lo que necesitas saber

  5. ¿Qué es una VPN? Todo lo que necesita saber sobre las VPN

Todo lo que necesita saber sobre el sistema operativo Peppermint Linux

Todo lo que necesita saber sobre Black Lab Linux

Todo lo que necesita saber sobre la distribución Linux Mint

Todo lo que necesita saber sobre los inodos en Linux

Todo lo importante que necesita saber sobre Hard Link en Linux

Todo lo importante que necesita saber sobre UID en Linux