Kako namestiti in konfigurirati strežnik DNS samo z predpomnilnikom z brez povezave v RHEL/CentOS 7


Za predpomnjenje imenskih strežnikov z uporabo ' Unbound ' (je validacijska, rekurzivna in predpomnilniška programska oprema strežnika DNS), nazaj v RHEL/CentOS 6.x (kjer je x številka različice), smo uporabili bind programska oprema za konfiguracijo strežnikov DNS.

V tem članku bomo za namestitev in konfiguracijo strežnika DNS v sistemih RHEL/CentOS 7 uporabili programsko opremo za predpomnjenje brez povezave.

Strežniki predpomnilnika DNS se uporabljajo za reševanje vseh prejetih poizvedb DNS. Če strežnik predpomni poizvedbo in bodo v prihodnosti iste poizvedbe, ki jih zahtevajo kateri koli odjemalci, zahtevo dostavili iz predpomnilnika DNS brez povezave , je to mogoče storiti v milisekundah, kot je bilo prvič razrešeno.

Keširanje bo delovalo le kot agent, ki bo rešil poizvedbo stranke pri katerem koli od posrednikov. Uporaba strežnika za predpomnjenje bo zmanjšala čas nalaganja spletnih strani, tako da bo baza podatkov predpomnilnika ostala v nevezanem strežniku.

Za predstavitev bom uporabil dva sistema. Prvi sistem bo deloval kot glavni (primarni) strežnik DNS, drugi sistem pa kot lokalni odjemalec DNS.

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

1. korak: Preverite ime in IP sistema gostitelja

1. Preden nastavite predpomnilniški strežnik DNS, se prepričajte, da ste dodali pravilno ime gostitelja in konfigurirali pravilen statični naslov IP za svoj sistem, če ne nastavite statičnega naslova IP sistema.

2. Potem, ko nastavite pravilno ime gostitelja in statični naslov IP, jih lahko preverite s pomočjo naslednjih ukazov.

# hostnamectl
# ip addr show | grep inet

2. korak: Namestitev in konfiguriranje brez obvez

3. Pred namestitvijo paketa ‘Unbound’ moramo svoj sistem posodobiti na najnovejšo različico, po tem pa lahko namestimo paket unbound.

# yum update -y
# yum install unbound -y

4. Ko je paket nameščen, pred kakršnimi koli spremembami prvotne datoteke naredite kopijo nevezane konfiguracijske datoteke.

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

5. Nato s katerim koli najljubšim urejevalnikom besedil odprite in uredite konfiguracijsko datoteko »unbound.conf«.

# vim /etc/unbound/unbound.conf

Ko je datoteka odprta za urejanje, naredite naslednje spremembe:

Poiščite Vmesnik in omogočite vmesnik, ki ga bomo uporabljali, ali če ima naš strežnik več vmesnikov, moramo omogočiti vmesnik 0.0.0.0 .

Tu je bil IP našega strežnika 192.168.0.50 , zato bom v tem vmesniku uporabil brez povezave.

Interface 192.168.0.50

Poiščite naslednji niz in izberite » Da «.

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

Če želite omogočiti dnevnik, dodajte spremenljivko, kot je prikazano spodaj, zabeležila bo vse nevezane dejavnosti.

logfile: /var/log/unbound

Omogočite naslednji parameter, da skrijete poizvedbe id.server in hostname.bind .

hide-identity: yes

Omogočite naslednji parameter, da skrijete poizvedbi version.server in version.bind .

hide-version: yes

Nato poiščite nadzor dostopa , da dovolite. To omogoča, kateri odjemalci lahko poizvedujejo po tem nevezanem strežniku.

Tu sem uporabil 0.0.0.0 , kar pomeni, da kdo pošlje poizvedbo na ta strežnik. Če moramo zavrniti poizvedbo za določen obseg omrežja, lahko določimo, kateremu omrežju je treba zavrniti nevezane poizvedbe.

access-control: 0.0.0.0/0 allow

Opomba: Namesto dovoljenja ga lahko nadomestimo s allow_snoop , kar bo omogočilo nekatere dodatne parametre, kot je dig , in podpira tako rekurzivno kot nerekurzivno.

Nato poiščite domeno, ki ni varna . Če naša domena deluje s DNS sek ključi , moramo določiti strežnik, ki je na voljo za domeno, ki ni varna . Tu bo naša domena obravnavana kot negotova.

domain-insecure: "tecmintlocal.com

Nato spremenite posrednike za našo zahtevano poizvedbo, ki je ta strežnik ne izpolnjuje, jo bo posredoval v korensko domeno (. ) in razrešil poizvedbo.

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

Na koncu shranite in zapustite konfiguracijsko datoteko z uporabo wq! .

6. Po izvedbi zgornje konfiguracije z naslednjim ukazom preverite, ali v datoteki unbound.conf obstajajo napake.

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

7. Po končanem preverjanju datotek brez napak lahko varno znova zaženete storitev »brez povezave« in jo omogočite ob zagonu sistema.

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

3. korak: Lokalno preizkusite predpomnilnik DNS

8. Zdaj je čas, da preverimo predpomnilnik DNS, tako da naredimo domeno 'drill' (poizvedba) ene 'india.com'. Najprej bodo rezultati ukaza „drill“ za domeno „india.com“ trajali nekaj milisekund, nato pa naredite drugo vajo in si zabeležite Čas poizvedbe , ki je potreben za obe vaji.

drill india.com @192.168.0.50

Ali ste v zgornjem izhodu videli, da je prva poizvedba razrešila skoraj 262 ms , druga poizvedba pa 0 ms za razrešitev domene ( india.com ).

To pomeni, da se prva poizvedba predpomni v našem predpomnilniku DNS, tako da lahko, ko drugič zaženemo poizvedbo, vrnjeno iz našega lokalnega predpomnilnika DNS, na ta način izboljšamo hitrost nalaganja spletnih mest.

4. korak: Izperite Iptables in dodajte pravila požarnega zidu

9. Obeh iptables in firewalld ne moremo uporabljati hkrati na istem računalniku, če bosta oba v nasprotju, zato bo odprava pravil ipables dobra ideja. Če želite odstraniti ali sprati iptable, uporabite naslednji ukaz.

# iptables -F

10. Ko trajno odstranite pravila iptables, zdaj storitev DNS trajno dodajte na seznam požarnih zidov.

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

11. Potem ko dodate pravila storitve DNS, jih navedite in potrdite.

# firewall-cmd --list-all

5. korak: Upravljanje in odpravljanje težav brez omejitev

12. Če želite dobiti trenutno stanje strežnika, uporabite naslednji ukaz.

# unbound-control status

13. Če želite v primeru, da želite v besedilno datoteko izpisati podatke predpomnilnika DNS, jih lahko z uporabo spodnjega ukaza za nadaljnjo uporabo preusmerite v neko datoteko.

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

14. Če želite obnoviti ali uvoziti predpomnilnik iz dampinške datoteke, lahko uporabite naslednji ukaz.

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

15. Če želite preveriti, ali so naši posredniki v nevezanem predpomnilniku strežnika razrešili določen naslov, uporabite spodnji ukaz.

# unbound-control lookup google.com

16. Včasih, če nam strežnik predpomnilnika DNS ne odgovori na poizvedbo, lahko vmes izpraznimo predpomnilnik in odstranimo informacije, kot so A , AAA , NS , SO , CNAME , MX , PTR itd .. zapisi iz predpomnilnika DNS. Vse podatke lahko odstranimo z uporabo flush_zone , s čimer bomo odstranili vse informacije.

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

17. Preveriti, kateri napadi se trenutno uporabljajo za reševanje.

# unbound-control list_forwards

6. korak: Konfiguracija DNS na strani odjemalca

18. Tu sem kot odjemalski računalnik uporabil strežnik CentOS 6 , IP za ta stroj je 192.168.0.100 in uporabil bom svoj nevezani IP strežnika DNS (tj. primarni DNS) v konfiguraciji vmesnika.

Prijavite se v odjemalski stroj in nastavite IP primarnega strežnika DNS na IP našega nevezanega strežnika.

Zaženite ukaz za nastavitev in v omrežnem upravitelju TUI izberite omrežno konfiguracijo.

Nato izberite konfiguracijo DNS , vstavite IP nevezanega strežnika DNS kot Primarni DNS , vendar sem tukaj uporabil tako v Primarni kot Sekundarni , ker nimam nobenega drugega strežnika DNS.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Kliknite V redu -> Shrani in zapri -> Zapri .

19. Po dodajanju primarnih in sekundarnih naslovov IP DNS je zdaj čas, da znova zaženete omrežje z naslednjim ukazom.

# /etc/init.d/network restart

20. Zdaj je čas za dostop do katerega koli spletnega mesta iz odjemalskega računalnika in preverjanje predpomnilnika v nevezanem strežniku DNS.

# elinks aol.com
# dig aol.com

Zaključek

Prej smo bili uporabljeni za nastavitev strežnika predpomnilnika DNS z uporabo bind paketa v sistemih RHEL in CentOS. Zdaj smo videli, kako nastaviti strežnik predpomnilnika DNS z uporabo nevezanega paketa. Upam, da bo to rešilo vašo poizvedbo hitreje kot pakiranje vezanja.