El Sistema de Nombres de Dominio (DNS) es un sistema jerárquico de nombres distribuidos para computadoras, servicios o cualquier recurso conectado a Internet o una red privada. Asocia diversa información a los nombres de dominio asignados a cada una de las entidades participantes.
Lo que es más importante, traduce los nombres de dominio significativos para los humanos en identificadores numéricos asociados con equipos de red con el fin de ubicar y direccionar estos dispositivos en todo el mundo.
Esta guía lo ayudará a configurar el servidor DNS en CentOS 7 / RHEL 7.
Medio ambiente
Nombre del servidor: ns1itzgeek.local
Dirección IP: 192.168.0.10
Instalar DNS (BIND)
BIND significa Berkeley Internet Name Domain, un software que brinda la capacidad de realizar una conversión de nombre a ip.
yum -y install bind bind-utils
Configurar DNS (BIND)
De forma predeterminada, BIND escucha en el host local. Entonces, configuraremos el servidor DNS para escuchar en la dirección IP del sistema para permitir que los clientes puedan acceder al servidor DNS para resolver nombres de dominio.
vi /etc/named.conf
Escuchar en todas las direcciones IP:
Configure BIND para escuchar en todas las direcciones IP.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Escuchar en una dirección IP particular:
Configure BIND para escuchar una dirección IP particular.
listen-on port 53 { 127.0.0.1; 192.168.0.10; };
Agregue su red en la siguiente línea. Esta configuración permitirá que los clientes de la red mencionada puedan consultar el DNS para la traducción del nombre a la IP.
Agregué 192.168.0.0/24 para esta demostración.
allow-query { localhost; 192.168.0.0/24; };
Crear Zonas
Edite /etc/named.conf.
vi /etc/named.conf
Zona delantera
La siguiente zona es la entrada de la zona de reenvío para el dominio itzgeek.local.
zone "itzgeek.local" IN { type master; file "/var/named/itzgeek.local.db"; allow-update { none; }; };
itzgeek.local – Nombre de dominio
maestro – DNS principal
fwd.itzgeek.local.db – Archivo de búsqueda avanzada
permitir-actualizar – Dado que este es el DNS principal, no debería ser ninguno
Zona inversa
La siguiente zona es la entrada de zona inversa.
zone "0.168.192.in-addr.arpa" IN { type master; file "/var/named/192.168.0.db"; allow-update { none; }; };
0.168.192.in-addr.arpa – Nombre de búsqueda inversa
maestro – DNS principal
192.168.0.db – Archivo de búsqueda inversa
permitir-actualizar – Dado que este es el DNS principal, no debería ser ninguno
Crear archivos de zona
De forma predeterminada, los archivos de búsqueda de zona se colocan en el directorio /var/named. Cree un archivo de zona llamado fwd.itzgeek.local.db para la búsqueda directa en el directorio /var/named. Todos los nombres de dominio deben terminar con un punto (.).
vi /var/named/itzgeek.local.db
Hay algunas palabras clave especiales para archivos de zona
A – Un registro
NS – Servidor de nombres
MX – Correo a cambio
CNOMBRE – Nombre canónico
@ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 1001 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;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.Cada vez que actualice el archivo de búsqueda de zona, debe cambiar/incrementar el número de serie como 1002;Serial.
Cree un archivo de zona llamado 192.168.0.db para la zona inversa en el directorio /var/named.
vi /var/named/192.168.0.db
Cree un puntero inverso para las entradas de la zona delantera que creamos anteriormente.
PTR – Puntero
SOA: Inicio de autoridad
@ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 1001 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;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.Cada vez que actualice el archivo de búsqueda de zona, debe cambiar/incrementar el número de serie como 1002;Serial.
Una vez que se crean los archivos de zona, reinicie el servicio de enlace.
systemctl restart named
Habilítelo al iniciar el sistema.
systemctl enable named
Cortafuegos
Agregue una regla de permiso en el firewall para que los clientes puedan conectarse al servidor DNS para la resolución de nombres.
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Verificar Zonas
Visite cualquier máquina cliente y agregue una dirección IP del servidor DNS en /etc/resolv.conf.
nameserver 192.168.0.10
Si Network Manager administra la red, coloque la siguiente entrada en el archivo /etc/sysconfig/network-scripts/ifcfg-eXX.
DNS1=192.168.0.10
Reinicie el servicio de red.
systemctl restart NetworkManager
Utilice el siguiente comando para verificar la búsqueda directa.
dig www.itzgeek.local
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563 ;; 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. 86400 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 86400 IN NS primary.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Wed Jul 03 02:00:40 EDT 2019 ;; MSG SIZE rcvd: 100Instale las utilidades BIND yum install -y bind-utils package para obtener el comando nslookup o dig.
Confirme la búsqueda inversa.
dig -x 192.168.0.100
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807 ;; 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. 86400 IN PTR www.itzgeek.local. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 86400 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Wed Jul 03 02:02:47 EDT 2019 ;; MSG SIZE rcvd: 124
Ahora se confirma que tanto las búsquedas directas como las inversas funcionan bien.
Conclusión
Eso es todo. Ha instalado correctamente BIND en CentOS 7/RHEL 7 como servidor maestro. Puede configurar un servidor DNS esclavo para redundancia.