
El sistema de nombres de dominio (DNS) es la raíz de Internet que traduce el nombre de dominio a una dirección IP y viceversa. El paquete BIND9 (Berkeley Internet Name Domain) proporciona la funcionalidad de conversión de nombre a IP.
Esta publicación lo guiará para configurar el servidor DNS en Ubuntu 18.04 /Ubuntu 16.04.
Medio ambiente
Configurar servidor DNS en Ubuntu 18.04/Ubuntu 16.04
Requisitos
Actualice el índice del repositorio.
sudo apt update
Asegúrese de que el servidor DNS tenga una dirección IP estática.
LEER: Cómo configurar la dirección IP estática en Ubuntu 18.04 / Ubuntu 16.04 usando ifupdown
Si está utilizando Netplan:una nueva herramienta de red para configurar la red en Ubuntu 18.04, entonces.
LEER :Cómo configurar una dirección IP estática en Ubuntu 18.04 usando Netplan
Instalar servidor DNS
El nombre del paquete para el servidor DNS en Ubuntu es bind9 y está disponible en el repositorio base. Use el comando apt para instalar el paquete bind9.
sudo apt install -y bind9 bind9utils bind9-doc dnsutils
Configurar servidor DNS
El directorio /etc/bind/ es el directorio de configuración principal del servidor DNS y contiene archivos de configuración y archivos de búsqueda de zona.
El archivo de configuración global es /etc/bind/named.conf. No debe usar este archivo para su zona DNS local, sino que puede usar el archivo /etc/bind/named.conf.local.
Crear Zonas
Comencemos por crear una zona de reenvío para su dominio.
sudo nano /etc/bind/named.conf.local
Zona delantera
La siguiente es la entrada de la zona de reenvío para el dominio itzgeek.local en el archivo named.conf.local.
zone "itzgeek.local" IN { // Domain name type master; // Primary DNS file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file allow-update { none; }; // Since this is the primary DNS, it should be none. };
Zona inversa
Las siguientes entradas son para la zona inversa en el archivo named.conf.local.
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order type master; // Primary DNS file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file allow-update { none; }; //Since this is the primary DNS, it should be none. };
Crear archivo de búsqueda de zona
Una vez que haya creado zonas, puede seguir adelante y crear archivos de datos de zona que contengan registros DNS para la zona directa y la zona inversa.
Archivo de búsqueda de zona avanzada
Copie las entradas de muestra en el archivo de zona llamado forward.itzgeek.local.db para la zona de reenvío en /etc/bind directorio.
Tipos de registro en el archivo de zona,
SOA:inicio de autoridad
NS:servidor de nombres
A:registro A
MX:correo para Exchange
CN:canónico Nombre
Los nombres de dominio deben terminar con un punto (.).
sudo cp /etc/bind/db.local /etc/bind/forward.itzgeek.local.db
Edite la zona.
sudo nano /etc/bind/forward.itzgeek.local.db
Actualice el contenido que se muestra a continuación.
Cada vez que cambie cualquier registro en el archivo de búsqueda, asegúrese de actualizar el número de serie a algún número aleatorio, más alto que el actual.$TTL 604800 @ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ;@ IN NS localhost. ;@ IN A 127.0.0.1 ;@ IN AAAA ::1 ;Name Server Information @ IN NS ns1.itzgeek.local. ;IP address of Name Server ns1 IN A 192.168.0.10 ;Mail Exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A – Record HostName To Ip Address www IN A 192.168.0.100 mail IN A 192.168.0.150 ;CNAME record ftp IN CNAME www.itgeek.local.
Archivo de búsqueda de zona inversa
Copie las entradas de muestra en el archivo de zona llamado reverse.itzgeek.local.db para la zona inversa en el directorio /etc/bind y cree punteros inversos para los registros de zona de avance anteriores.
PTR – Puntero
SOA – Inicio de autoridad
sudo cp /etc/bind/db.127 /etc/bind/reverse.itzgeek.local.db
Edite el archivo de zona inversa.
sudo nano /etc/bind/reverse.itzgeek.local.db
Actualice el contenido que se muestra a continuación.
Cada vez que cambie algún registro DNS en el archivo de búsqueda, asegúrese de actualizar el número de serie a algún número aleatorio, más alto que el actual.$TTL 604800 @ IN SOA itzgeek.local. root.itzgeek.local. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ;@ IN NS localhost. ;1.0.0 IN PTR localhost. ;Name Server Information @ IN NS ns1.itzgeek.local. ;Reverse lookup for Name Server 10 IN PTR ns1.itzgeek.local. ;PTR Record IP address to HostName 100 IN PTR www.itzgeek.local. 150 IN PTR mail.itzgeek.local.
Comprobar la sintaxis de configuración de BIND
Utilice el comando named-checkconf para comprobar la sintaxis y los archivos named.conf* en busca de errores.
sudo named-checkconf
El comando volverá al shell si no hay errores.
Además, puede usar la zona de verificación nombrada para verificar los errores de sintaxis en los archivos de zona.
Zona delantera
sudo named-checkzone itzgeek.local /etc/bind/forward.itzgeek.local.db
Salida:
zone itzgeek.local/IN: loaded serial 3 OK
Zona inversa
named-checkzone 0.168.192.in-addr.arpa /etc/bind/reverse.itzgeek.local.db
Salida:
zone 0.168.192.in-addr.arpa/IN: loaded serial 3 OK
Reinicie el servicio de vinculación.
sudo systemctl restart bind9
Habilítelo al iniciar el sistema.
sudo systemctl enable bind9
Verifique el estado del servicio bind9.
sudo systemctl status bind9
Actualización de registros DNS
Siempre que cambie un registro DNS, no olvide cambiar el número de serie en el archivo de zona y volver a cargar la zona.
Cambie itzgeek.local &0.168.192.in-addr.arpa con sus nombres de zona.
### Forward Zone ### sudo rndc reload itzgeek.local ### Reverse Zone ### sudo rndc reload 0.168.192.in-addr.arpa
Verificar servidor DNS
Vaya a cualquier máquina cliente y agregue nuestra nueva dirección IP del servidor DNS en el archivo /etc/resolv.conf.
sudo nano /etc/resolv.conf
Haga una entrada como la siguiente.
nameserver 192.168.0.10
O
Lea el siguiente tutorial para configurar la IP del servidor DNS en Linux.
LEER: Cómo configurar la dirección IP de DNS en CentOS / Fedora
LEER: Cómo configurar la dirección IP de DNS en Ubuntu / Debian – ifupdown
LEER: Cómo configurar la dirección IP de DNS en Ubuntu 18.04 – Netplan
Utilice el comando de excavación para comprobar la zona delantera.
dig www.itzgeek.local
Si no encuentra el comando, instale el paquete bind-utils.
Salida:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.itzgeek.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18022 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Dec 30 12:42:18 EST 2019 ;; MSG SIZE rcvd: 96
La respuesta del servidor DNS para la búsqueda directa:192.168.0.100 como dirección IP para www.itzgeek.local .
Confirme la búsqueda inversa con el comando de excavación.
dig -x 192.168.0.100
Salida:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 192.168.0.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37122 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;100.0.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 100.0.168.192.in-addr.arpa. 604800 IN PTR www.itzgeek.local. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Dec 30 12:43:20 EST 2019 ;; MSG SIZE rcvd: 120
La respuesta del servidor DNS para la búsqueda inversa:www.itzgeek.local como nombre de 192.168.0.100.
Este resultado confirma que ambas búsquedas de zona funcionan bien.
Conclusión
Eso es todo. Ahora ha configurado correctamente el servidor DNS en Ubuntu 18.04 / Ubuntu 16.04 como servidor maestro. En nuestra próxima publicación, configuraremos un servidor DNS esclavo en Ubuntu 18.04 /Ubuntu 16.04.
Cómo instalar y configurar DHCP en Ubuntu 18.04
Cómo configurar el servidor DNS (BIND) en CentOS 7 / RHEL 7
Cómo configurar el servidor DNS esclavo (BIND) en Ubuntu 18.04/16.04 y Debian 10/9
Cómo configurar el servidor DNS en Debian 10 / Debian 9
Cómo instalar y configurar el servidor DNS en Ubuntu 16.04 LTS
Cómo instalar el servidor DNS en Ubuntu 20.04 LTS
Nombre de dominio:itzgeek.local | ||
---|---|---|
ns1.itzgeek.local | 192.168.0.10 | Servidor DNS maestro |