DNS-servers komen in verschillende soorten, zoals master, slave, forwarding en cache, om er een paar te noemen, waarbij cache-only DNS degene is die gemakkelijker is om in te stellen. Omdat DNS het UDP-protocol gebruikt, verbetert het de vraagtijd omdat het geen bevestiging vereist.

De cache-only DNS-server staat ook bekend als resolver, die DNS-records zal bevragen en alle DNS-details van andere servers zal ophalen, en elke queryaanvraag in zijn cache zal bewaren voor later gebruik, zodat wanneer we in de toekomst dezelfde aanvraag uitvoeren, het vanuit zijn cache zal dienen, waardoor de responstijd nog meer wordt verminderd.
Als je een DNS-caching-only server wilt opzetten in CentOS/RHEL 6, volg dan deze gids hier:
Instellen van een caching-only DNS-naamserver in CentOS/RHEL 6
Mijn testomgeving
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
Stap 1: Cache-Only DNS-server installeren in RHEL/CentOS 7
1. De Cache-Only DNS-server kan worden geïnstalleerd via het bind-pakket. Als je de pakketnaam niet meer weet, kun je snel de pakketnaam zoeken met het onderstaande commando.
# yum search bind

2. In het bovenstaande resultaat zie je verschillende pakketten. Daarvan moeten we alleen de bind en bind-utils-pakketten kiezen en installeren met het volgende yum-commando.
# yum install bind bind-utils -y

Stap 2: Configureer Cache-Only DNS in RHEL/CentOS 7
3. Zodra de DNS-pakketten zijn geïnstalleerd, kunnen we doorgaan en DNS configureren. Open en bewerk /etc/named.conf
met uw favoriete teksteditor. Maak de onderstaande voorgestelde wijzigingen (of u kunt uw instellingen gebruiken zoals vereist).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

Deze richtlijnen instrueren de DNS-server om te luisteren op UDP poort 53, en om vragen toe te staan en responsen te cachen van localhost en elke andere machine die de server bereikt.
4. Het is belangrijk op te merken dat de eigenaar van dit bestand moet worden ingesteld op root:named
en ook als SELinux is ingeschakeld, na het bewerken van het configuratiebestand moeten we ervoor zorgen dat de context is ingesteld op named_conf_t
zoals getoond in Fig. 4 (hetzelfde geldt voor het hulpbestand /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
Anders, configureer de SELinux-context voordat u verder gaat:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. Bovendien moeten we de DNS-configuratie nu testen op enkele syntaxisfouten voordat we de bind-service starten:
# named-checkconf /etc/named.conf
6. Nadat de syntaxisverificatieresultaten perfect lijken, herstart de named-service om de nieuwe wijzigingen van kracht te laten worden en maak ook de service om automatisch te starten bij systeemopstart, en controleer vervolgens de status ervan:
# systemctl restart named # systemctl enable named # systemctl status named

7. Open vervolgens poort 53 op de firewall.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

Stap 3: Chroot Cache-Only DNS Server in RHEL en CentOS 7
8. Als u de Cache-only DNS-server binnen een chroot-omgeving wilt implementeren, moet u het pakket chroot op het systeem hebben geïnstalleerd en is er geen verdere configuratie nodig, omdat het standaard is gekoppeld aan chroot.
# yum install bind-chroot -y
Zodra het chroot-pakket is geïnstalleerd, kunt u named opnieuw starten om de nieuwe wijzigingen van kracht te laten worden:
# systemctl restart named
9. Maak vervolgens een symbolische koppeling (ook genaamd /etc/named.conf
) binnen /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
Stap 4: Configureer DNS op de clientmachine
10. Voeg de DNS-cache servers IP 192.168.0.18 toe als resolver voor de clientmachine. Bewerk /etc/sysconfig/network-scripts/ifcfg-enp0s3
zoals weergegeven in de volgende figuur:
DNS=192.168.0.18

En /etc/resolv.conf als volgt:
nameserver 192.168.0.18
11. Tot slot is het tijd om onze cache-server te controleren. Hiervoor kunt u het dig-hulpprogramma of het nslookup-commando gebruiken.
Kies een willekeurige website en vraag deze tweemaal op (we zullen facebook.com als voorbeeld gebruiken). Let op dat bij dig de tweede keer de query veel sneller wordt voltooid omdat deze wordt geserveerd vanuit de cache.
# dig facebook.com

U kunt ook nslookup gebruiken om te controleren of de DNS-server naar verwachting werkt.
# nslookup facebook.com

Samenvatting
In dit artikel hebben we uitgelegd hoe je een DNS-cache-only server instelt in Red Hat Enterprise Linux 7 en CentOS 7, en hebben we het getest op een clientmachine. Laat het ons gerust weten als je vragen of suggesties hebt via het onderstaande formulier.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/