GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar el servidor DNS (Bind 9) en Ubuntu / Debian

DNS o Sistema de nombres de dominio , como sabemos, es un servicio de Internet que se utiliza para traducir el dominio fácil de usar en direcciones IP fáciles de usar. No solo podemos traducir nombres de dominio a direcciones IP, también podemos realizar una traducción inversa, es decir, de direcciones IP a traducciones de nombres de dominio. En este tutorial, aprenderemos a configurar un servidor DNS privado implementando BIND9 en el sistema Ubuntu/Debian.

BIND o BIND 9 es una implementación de código abierto de DNS, disponible para casi todas las distribuciones de Linux. BIND significa Berkeley Internet Name Domain Y nos permite publicar información de DNS en Internet y también nos permite resolver consultas de DNS para los usuarios. BIND es, con mucho, el software de DNS más utilizado en Internet. En este tutorial usaré lo siguiente:

  • IP del servidor de enlace (Ubuntu/Debian) =192.168.0.40
  • Nombre de dominio =linuxtechi.local
  • Red privada =192.168.0.0/24

Así que comencemos el tutorial con la instalación de paquetes para BIND 9….

Instalación de Bind 9 en el sistema Debian/Ubuntu:

Necesitamos instalar 'bind9 bind9utils bind9-doc dnsutils' para instalar BIND 9 y herramientas relacionadas. Abre tu terminal y ejecuta el siguiente comando,

[email protected]:~$ sudo apt-get install bind9 bind9utils bind9-doc dnsutils

Configuración de bind 9 en el sistema Debian/Ubuntu:

Una vez instalados todos los paquetes, pasaremos a la parte de configuración. Todos los archivos de configuración para BIND se encuentran en la carpeta '/etc/bind'.

Uno de los archivos de configuración importantes para bind es “/etc/bind/named.conf.options “, desde este archivo podemos configurar los siguientes parámetros:

  • Permitir consultas a sus dns desde su red privada (como sugiere el nombre, solo los sistemas de su red privada pueden consultar el servidor dns para la traducción de nombre a ip y viceversa)
  • Permitir consultas recursivas
  • Especifique el puerto DNS ( 53)
  • Reenviadores (la consulta DNS se reenviará a los reenviadores cuando su servidor DNS local no pueda resolver la consulta)

Según la configuración de mi red privada, he especificado los siguientes parámetros:

[email protected]:~$ sudo vi /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
     // listen-on-v6 { any; };
        listen-on port 53 { localhost; 192.168.0.0/24; };
        allow-query { localhost; 192.168.0.0/24; };
        forwarders { 8.8.8.8; };
        recursion yes;
        };

El siguiente archivo de configuración importante es “/etc/bind/named.conf.local “, en este archivo definiremos los archivos de zona para nuestro dominio, edite el archivo agregue las siguientes entradas:

[email protected]:~$ cd /etc/bind
[email protected]:~$ sudo vi named.conf.local
zone    "linuxtechi.local"   {
        type master;
        file    "/etc/bind/forward.linuxtechi.local";
 };

zone   "0.168.192.in-addr.arpa"        {
       type master;
       file    "/etc/bind/reverse.linuxtechi.local";
 };

Guarde el archivo y salga. Aquí hemos mencionado ubicaciones para nuestro archivo de zona de búsqueda directa y archivos de zona de búsqueda inversa. A continuación, crearemos los archivos de zona de avance y retroceso mencionados.

En primer lugar, cree el archivo de zona de búsqueda directa, los archivos de zona de muestra (db.local) ya están allí en la carpeta '/etc/bind ', podemos usar y copiar el archivo de zona de muestra,

[email protected]:/etc/bind$ sudo cp db.local forward.linuxtechi.local
[email protected]:/etc/bind$ sudo vi forward.linuxtechi.local
$TTL    604800

@       IN      SOA     primary.linuxtechi.local. root.primary.linuxtechi.local. (
                              6         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

;Name Server Information
@       IN      NS      primary.linuxtechi.local.

;IP address of Your Domain Name Server(DNS)
primary IN       A      192.168.0.40

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN  MX  10  mail.linuxtechi.local.

;A Record for Host names
www     IN       A       192.168.0.50
mail    IN       A       192.168.0.60

;CNAME Record
ftp     IN      CNAME    www.linuxtechi.local.

Su archivo de búsqueda directa debería tener el siguiente aspecto:

Aquí, hemos agregado información sobre nuestro servidor DNS y también hemos agregado registros A para un par de servidores, también hemos agregado un registro para un servidor de correo y registro CNAME para servidor ftp. Asegúrese de editar este archivo para adaptarlo a su red.

A continuación, crearemos un archivo de zona de búsqueda inversa en la misma ubicación, el archivo de zona de búsqueda inversa de muestra está presente en '/etc/bind ‘ carpeta.

[email protected]:/etc/bind$ sudo cp db.127 reverse.linuxtechi.local
[email protected]:~$ sudo vi /etc/bind/reverse.linuxtechi.local
$TTL    604800
@       IN      SOA     linuxtechi.local. root.linuxtechi.local. (
                             21         ; Serial
                         604820         ; Refresh
                          864500        ; Retry
                        2419270         ; Expire
                         604880 )       ; Negative Cache TTL

;Your Name Server Info
@       IN      NS      primary.linuxtechi.local.
primary IN      A       192.168.0.40

;Reverse Lookup for Your DNS Server
40      IN      PTR     primary.linuxtechi.local.

;PTR Record IP address to HostName
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

Su archivo de búsqueda de zona inversa debería tener el siguiente aspecto:

Guardar archivo y salir. Ahora todo lo que tenemos que hacer es reiniciar el servicio BIND para implementar los cambios realizados,

[email protected]:~$ sudo systemctl restart bind9
[email protected]:~$ sudo systemctl enable bind9

Nota:- En caso de que el firewall del sistema operativo se esté ejecutando en su servidor de enlace, ejecute el siguiente comando para permitir el puerto 53

[email protected]:~$ sudo ufw allow 53
Rule added
Rule added (v6)
[email protected]:~$

Validación de la sintaxis de la configuración de bind9 y los archivos de zona

Si desea cruzar, verifique la sintaxis de su archivo de configuración de bind 9 (named.conf.local). Use el comando “named-checkconf “, el ejemplo se muestra a continuación:

[email protected]:~$ sudo named-checkconf /etc/bind/named.conf.local
[email protected]:~$

Si no hay ningún error de sintaxis en su archivo de configuración de enlace, entonces debería volver al shell sin mostrar ningún error.

Para verificar la sintaxis de sus archivos de zona de búsqueda directa e inversa, use el comando "named-checkzone “, el ejemplo se muestra a continuación:

[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/forward.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 6
OK
[email protected]:~$
[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/reverse.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 21
OK
[email protected]:~$

Probar el servidor DNS con dig &nslookup

Para probar nuestro servidor DNS BIND 9, usaremos otra máquina Ubuntu y cambiaremos su DNS para señalar nuestro servidor DNS. Para cambiar el servidor DNS, abra '/etc/resol.conf ‘ &haga la siguiente entrada de DNS,

[email protected]:~$ sudo vi /etc/resolv.conf
search linuxtechi.local
nameserver 192.168.0.40

guardar el archivo y salir. Ahora tenemos nuestro cliente listo con DNS apuntando a nuestro servidor. Ahora usaremos una herramienta CLI llamada 'dig 'comando, que se utiliza para averiguar el DNS y su información relacionada. Ejecute el siguiente comando desde la terminal,

[email protected]:~$ dig primary.linuxtechi.local

&deberíamos obtener el siguiente resultado del comando,

Este resultado muestra que nuestro DNS funciona bien.

Hagamos una consulta de búsqueda inversa (PTR):

[email protected]:~$ dig -x 192.168.0.40

La salida del comando debería ser similar a la siguiente:

También podemos ejecutar 'nslookup ‘comando contra nuestro servidor DNS para confirmar la salida del comando dig,

[email protected]:~$ nslookup primary.linuxtechi.local

&debería producir el siguiente resultado,

Nota:- Mientras ejecuta el comando de excavación, si obtiene el error "comando no encontrado", entonces necesitamos instalar el paquete "dnsutils", ya que el comando de excavación es parte del paquete "dnsutils",

[email protected]:~$ sudo apt-get install dnsutils -y

Ahora que nuestro servidor funciona bien, podemos agregar otros servidores como el servidor de correo, el servidor ftp o los servidores web a los archivos de configuración del servidor DNS creando los registros apropiados según los requisitos. Además, solo hemos configurado un servidor DNS local en este tutorial, si necesita configurar un DNS público, necesitará una dirección IP pública para el mismo.

Con esto finalizamos nuestro tutorial sobre cómo instalar y configurar el servidor DNS en Ubuntu/Debian usando BIND 9. Envíenos sus valiosos comentarios/consultas, estaremos encantados de atenderlas todas.

Lea tambiénCómo instalar y configurar Webmin en Debian/Ubuntu


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 20.04

  3. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  4. Cómo instalar y configurar el servidor Redis en Ubuntu

  5. Cómo instalar y configurar un servidor DNS simple (BIND) en Debian 9

Cómo instalar y configurar DNS en Ubuntu

Cómo instalar y configurar el servidor LAMP en Ubuntu

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Instalar y configurar Virtualmin en el servidor Ubuntu 20.04 / Debian 10

Cómo instalar y configurar el servidor DNS en Ubuntu 16.04 LTS