Configuració de Bind com a servidor DNS privat a RHEL 8


El sistema de noms de domini (DNS) és un mètode utilitzat per traduir noms de domini llegibles per humans (o noms de domini totalment qualificats (FQDN)) a adreces IP llegibles per màquina, per localitzar un ordinador en una xarxa com Internet.

En els sistemes informàtics i de xarxa, això és necessari perquè, tot i que els FQDN són fàcils de recordar i utilitzar per als humans, els ordinadors (clients) accedeixen a recursos o serveis en altres ordinadors (servidors) en funció de les adreces IP.

En aquest sentit, un servidor DNS (també conegut com a servidor de noms) manté un directori de FQDN i els tradueix a adreces IP; també pot retornar una adreça IP quan es proporciona un nom d'amfitrió/FQDN. Hi ha diferents tipus de servidors DNS, com ara servidor de noms autoritzat, servidor de noms de memòria cau i molts altres.

En aquest article, us guiarem a través dels passos per instal·lar i configurar un servidor DNS privat/intern i autoritzat a RHEL 8 mitjançant el programari de codi obert BIND.

  1. RHEL 8 amb instal·lació mínima
  2. RHEL 8 amb subscripció a RedHat activada
  3. RHEL 8 amb adreça IP estàtica

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

Pas 1: instal·lació de Bind DNS a RHEL 8

1. Per instal·lar bind i les seves utilitats al vostre servidor, executeu l'ordre cdnf següent.

# dnf install bind bind-utils

2. A continuació, inicieu el servei DNS de moment i, a continuació, activeu-lo perquè s'iniciï automàticament a l'arrencada del sistema i comproveu si està en funcionament mitjançant les ordres systemctl.

# systemctl start named
# systemctl enable named
# systemctl status named

Pas 2: Configuració de BIND DNS a RHEL 8

3. Per configurar el servidor DNS de Bind, primer heu de fer una còpia de seguretat del fitxer de configuració original /etc/named.conf utilitzant l'ordre cp següent.

# cp /etc/named.conf /etc/named.conf.orig

4. Ara obriu el fitxer de configuració /etc/named.conf per editar-lo amb el vostre editor de text de línia d'ordres favorit de la següent manera.

# vi /etc/named.conf 

A la secció de configuració opcions, comenta les línies següents.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. A continuació, cerqueu el paràmetre allow-query i establiu-ne el valor a la vostra xarxa, el que significa que només els amfitrions de la vostra xarxa local poden consultar el servidor DNS.

allow-query  {localhost; 192.168.56.0/24}

Pas 3: creació de les zones DNS cap endavant i inversa

Una zona de reenviament és on s'emmagatzemen les relacions entre el nom d'amfitrió (o FQDN) i l'adreça IP; retorna una adreça IP utilitzant el nom d'amfitrió. Tingueu en compte que les consultes DNS normals són consultes de cerca directa. D'altra banda, una zona inversa retorna el FQDN d'un host en funció de la seva adreça IP.

6. Per definir les zones avant i inversa, afegiu les línies següents al final del fitxer /etc/named.conf.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

Expliquem breument les opcions de les configuracions de zones anteriors:

  • tipus: defineix la funció d'aquest servidor per a la zona. El valor master significa que és un servidor autoritzat on es manté la còpia mestra de les dades de la zona.
  • fitxer: especifica el fitxer de base de dades de la zona.
  • allow-update: especifica els amfitrions que permeten enviar actualitzacions de DNS dinàmics per a les zones mestres. Cap en aquest cas.

Pas 4: creació d'un fitxer de zona DNS de reenviament

7. Primer, creeu un fitxer de zona Reenviament al directori /var/named.

# vi /var/named/tecmint.lan.db

Afegiu-hi la configuració següent.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

Expliquem breument la definició de la zona anterior i els paràmetres.

  • TTL: especifica el temps de vida de la directiva RR i $TTL proporciona un TTL predeterminat per a cada RR sense un conjunt de TTL específic.
  • @: és un àlies per al nom de domini (p. ex. tecmint.lan) definit al fitxer de configuració principal.
  • IN: significa Internet.
  • SOA: especifica l'inici de l'autoritat: qui és el servidor de noms autoritzat (dns-primary.tecmint.lan), la informació de contacte de l'administrador (admin.tecmint.lan, el signe @ se substitueix per un punt) i altres relacionats. informació.
  • NS: significa servidor de noms.
  • Serial: aquest valor l'utilitza el servidor DNS per verificar que el contingut d'un fitxer de zona en concret estigui actualitzat.
  • Actualització: especifica amb quina freqüència un servidor DNS esclau ha de realitzar una transferència de zona des del mestre.
  • Reintentar: especifica amb quina freqüència un esclau ha de tornar a intentar una transferència de zona fallida.
  • Caduca: determina quant de temps ha d'esperar un servidor esclau abans de respondre la consulta del client quan no es pot accedir a un mestre.
  • Mínim: estableix el TTL mínim per a la zona.
  • A: una adreça d'amfitrió.

Pas 5: creació d'un fitxer de zona DNS inversa

8. De la mateixa manera, creeu un fitxer de zona inversa al directori /var/named.

# vi /var/named/tecmint.lan.rev

A continuació, afegiu-hi les línies següents. Aquí, el PTR és el contrari del registre A utilitzat per assignar una adreça IP a un nom d'amfitrió.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. Establiu els permisos de propietat correctes als fitxers de zona de la manera següent.

# chown :named /var/named/tecmint.lan.db
# chown :named /var/named/tecmint.lan.rev

10. Finalment, comproveu la configuració del DNS i que els fitxers de zona tinguin la sintaxi correcta després de fer els canvis anteriors, utilitzant la utilitat named-checkconf (no out significa cap error):

# named-checkconf
# named-checkzone tecmint.lan /var/named/tecmint.lan.db
# named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. Un cop hàgiu realitzat tota la configuració necessària, heu de reiniciar el servei DNS perquè els canvis recents tinguin efecte.

# systemctl restart named

12. A continuació, abans que cap client pugui accedir a les configuracions del servei DNS al servidor, heu d'afegir el servei DNS a la configuració del tallafoc del sistema i tornar a carregar la configuració del tallafoc mitjançant la utilitat del tallafoc-cmd, de la manera següent:

# firewall-cmd --permanent --zone=public --add-service=dns 
# firewall-cmd --reload

Pas 6: prova del servei DNS des d'un client

13. En aquesta secció, mostrarem com provar el servei DNS des del costat del client. Inicieu sessió a la màquina client, configureu-la per utilitzar el servidor DNS anterior. En un sistema Linux, obriu el fitxer /etc/resolve.conf amb el vostre editor de text preferit.

# vi /etc/resolve.conf 

Afegiu-hi la següent entrada, que indica al resolutor que utilitzi el servidor de noms especificat.

nameserver  192.168.56.100

Deseu el fitxer i tanqueu-lo. Tingueu en compte que també heu d'especificar el servidor DNS al fitxer de configuració de la interfície de xarxa.

14. Afegiu els servidors DNS IP 192.168.56.100 com a solucionador al fitxer de configuració de la interfície de xarxa de la màquina client /etc/sysconfig/network-scripts/ifcfg-enp0s3 tal com es mostra a la figura següent.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. A continuació, utilitzeu la utilitat nslookup per consultar la IP utilitzant el nom d'amfitrió i viceversa, dels servidors www, correu i documents de la vostra xarxa, tal com es mostra.

# nslookup 192.168.56.5
# nslookup www.tecmint.lan
# nslookup 192.168.56.10
# nslookup mail.tecmint.lan
# nslookup 192.168.56.20
# nslookup docs.tecmint.lan
# nslookup 192.168.56.100
# nslookup dns-primary.tecmint.lan

En aquest article, hem mostrat com instal·lar i configurar un servidor DNS privat i autoritzat a RHEL 8 mitjançant el programari BIND. Esperem que tot us hagi funcionat bé, en cas contrari, envieu-nos les vostres consultes o qualsevol altre comentari mitjançant el formulari de comentaris que trobareu a continuació.