Zoeken op website

Hoe 'Cache Only DNS Server' met 'Unbound' in RHEL/CentOS 7 te installeren en configureren


Naamservers in cache plaatsen met 'Unbound' ( is een validerende, recursieve en caching DNS-serversoftware ), in RHEL/CentOS 6.x (waar x het versienummer is), gebruikten we bind software om DNS-servers te configureren.

Hier in dit artikel gaan we ‘ongebonden‘ cachingsoftware gebruiken om een DNS-server te installeren en configureren in RHEL/CentOS 7-systemen.

DNS-cacheservers worden gebruikt om elke DNS-query die ze ontvangen op te lossen. Als de server de zoekopdracht in de cache opslaat en in de toekomst dezelfde zoekopdrachten worden aangevraagd door clients, wordt het verzoek afgeleverd vanuit de DNS ‘ongebonden’ cache, dit kan in milliseconden worden gedaan dan de eerste keer dat het probleem werd opgelost.

Caching fungeert alleen als een agent om de vraag van de klant van een van de forwarders op te lossen. Door de caching-server te gebruiken, wordt de laadtijd van webpagina's verkort door de cachedatabase op een ongebonden server te houden.

Mijn server- en clientconfiguratie

Voor demonstratiedoeleinden zal ik twee systemen gebruiken. Het eerste systeem zal fungeren als een Master (Primaire) DNS server en het tweede systeem zal fungeren als een lokale DNS-client sterk>.

Master DNS-server
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Clientmachine
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

Stap 1: Controleer de hostnaam en het IP-adres van het systeem

1. Voordat u een caching DNS-server instelt, moet u ervoor zorgen dat u de juiste hostnaam heeft toegevoegd en het juiste statische IP-adres voor uw systeem heeft geconfigureerd. Als u dat niet doet, stelt u het statische IP-adres van het systeem in.

2. Nadat u de juiste hostnaam en het statische IP-adres heeft ingesteld, kunt u deze verifiëren met behulp van de volgende opdrachten.

hostnamectl
ip addr show | grep inet

Stap 2: Unbound installeren en configureren

3. Voordat we het 'Ongebonden' pakket installeren, moeten we ons systeem updaten naar de nieuwste versie, daarna kunnen we het ongebonden pakket installeren.

yum update -y
yum install unbound -y

4. Nadat het pakket is geïnstalleerd, maakt u een kopie van het ongebonden configuratiebestand voordat u wijzigingen aanbrengt in het originele bestand.

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. Gebruik vervolgens een van uw favoriete teksteditors om het configuratiebestand 'unbound.conf' te openen en te bewerken.

vim /etc/unbound/unbound.conf

Zodra het bestand is geopend voor bewerking, brengt u de volgende wijzigingen aan:

Interfaces

Zoek naar Interface en schakel de interface in die we gaan gebruiken. Als onze server meerdere interfaces heeft, moeten we de interface 0.0.0.0 inschakelen.

Hier was ons server-IP 192.168.0.50, dus ik ga ongebonden gebruiken in deze interface.

Interface 192.168.0.50
Schakel IPv4- en protocolondersteuning in

Zoek naar de volgende string en maak er ‘Ja’ van.

do-ip4: yes
do-udp: yes
do-tcp: yes
Schakel de logboekregistratie in

Om het logboek in te schakelen, voegt u de variabele toe zoals hieronder. Alle ongebonden activiteiten worden geregistreerd.

logfile: /var/log/unbound
Identiteit en versie verbergen

Schakel de volgende parameter in om id.server- en hostname.bind-query's te verbergen.

hide-identity: yes

Schakel de volgende parameter in om version.server- en version.bind-query's te verbergen.

hide-version: yes
Toegangscontrole

Zoek vervolgens naar toegangsbeheer om dit toe te staan. Dit is om toe te staan welke clients deze ongebonden server mogen bevragen.

Hier heb ik 0.0.0.0 gebruikt, wat betekent dat iedereen een vraag naar deze server verzendt. Als we zoekopdrachten voor een bepaald netwerkbereik moeten weigeren, kunnen we definiëren welk netwerk moet worden geweigerd voor ongebonden zoekopdrachten.

access-control: 0.0.0.0/0 allow

Opmerking: in plaats van toestaan kunnen we het vervangen door allow_snoop. Hierdoor worden enkele aanvullende parameters ingeschakeld, zoals dig en het ondersteunt zowel recursief als niet-recursief.

Domein onzeker

Zoek vervolgens naar domein-onveilig. Als ons domein werkt met DNS sec-sleutels, moeten we definiëren dat onze server beschikbaar is voor domein-onveilig. Hier wordt ons domein als onveilig behandeld.

domain-insecure: "tecmintlocal.com
Voorwaartse zones

Wijzig vervolgens de doorstuurprogramma's voor onze gevraagde vraag die niet door deze server wordt vervuld. Deze zal doorsturen naar het hoofddomein (. ) en de vraag oplossen.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Sla ten slotte het configuratiebestand op en sluit het af met wq!.

6. Nadat u de bovenstaande configuratie heeft uitgevoerd, controleert u nu het bestand unbound.conf op eventuele fouten met behulp van de volgende opdracht.

unbound-checkconf /etc/unbound/unbound.conf

7. Nadat de bestandsverificatie zonder fouten is verlopen, kunt u de 'ongebonden' service veilig opnieuw starten en deze inschakelen bij het opstarten van het systeem.

systemctl start unbound.service
sudo systemctl enable unbound.service

Stap 3: Test DNS-cache lokaal

8. Nu is het tijd om onze DNS-cache te controleren door een 'drill' (query) uit te voeren op een 'india.com'-domein. In eerste instantie zullen de resultaten van de opdracht 'drill' voor het domein 'india.com' enkele milliseconden duren, en vervolgens een tweede oefening uitvoeren en een notitie maken over Querytijd het duurt voor beide oefeningen.

drill india.com @192.168.0.50

Heb je in de bovenstaande uitvoer gezien dat de eerste query bijna 262 msec duurde om op te lossen en dat de tweede query 0 msec nodig had om het domein (india.com) op te lossen b>).

Dat betekent dat de eerste zoekopdracht in onze DNS-cache wordt opgeslagen, dus als we voor de tweede keer 'drill' uitvoeren als de zoekopdracht vanuit onze lokale DNS-cache wordt verzonden, kunnen we op deze manier de laadsnelheid van websites verbeteren.

Stap 4: Iptables leegmaken en firewallregels toevoegen

9. We kunnen iptables en firewalld niet tegelijkertijd op dezelfde machine gebruiken. Als we dat wel doen, zullen beide met elkaar in conflict komen, dus het verwijderen van ipables-regels is een goed idee. Gebruik de volgende opdracht om de iptables te verwijderen of leeg te maken.

iptables -F

10. Nadat u de iptables-regels permanent heeft verwijderd, voegt u nu de DNS-service permanent toe aan de firewalld-lijst.

firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

11. Nadat u de DNS-serviceregels heeft toegevoegd, vermeldt u de regels en bevestigt u deze.

firewall-cmd --list-all

Stap 5: Unbound beheren en oplossen

12. Gebruik de volgende opdracht om de huidige serverstatus op te halen.

unbound-control status

DNS-cache dumpen

13. Als u een dump van DNS-cache-informatie in een tekstbestand wilt hebben, kunt u deze omleiden naar een bestand met behulp van onderstaande opdracht voor toekomstig gebruik.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Om de cache uit het gedumpte bestand te herstellen of te importeren, kunt u de volgende opdracht gebruiken.

unbound-control dump_cache < /tmp/DNS_cache.txt

DNS-records leegmaken

15. Om te controleren of het specifieke adres is opgelost door onze doorstuurprogramma's in de ongebonden cacheserver, gebruikt u de onderstaande opdracht.

unbound-control lookup google.com

16. Als onze DNS-cacheserver onze vraag niet beantwoordt, kunnen we in de tussentijd de cache leegmaken om informatie zoals A, AAA te verwijderen , NS, SO, CNAME, MX, PTR enz. .. records uit DNS-cache. We kunnen alle informatie verwijderen met behulp van flush_zone. Hierdoor wordt alle informatie verwijderd.

unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Om te controleren welke forwards momenteel worden gebruikt om problemen op te lossen.

unbound-control list_forwards

Stap 6: DNS-configuratie aan clientzijde

18. Hier heb ik een CentOS 6-server gebruikt als mijn clientmachine. Het IP-adres voor deze machine is 192.168.0.100 en ik ga om mijn ongebonden DNS-server-IP (d.w.z. Primaire DNS) te gebruiken in zijn interfaceconfiguratie.

Log in op de clientmachine en stel het Primaire DNS-server-IP in op het IP-adres van onze ongebonden server.

Voer de setup-opdracht uit en kies netwerkconfiguratie uit TUI netwerkbeheer.

Kies vervolgens DNS-configuratie, voer het IP-adres van de ongebonden DNS-server in als Primaire DNS, maar hier heb ik zowel in Primair als Secundair< gebruikt omdat ik geen andere DNS-server heb.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Klik op OK –> Opslaan en afsluiten –> Afsluiten.

19. Nadat u de primaire en secundaire DNS IP-adressen heeft toegevoegd, is het nu tijd om het netwerk opnieuw op te starten met de volgende opdracht.

/etc/init.d/network restart

20. Nu is het tijd om toegang te krijgen tot een van de websites vanaf de clientcomputer en te controleren op de cache in de ongebonden DNS-server.

elinks aol.com
dig aol.com

Conclusie

Eerder waren we gewend om de DNS-cacheserver in te stellen met behulp van het bindpakket in RHEL- en CentOS-systemen. Nu hebben we gezien hoe je een DNS-cacheserver kunt instellen met behulp van een ongebonden pakket. Ik hoop dat dit uw vraagverzoek sneller zal oplossen dan het bindpakket.