Asenna vain välimuistin sisältävä DNS-palvelin CentOS 6.5:n "Bind"-toiminnolla


On olemassa useita erityyppisiä DNS-palvelimia, kuten isäntä-, orja-, edelleenlähetys- ja välimuistipalvelimia, joista Caching-Only DNS on helpommin asennettava. DNS käyttää UDP-protokollaa, joten se lyhentää kyselyaikaa, koska UDP-protokollalla ei ole kuittausta.

Lue myös: Asenna Master-Slave DNS-palvelin CentOS 6.5:ssä

Vain välimuistissa oleva DNS-palvelin tunnetaan myös ratkaisijana. Se kyselee DNS-tietueita ja saa kaikki DNS-tiedot muilta palvelimilta ja tallentaa jokaisen kyselypyynnön välimuistiinsa myöhempää käyttöä varten. Kun kyselemme samaa pyyntöä toisen kerran, se palvelee välimuististaan, mikä lyhentää kyselyyn kuluvaa aikaa.

Jos aiot määrittää DNS-välimuistipalvelimen CentOS/RHEL 7:ssä, seuraa tätä opasta täällä:

Vain välimuistin sisältävän DNS-nimipalvelimen määrittäminen CentOS/RHEL 7:ssä

Testausympäristöni
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

Vaihe 1: Asenna vain välimuistiin tarkoitettu DNS

1. Vain välimuistiin tallennettava DNS voidaan asentaa paketilla bind. Tehdään pieni haku paketin nimelle, jos emme muista täyttöpaketin nimeä alla olevalla komennolla.

yum search bind

2. Yllä olevassa tuloksessa näet näytetyt paketit. Siitä meidän on valittava paketit bind ja bind-utils. Asennamme ne seuraavalla yum-komennolla.

yum install bind bind-utils -y

Vaihe 2: Määritä vain välimuistiin tarkoitettu DNS

3. Kun DNS-paketit on asennettu, määritä DNS. Avaa named.conf-tiedosto ja muokkaa sitä vim-editorilla.

vim /etc/named.conf

4. Tee seuraavaksi muutokset alla ehdotetulla tavalla tai voit käyttää asetuksiasi vaatimusten mukaisesti. Seuraavat ovat muutokset, jotka meidän on tehtävä vain välimuistissa olevalle DNS-palvelimelle. Tässä oletuksena localhost on siellä, meidän on lisättävä "kaikki", jotta voimme hyväksyä kyselyn mistä tahansa verkkoalueesta.

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

  1. kuunteluportti 53 – Tämä tarkoittaa, että välimuistipalvelin haluaa käyttää porttia 53 kyselyihin.
  2. allow-query – Tämä määrittää, mikä IP-osoite voi tehdä kyselyn palvelimelta, tässä olen määritellyt localhostille, mistä tahansa, mistä kuka tahansa voi lähettää kyselyn.
  3. allow-query-cache – Tämä lisää kyselypyynnön sidokseen.
  4. rekursio – Tämä kysyy vastauksen ja antaa meille takaisin. Kyselyn aikana se voi lähettää kyselyn toiselle DNS-palvelimelle Internetin kautta ja vetää kyselyn takaisin.

5. Tiedoston muokkauksen jälkeen meidän on tarkistettava, eikö named.conf-tiedostojen omistajuutta ole muutettu arvosta root:named, koska DNS toimii järjestelmän käyttäjän nimellä alla.

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

6. Jos palvelimessa on käytössä selinux, named.conf-tiedoston muokkauksen jälkeen meidän on tarkistettava selinux-konteksti. Kaikkien nimettyjen asetustiedostojen on oltava system_u:object_r:named_conf_t:s0" -konteksti alla olevan kuvan mukaisesti.

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

Okei, tässä meidän on testattava DNS-kokoonpano nyt syntaksivirheiden varalta, ennen kuin aloitat sidospalvelun. Jos virhe löytyy, osa voidaan jäljittää myös tiedostosta /var/messages.

named-checkconf /etc/named.conf

Kun syntaksin tarkistuksen tulokset näyttävät täydellisiltä, käynnistä palvelu uudelleen, jotta yllä olevat muutokset tulevat voimaan, ja varmista, että palvelu toimii jatkuvasti palvelimen uudelleenkäynnistyksen aikana ja vahvista sama.

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

7. Avaa seuraavaksi palomuurin portti 53 salliaksesi pääsyn.

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

Vaihe 4: Chroot-välimuistin vain DNS

8. Jos haluat käyttää DNS-välimuistipalvelinta chroot-ympäristössä, sinun on asennettava vain chroot-paketti, eikä muita tarvita. kokoonpano, koska se on oletusarvoisesti kiinteä linkki chrootille.

yum install bind-chroot -y

Kun chroot-paketti on asennettu, voit käynnistää nimetyn palvelun uudelleen tehdäksesi uusia muutoksia.

/etc/init.d/named restart

9. Kun käynnistät nimetyn palvelun uudelleen, se luo automaattisesti kiinteän linkin /etc/named-määritystiedostoista hakemistoon /var/named/chroot/etc/ hakemistosta. Vahvista käyttämällä cat-komentoa kohdassa /var/named/chroot.

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

Yllä olevassa kokoonpanossa näet saman /etc/named.conf-kokoonpanon, koska se korvataan paketin bind-chroot asennuksen aikana.

Vaihe 5: Asiakaspuolen DNS-asetukset

10. Lisää DNS-välimuistipalvelimet IP 192.168.0.200 asiakaskoneen ratkaisijaksi.

Debian-pohjaisissa koneissa se on kohdassa /etc/resolv.conf ja RPM-pohjaisissa koneissa se on setup-komennon alla tai voimme muokata. manuaalisesti tiedostossa /etc/sysconfig/network-scripts/ifcfg-eth0.

11. Lopuksi on aika tarkistaa välimuistipalvelimemme joidenkin työkalujen avulla. Voimme testata dig- ja nslookup-komennoilla Linux-järjestelmissä, ja Windowsissa voit käyttää nslookup-komentoa.

Tehdään kysely osoitteesta facebook.com ensimmäistä kertaa, jotta se tallentaa kyselynsä välimuistiin.

dig facebook.com

dig facebook.com

Käytä nslookup-komentoa vahvistaaksesi saman.

nslookup facebook.com

Lue lisää dig- ja nslookup-komento-esimerkeistä ja käytöstä seuraavien linkkien avulla.

  1. 8 nslookup-komentoa ja käyttö
  2. 10 kaivauskomentoa ja käyttö

Tässä olemme nähneet, kuinka onnistuneesti olemme määrittäneet DNS-välimuistipalvelimen bind-paketin avulla ja myös suojanneet sen chroot-paketilla.