Zoeken op website

Stel Caching-Only DNS-server in met behulp van "Bind" in CentOS 6.5


Er zijn verschillende soorten DNS-servers, zoals master, slave, forwarding en cache, waaronder Caching-Only DNS die gemakkelijker in te stellen is. DNS gebruikt het UDP-protocol, dus het zal de zoektijd verkorten omdat het UDP-protocol geen bevestiging heeft.

Lees ook: Master-Slave DNS-server instellen in CentOS 6.5

De DNS-server die alleen in cache staat, wordt ook wel een relayr genoemd. Het zal DNS-records opvragen en alle DNS-informatie van andere servers ophalen en elk queryverzoek in de cache opslaan voor later gebruik. Terwijl we hetzelfde verzoek voor de tweede keer ondervragen, zal het vanuit de cache worden gebruikt, waardoor de zoektijd wordt verkort.

Als u DNS Caching-Only Server wilt instellen in CentOS/RHEL 7, volgt u deze handleiding hier:

DNS-naamserver voor alleen caching instellen in CentOS/RHEL 7

Mijn testomgeving
IP Address	:	192.168.0.200
Host-name	:	dns.tecmintlocal.com
OS		:	Centos 6.5 Final
Ports Used	:	53
Config File	:	/etc/named.conf
script file	:	/etc/init.d/named

Stap 1: Caching-Only DNS installeren

1. De Caching-Only DNS kan worden geïnstalleerd met behulp van het pakket ‘bind‘. Laten we een kleine zoekopdracht uitvoeren naar de pakketnaam als we de vulpakketnaam niet onthouden met behulp van onderstaande opdracht.

yum search bind

2. In het bovenstaande resultaat ziet u de pakketten die worden weergegeven. Hieruit moeten we de pakketten ‘bind’ en ‘bind-utils’ kiezen, laten we ze installeren met behulp van de opdracht ‘yum’.

yum install bind bind-utils -y

Stap 2: Configureer Caching-Only DNS

3. Zodra de DNS-pakketten zijn geïnstalleerd, gaat u verder met het configureren van DNS. Open en bewerk het bestand ‘named.conf’ met de vim-editor.

vim /etc/named.conf

4. Breng vervolgens wijzigingen aan zoals hieronder wordt voorgesteld, of gebruik uw instellingen volgens uw vereisten. Hieronder volgen de wijzigingen die we moeten aanbrengen voor een DNS-server die alleen in cache is. Hier zal standaard de localhost aanwezig zijn. We moeten de ‘any‘ toevoegen om zoekopdrachten uit elk netwerkbereik te accepteren.

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

  1. luisterpoort 53 – Dit zegt dat de cacheserver poort 53 wil gebruiken voor zoekopdrachten.
  2. allow-query – Dit specificeert welk IP-adres de server mag bevragen, hier heb ik gedefinieerd voor localhost, vanaf elke plek waar iedereen een query kan sturen.
  3. allow-query-cache – Hiermee wordt het queryverzoek aan de binding toegevoegd.
  4. recursie – Hiermee wordt het antwoord opgevraagd en aan ons teruggegeven. Tijdens de zoekopdracht kan het via internet een zoekopdracht naar een andere DNS-server sturen en de zoekopdracht terugtrekken.

5. Nadat we het bestand hebben bewerkt, moeten we bevestigen of het eigendom van de bestanden 'named.conf' niet is gewijzigd van root:named, omdat de DNS draait onder een systeemgebruiker genaamd.

ls -l /etc/named.conf
ls -l /etc/named.rfc1912.zones

6. Als de server selinux heeft ingeschakeld, moeten we, na het bewerken van het bestand 'named.conf', controleren op de context van selinux, elk benoemd configuratiebestand moet in “ system_u:object_r:named_conf_t:s0” context zoals weergegeven in de onderstaande afbeelding.

ls -lZ /etc/named.conf
ls -lZ /etc/named.rfc1912.zones

Oké, hier moeten we de DNS-configuratie nu testen op een syntaxisfout, voordat we de bindservice starten. Als er een fout wordt gevonden, kunnen sommige ook worden getraceerd vanuit /var/messages.

named-checkconf /etc/named.conf

Nadat de resultaten van de syntaxiscontrole perfect lijken, start u de service opnieuw op om de bovenstaande wijzigingen door te voeren en zorgt u ervoor dat de service persistent wordt uitgevoerd terwijl u de server opnieuw opstart en bevestigt u hetzelfde.

/etc/init.d/named restart
chkconfig named on
chkconfig --list named

7. Open vervolgens poort 53 op de firewall om toegang toe te staan.

iptables -I INPUT -p udp --dport 53 -j ACCEPT

Stap 4: Alleen DNS voor Chroot Caching

8. Als u de DNS-caching-server onder een chroot-omgeving wilt gebruiken, hoeft u alleen het chroot-pakket te installeren, er is geen verdere noodzaak configuratie, omdat deze standaard een harde link naar chroot heeft.

yum install bind-chroot -y

Zodra het chroot pakket is geïnstalleerd, kunt u de benoemde service opnieuw starten om nieuwe wijzigingen door te voeren.

/etc/init.d/named restart

9. Zodra u de benoemde service opnieuw start, wordt er automatisch een harde link gemaakt van de /etc/named configuratiebestanden naar /var/named/chroot/etc/ map. Gebruik ter bevestiging de opdracht cat onder /var/named/chroot.

sudo cat /var/named/chroot/etc/named.conf

In de bovenstaande configuratie zul je dezelfde /etc/named.conf configuratie zien, omdat deze zal worden vervangen tijdens het installeren van het bind-chroot pakket.

Stap 5: DNS-installatie aan clientzijde

10. Voeg de DNS-cachingservers IP 192.168.0.200 toe als solver aan de clientmachines.

Op op Debian gebaseerde machines zal dit onder /etc/resolv.conf staan en op op RPM gebaseerde machines zal dit onder het commando setup staan, of we kunnen het bewerken handmatig onder het bestand /etc/sysconfig/network-scripts/ifcfg-eth0.

11. Eindelijk is het tijd om onze cacheserver te controleren met behulp van enkele tools. We kunnen testen met de opdrachten dig & nslookup op Linux-systemen, en in Windows kunt u de opdracht nslookup gebruiken.

Laten we ‘facebook.com’ voor de eerste keer ondervragen, zodat de zoekopdracht in de cache wordt opgeslagen.

dig facebook.com

dig facebook.com

Gebruik de opdracht ‘nslookup’ om hetzelfde te bevestigen.

nslookup facebook.com

Gebruik de volgende links om meer te lezen over de opdrachtvoorbeelden en het gebruik van dig en nslookup.

  1. 8 nslookup-opdrachten en gebruik
  2. 10 graafopdrachten en gebruik

Hier hebben we gezien hoe succesvol we een DNS-caching-only server hebben opgezet met behulp van het bind-pakket en deze ook hebben beveiligd met het chroot-pakket.