Wéi installéiere a konfiguréieren Cache Only DNS Server mat Unbound an RHEL/CentOS 7


Cache Numm Server mat 'Unbound' (ass eng validéierend, rekursiv a cache DNS Server Software), zréck an RHEL/CentOS 6.x (wou x d'Versiounsnummer ass), hu mir bind benotzt Software fir DNS-Server ze konfiguréieren.

Hei an dësem Artikel wäerte mir 'unbound' Caching Software benotzen fir en DNS Server an RHEL/CentOS 7 Systemer z'installéieren an ze konfiguréieren.

DNS Cache Server gi benotzt fir all DNS Ufro ze léisen déi se kréien. Wann de Server d'Query cache an an Zukunft déiselwecht Ufroen, déi vun all Client gefrot ginn, gëtt d'Ufro vum DNS 'unbound' Cache geliwwert, dëst kann a Millisekonnen gemaach ginn wéi déi éischte Kéier et geléist gouf.

Caching wäert nëmmen als Agent handelen fir d'Ufro vum Client vun engem vun de Forwarder ze léisen. Benotzt Caching Server, reduzéiert d'Laaschtzäit vu Websäiten andeems d'Cache-Datebank an ongebonnen Server hält.

Fir Demonstratiounszwecker wäert ech zwee Systemer benotzen. Den éischte System handelt als Master (Primär) DNS-Server an den zweete System handelt als lokalen DNS-Client.

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

Schrëtt 1: Kontrolléiert System Hostnumm an IP

1. Ier Dir e Cache-DNS-Server opstellt, gitt sécher datt Dir de richtege Hostnumm bäigefüügt hutt an déi richteg statesch IP Adress fir Äre System konfiguréiert hutt, wann net d'Systemstatesch IP Adress setzen.

2. Nodeems Dir richteg Hostnumm a statesch IP Adress setzt, kënnt Dir se mat der Hëllef vun den folgenden Kommandoen verifizéieren.

# hostnamectl
# ip addr show | grep inet

Schrëtt 2: Unbound installéieren an konfiguréieren

3. Ier Dir 'Unbound' Package installéiert, musse mir de System op déi lescht Versioun aktualiséieren, duerno kënne mir den unbound Package installéieren.

# yum update -y
# yum install unbound -y

4. Nodeems de Package installéiert ass, maacht eng Kopie vun der ongebonnener Konfiguratiounsdatei ier Dir Ännerunge vun der ursprénglecher Datei maacht.

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

5. Als nächst, benotzt iergendeng vun Äre Liiblings Texteditor fir 'unbound.conf' Konfiguratiounsdatei opzemaachen an z'änneren.

# vim /etc/unbound/unbound.conf

Wann d'Datei opgemaach ass fir z'änneren, maacht déi folgend Ännerungen:

Sich no Interface an aktivéiert d'Interface déi mir benotze wäerten oder wann eise Server méi Interfaces huet, musse mir den Interface 0.0.0.0 aktivéieren.

Hei Eis Server IP war 192.168.0.50, Also, ech wäert unbound an dësem Interface benotzen.

Interface 192.168.0.50

Sich no der folgender String a maacht et 'Jo'.

do-ip4: yes
do-udp: yes
do-tcp: yes

Fir de Log z'aktivéieren, füügt d'Variabel wéi hei drënner, et protokolléiert all ongebonnen Aktivitéiten.

logfile: /var/log/unbound

Aktivéiert de folgende Parameter fir id.server an hostname.bind Ufroen ze verstoppen.

hide-identity: yes

Aktivéiert de folgende Parameter fir version.server an version.bind Ufroen ze verstoppen.

hide-version: yes

Da sicht no Access-Control fir ze erlaben. Dëst ass fir z'erméiglechen, wéi eng Clienten erlaabt sinn dësen ongebonnenen Server ze froen.

Hei hunn ech 0.0.0.0 benotzt, dat heescht datt iergendeen Ufro un dëse Server schéckt. Wa mir Ufro fir e puer Netzpalette musse refuséieren, kënne mir definéieren wéi ee Netzwierk muss refuséieren vun ongebonnenen Ufroen.

access-control: 0.0.0.0/0 allow

Bemierkung: Amplaz vun erlaben, kënne mir et duerch allow_snoop ersetzen, dëst wäert e puer zousätzlech Parameteren aktivéieren wéi dig an et ënnerstëtzt souwuel rekursiv wéi net-rekursiv.

Da sichen no Domain-insecure. Wann eisen Domain funktionnéiert mat DNS sec Schlësselen, musse mir eise Server definéieren verfügbar fir Domain-onsécher. Hei gëtt eis Domain als onsécher behandelt.

domain-insecure: "tecmintlocal.com

Dann ännert d'Forwarder fir eis ugefrote Ufro, déi net vun dësem Server erfëllt ass, et wäert op d'Root-Domain (.) weiderginn an d'Ufro léisen.

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

Schlussendlech späichert d'Konfiguratiounsdatei mat wq! a gitt op.

6. Nodeems Dir déi uewe genannte Konfiguratioun gemaach hutt, kontrolléiert elo d'Datei unbound.conf fir all Feeler mat dem folgenden Kommando.

# unbound-checkconf /etc/unbound/unbound.conf

7. No der Verifizéierung vun der Datei ouni Feeler, kënnt Dir sécher den 'unbound' Service nei starten an et beim Systemstart aktivéieren.

# systemctl start unbound.service
# sudo systemctl enable unbound.service

Schrëtt 3: Test DNS Cache lokal

8. Elo ass et Zäit eisen DNS Cache ze kontrolléieren, andeems Dir en 'Drill' (Query) een 'india.com' Domain mécht. Fir d'éischt daueren d'Resultater vum 'Drill' Kommando fir 'india.com' Domain e puer Millisekonnen, a maacht dann en zweeten Drill an hunn eng Notiz iwwer Query Zäit déi et fir béid Übungen dauert.

drill india.com @192.168.0.50

Hutt Dir am uewe genannten Output gesinn, déi éischt Ufro ass bal 262 msec geholl fir ze léisen an déi zweet Ufro dauert 0 msec fir d'Domain ze léisen (india.com b>).

Dat heescht, déi éischt Ufro gëtt an eisem DNS Cache gespäichert, also wa mir 'Drill' zweete Kéier lafen d'Ufro vun eisem lokalen DNS Cache zerwéiert, sou kënne mir d'Laaschtgeschwindegkeet vun de Websäite verbesseren.

Schrëtt 4: Spull Iptables a Füügt Firewalld Regelen

9. Mir kënnen net souwuel iptables a Firewalld gläichzäiteg op der selwechter Maschinn benotzen, wa mir dat maachen, wäerte béid Konflikt matenee sinn, also d'Ipables Regelen ewechhuelen wäert eng gutt Iddi sinn. Fir d'iptables ze läschen oder ze spülen, benotzt de folgende Kommando.

# iptables -F

10. Nodeems Dir iptables Regelen permanent geläscht hutt, füügt elo den DNS Service op d'Firewalld Lëscht permanent.

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

11. Nodeems Dir DNS Service Regelen derbäigesat hutt, Lëscht d'Regelen a confirméiert.

# firewall-cmd --list-all

Schrëtt 5: Gestioun an Troubleshooting Unbound

12. Fir den aktuellen Serverstatus ze kréien, benotzt de folgende Kommando.

# unbound-control status

13. Wann am Fall Dir wëllt en Dump vun engem DNS-Cache-Informatioun an enger Textdatei hunn, kënnt Dir se op e puer Dateie mat Hëllef vun ënnen Kommando fir Zukunft benotzen.

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

14. Fir de Cache vun der dumpte Datei ze restauréieren oder z'importéieren, kënnt Dir folgend Kommando benotzen.

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

15. Fir z'iwwerpréiwen ob déi spezifesch Adress vun eise Forwarder am unbound Cache Server geléist gouf, benotzt de Kommando ënnen.

# unbound-control lookup google.com

16. E puer Mol, wann eisen DNS-Cache-Server eis Ufro net beäntwert, kënne mir an der Tëschenzäit benotze fir de Cache ze spülen fir Informatioun ze läschen wéi A, AAA, NS, SO, CNAME, MX, PTR etc.. records from DNS Cache. Mir kënnen all Informatioun mat der flush_zone läschen, dëst wäert all Informatioun ewechhuelen.

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

17. Fir z'iwwerpréiwen déi Forwarden am Moment benotzt ginn ze léisen.

# unbound-control list_forwards

Schrëtt 6: Client Säit DNS Configuratioun

18. Hei hunn ech e CentOS 6 Server als meng Clientmaschinn benotzt, d'IP fir dës Maschinn ass 192.168.0.100 an ech wäert meng ongebonnen DNS Server IP benotzen (dh Primär DNS) an der Interface Konfiguratioun.

Loggt Iech op d'Clientmaschinn a setzt den Primäre DNS-Server IP op d'IP vun eisem ongebonnenen Server.

Fëllt de Setup Kommando aus a wielt Netzwierkkonfiguratioun vum TUI Netzwierkmanager.

Wielt dann DNS Konfiguratioun, füügt d'IP vum ongebonnenen DNS-Server als Primär DNS an, awer hei hunn ech souwuel an Primär an Sekundär< benotzt well ech keen aneren DNS Server hunn.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Klickt op OK –> Späicheren&Quitt –> Quitt.

19. Nodeems Dir Primär a Sekundär DNS IP Adressen bäigefüügt hutt, ass et elo Zäit fir d'Netzwierk nei ze starten andeems Dir folgend Kommando benotzt.

# /etc/init.d/network restart

20. Elo Zäit fir Zougang zu enger vun der Websäit vun der Clientmaschinn ze kréien a kuckt no de Cache an unbound DNS Server.

# elinks aol.com
# dig aol.com

Conclusioun

Virdru ware mir benotzt fir den DNS Cache-Server opzestellen mat Bind Package an RHEL an CentOS Systemer. Elo hu mir gesinn wéi een en DNS-Cache-Server opbaut mat ongebonnenen Package. Hoffen dëst wäert Är Ufro Ufro méi séier léisen wéi de Bind Package.