Setja upp Master-Slave DNS Server með því að nota „Bind“ verkfæri í RHEL/CentOS 6.5


Lénsnafnaþjónn (DNS) notaður til að skilgreina nafn fyrir hvaða gestgjafa sem er. Master DNS netþjónar (Aðalþjónn) eru upprunalegu svæðisgagnameðhöndlunaraðilarnir og Slave DNS netþjónn (Secondary Server) eru bara varaþjónar sem eru notaðir til að afrita sömu svæðisupplýsingarnar frá aðalþjónum. Master Server mun leysa nöfnin fyrir hvern gestgjafa sem við skilgreindum í svæðisgagnagrunninum og nota UDP samskiptareglur, vegna þess að UDP samskiptareglur nota aldrei staðfestingarferlið á meðan tcp notar staðfestingu. DNS netþjónar nota einnig UDP samskiptareglur til að leysa fyrirspurnina í fyrsta lagi.

Að skilja DNS gæti verið lítið ruglingslegt fyrir nýliða. Hér er stutt útskýring á því hvernig DNS virkar.

Segjum, ef við þurfum að fá aðgang að einhverri vefsíðu hvað munum við gera? Sláðu bara inn www.google.com í vafranum og ýttu á enter. Hmm það er allt sem við vitum, en staðreyndin er sú, hversu sársauka DNS fer í gegnum það, meðan spurt er fyrir okkur. Á meðan við sláum inn www.google.com mun kerfið leita að www.google.com. Alltaf þegar við sláum inn lén er . (punktur) í lok www.google.com sem segir að leita á rótarþjóninum nafnrýmis.

Á heimsvísu eru 13 rótarþjónar tiltækir til að leysa fyrirspurnina. Í fyrstu, á meðan við ýtum á enter sem www.google.com, mun vafrinn okkar senda beiðni til staðbundins lausnaraðila okkar, sem hefur færslu um upplýsingar um húsbónda og þræl DNS netþjóninn okkar. Ef þeir hafa ekki upplýsingar um slíka umbeðna fyrirspurn munu þeir senda beiðnina til efstu lénsins (TLD), ef TLD segir að ég þekki ekki beiðnina, gæti verið að opinberi þjónninn þekki beiðni þína, mun hann áframsenda til opinbers netþjóna, hér var aðeins www.google.com skilgreint sem heimilisfang 72.36.15.56.

Í millitíðinni mun opinber þjónn gefa svar við TLD og TLD mun fara til rótarþjóns og rót mun veita upplýsingarnar til vafrans, þess vegna mun vafrinn vista DNS beiðnina til notkunar í framtíðinni. Þannig mun þetta langa ferli bara leysast á millisekúndum. Ef þeir vita ekki beiðnina munu þeir svara sem NXDOMAIN. Það þýðir að það er engin skrá sem fannst í Zone gagnagrunninum. Vona að þetta fái þig til að skilja hvernig DNS virkar.

Lestu líka: Settu upp DNS Cache Server í Ubuntu

Fyrir þessa grein er ég að nota 3 vélar, 2 fyrir uppsetningu netþjóns (master og þræll) og 1 fyrir viðskiptavin.

---------------------------------------------------
Master DNS Server
---------------------------------------------------

IP Address	:	192.168.0.200
Host-name	:	masterdns.tecmintlocal.com
OS		:	Centos 6.5 Final
---------------------------------------------------
Slave DNS Server
---------------------------------------------------

IP Address	:	192.168.0.201
Host-name	:	slavedns.tecmintlocal.com
OS		:	Centos 6.5 Final
---------------------------------------------------
Client Machine to use DNS
---------------------------------------------------

IP Address	:	192.168.0.210
Host-name	:	node1.tecmintlocal.com
OS		:	Centos 6.5 Final
bind, bind-utils, bind-chroot
config file	:	/etc/named.conf
script file	:	/etc/init.d/named
53, UDP

Setja upp Master DNS Server

Fyrst skaltu staðfesta IP tölu, hýsingarheiti og dreifingarútgáfu Master DNS Server, áður en þú ferð áfram til uppsetningar.

$ sudo ifconfig | grep inet
$ hostname
$ cat /etc/redhat-release

Þegar þú staðfestir að ofangreindar stillingar séu réttar, þá er kominn tími til að halda áfram að setja upp nauðsynlega pakka.

$ sudo yum install bind* -y

Eftir að hafa sett upp nauðsynlega pakka, skilgreinið nú svæðisskrár í aðalstillingar ‘named.conf‘ skránni.

$ sudo vim /etc/named.conf

Hér að neðan er named.conf skráarfærslan mín, breyttu stillingarskránni eftir þörfum þínum.

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.200; }; # Here we need to add our Master DNS Server IP.
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; }; # subnet range where my hosts are allowed to query our DNS.
        allow-transfer     { localhost; 192.168.0.201; };  # Here we need to our Slave DNS server IP.
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

## Define our forward & reverse Zone file here for tecmintlocal.com.


zone"tecmintlocal.com" IN {
type master;
file "tecmintlocal.fwd.zone";
allow-update { none; };
};

zone"0.168.192.in-addr.arpa" IN {
type master;
file "tecmintlocal.rev.zone";
allow-update { none; };
};

#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Eftirfarandi eru útskýringar á hverri stillingu sem við notuðum í skránni hér að ofan.

  1. hlustunartengi 53 – Þetta er notað fyrir DNS til að hlusta í tiltækum viðmótum.
  2. Master DNS – Tilgreindu, Master DNS IP tölu þína til að hlusta á fyrirspurnina.
  3. Þræla DNS – Skilgreindu Þræla DNS, sem er notað til að samstilla svæðisupplýsingar okkar til að leysa hýsingar frá Master.
  4. endurkvæmni nei – Ef það er stillt á já munu endurkvæmar fyrirspurnir gera þjóninn í DDOS árás.
  5. Zone Name – Skilgreindu svæðisheitið þitt hér skilgreint sem tecminlocal.com.
  6. tegund master – Þar sem þetta kerfi var stillt fyrir aðalþjón, fyrir væntanlegan þrælaþjón verður þetta þræll.
  7. tecmintlocal.fwd.zone – Þessi skrá hefur hýsingarupplýsingarnar fyrir þetta svæði.
  8. leyfa uppfærslu ekkert – Ef enginn mun stilla. það mun ekki nota Dynamic DNS (DDNS).

Í fyrstu skulum við skilgreina innslátt fyrir upplitssvæði. Hér þurfum við að búa til svæðisskrárnar í nafni þess sem við höfum skilgreint í named.conf skránni eins og hér að neðan.

tecmintlocal.fwd.zone
tecmintlocal.rev.zone

Við notum sýnishorn af stillingarskrám til að búa til framvirka svæðisskrár, til þess verðum við að afrita sýnishorn stillingarskrár.

$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone
$ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone

Einu sinni hefur þú afritað stillingarskrár, breyttu nú þessum svæðisskrám með því að nota vim ritstjóra.

$ sudo vim /var/named/tecmintlocal.fwd.zone

Áður en hýsilupplýsingarnar okkar eru skilgreindar í framsvæðisskránni skaltu fyrst skoða sýnishornssvæðisskrána.

Þetta er uppstillingin mín á áframhaldandi svæði, bættu við færslunni hér að neðan og gerðu breytingar eftir þörfum þínum.

$TTL 86400
@       IN SOA  masterdns.tecmintlocal.com.     root.tecmintlocal.com. (
                                  2014090401    ; serial
                                        3600    ; refresh
                                        1800    ; retry
                                      604800    ; expire
                                       86400 )  ; minimum

; Name server's

@       IN      NS      masterdns.tecmintlocal.com.
@       IN      NS      slavedns.tecmintlocal.com.

; Name server hostname to IP resolve.

@       IN      A       192.168.0.200
@       IN      A       192.168.0.201

; Hosts in this Domain

@       IN      A       192.168.0.210
@       IN      A       192.168.0.220
masterdns       IN      A       192.168.0.200
slavedns        IN      A       192.168.0.201
node1           IN      A       192.168.0.210
rhel1           IN      A       192.168.0.220

Vistaðu og slepptu skránni með wq!. Eftir að hafa breytt framvísuninni lítur það út eins og hér að neðan, Notaðu TAB til að fá viðeigandi snið í svæðisskrá.

Búðu til öfuga uppflettingarskrá, við höfum þegar búið til afrit af lykkjuskránni í nafni tecmintlocal.rev.zone. Svo við notum þessa skrá til að stilla öfugri uppflettingu okkar.

$ sudo vim /var/named/tecmintlocal.rev.zone

Áður en hýsilupplýsingarnar okkar eru skilgreindar í öfugri svæðisskrá skaltu skoða sýnishorn af öfugri uppflettiskrá eins og sýnt er hér að neðan.

Þetta er öfuga svæðisstillingin mín, bættu við færslunni hér að neðan og gerðu breytingar eftir þörfum.

$TTL 86400
@       IN SOA  masterdns.tecmintlocal.com. root.tecmintlocal.com. (
                                2014090402      ; serial
                                      3600      ; refresh
                                      1800      ; retry
                                    604800      ; expire
                                     86400 )    ; minimum

; Name server's

@       IN      NS      masterdns.tecmintlocal.com.
@       IN      NS      slavedns.tecmintlocal.com.
@       IN      PTR     tecmintlocal.com.

; Name server hostname to IP resolve.

masterdns       IN      A       192.168.0.200
slavedns        IN      A       192.168.0.201

;Hosts in Domain 

node1           IN      A       192.168.0.210
rhel            IN      A       192.168.0.220
200             IN      PTR     masterdns.tecmintlocal.com.
201             IN      PTR     slavedns.tecmintlocal.com.
210             IN      PTR     node1.tecmintlocal.com.
220             IN      PTR     rhel1.tecmintlocal.com.

Vistaðu og slepptu skránni með wq!. Eftir að hafa breytt öfugri uppflettingu lítur það út eins og hér að neðan, Notaðu TAB til að fá viðeigandi snið í svæðisskrá.

Athugaðu eignarhald hóps á skrám fyrir áframleit og öfug uppflettingu áður en þú athugar hvort einhverjar villur séu í uppsetningu.

$ sudo ls -l /var/named/

Hér getum við séð báðar skrárnar eru í eigu rótnotenda, vegna þess að skrár sem við gerum afrit úr sýnishornsskrám eru fáanlegar undir /var/named/. Breyttu hópnum í nafn á báðum skrám með því að nota eftirfarandi skipanir.

$ sudo chgrp named /var/named/tecmintlocal.fwd.zone
$ sudo chgrp named /var/named/tecmintlocal.rev.zone

Eftir að hafa stillt rétt eignarhald á skrárnar skaltu staðfesta þær aftur.

$ sudo ls -l /var/named/

Athugaðu nú hvort villurnar eru í svæðisskrám áður en þú byrjar á DNS þjónustunni. Athugaðu fyrst named.conf skrána, athugaðu síðan aðrar svæðisskrár.

$ sudo named-checkconf /etc/named.conf
$ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.fwd.zone
$ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.rev.zone

Sjálfgefið var iptables í gangi og DNS þjónninn okkar er takmarkaður við localhost, ef viðskiptavinur vill leysa nafn frá DNS þjóninum okkar, þá verðum við að leyfa beiðnina á heimleið, til þess þurfum við að bæta iptables innleiðandi reglu fyrir port 53.

$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

Staðfestu nú að reglunum hafi verið bætt rétt við í INPUT keðjunni.

$ sudo iptables -L INPUT

Næst skaltu vista reglurnar og endurræsa eldvegg.

$ sudo service iptables save
$ sudo service iptables restart

Byrjaðu nafngreinda þjónustu og gerðu hana viðvarandi.

$ sudo service named start
$ sudo chkconfig named on
$ sudo chkconfig --list named

Að lokum, prófaðu uppsettu Master DNS svæðisskrárnar (fram og aftur), með því að nota grafa og nslookup verkfæri.

$ dig masterdns.tecmintlocal.com		[Forward Zone]
$ dig -x 192.168.0.200
$ nslookup tecmintlocal.com
$ nslookup masterdns.tecmintlocal.com
$ nslookup slavedns.tecmintlocal.com

Flott! við höfum stillt Master DNS, nú þurfum við að setja upp Slave DNS Server. Við skulum halda áfram að setja upp þrælaþjón, þetta mun ekki taka mikinn tíma sem aðaluppsetning.

Setja upp þræla DNS netþjón

Í Slave vél þurfum við líka að setja upp sömu bindupakkana og sýndir eru í Master, svo við skulum setja þá upp með eftirfarandi skipun.

$ sudo yum install bind* -y

Opnaðu og breyttu 'named.conf' skrá fyrir svæðisgagnagrunninn okkar og gáttahlustun.

$ sudo vim /etc/named.conf

Gerðu breytingar eins og sýnt er, í samræmi við kröfur þínar.

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.201}; # Our Slave DNS server IP
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

## Define our slave forward and reverse zone, Zone files are replicated from master.

zone"tecmintlocal.com" IN {
type slave;
file "slaves/tecmintlocal.fwd.zone";
masters { 192.168.0.200; };
};

zone"0.168.192.in-addr.arpa" IN {
type slave;
file "slaves/tecmintlocal.rev.zone";
masters { 192.168.0.200; };
};

#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Ræstu DNS þjónustuna með því að nota.

$ sudo service named start

Eftir að hafa endurræst bindingarþjónustuna þurfum við ekki að skilgreina svæðisupplýsingarnar fyrir sig, þar sem leyfisflutningur okkar mun endurtaka svæðisupplýsingarnar frá aðalþjóni eins og sýnt er á myndinni hér að neðan.

$ sudo ls -l /var/named/slaves

Staðfestu svæðisupplýsingarnar með því að nota köttaskipun.

$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone
$ sudo cat /var/named/slaves/tecmintlocal.rev.zone

Næst skaltu opna DNS tengi 53 á iptables til að leyfa tengingu á heimleið.

$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

Vistaðu iptables reglurnar og endurræstu iptables þjónustuna.

$ sudo service iptables save
$ sudo service iptables restart

Gerðu þjónustuna viðvarandi við ræsingu kerfisins.

$ sudo chkconfig iptables on
Check whether persistent set for run-levels .
$ sudo chkconfig --list iptables

Það er það!. Nú er kominn tími til að stilla biðlaravélar okkar og athuga hvort hýsingarheitið sé.

Stilla viðskiptavinavél

Í biðlarahlið þurfum við að úthluta aðal (192.168.0.200) og Secondary DNS (192.168.0.201) færslunni í netstillingum til að fá úthlutað hýsilnafni. Til að gera skaltu keyra uppsetningarskipunina til að skilgreina allar þessar færslur eins og sýnt er á myndinni.

$ setup

Annars skaltu breyta '/etc/reslov.conf' skránni og bæta við eftirfarandi færslum.

$ vim /etc/resolv.conf
search tecmintlocal.com
nameserver 192.168.0.200
nameserver 192.168.0.201

Staðfestu nú ip, hýsingarheiti og nafnaþjónsuppflettingu.

$ ifconfig | grep inet
$ hostname
$ nslookup tecmintlocal.com

Athugaðu nú áfram og afturábak DNS uppflettingu með því að nota.

$ dig masterdns.tecmintlocal.com
$ dig -x 192.168.0.200

Að skilja grafaúttakið:

  1. Höfuð – Þetta segir allt sem við höfum spurt um og hvernig útkoman var.
  2. Staða – Staðan var ENGIN VILLA, það þýðir að hvaða fyrirspurnarbeiðni sem við sendum tókst án nokkurrar VILLU.
  3. Spurning – Fyrirspurnin sem gerð var af okkur, hér var fyrirspurnin mín masterdns.tecmintlocal.com.
  4. Svar – Fyrirspurnarbeiðnin leyst ef það eru tiltækar upplýsingar.
  5. Authority – Svar nafnaþjóna fyrir lénið og svæðið.
  6. Viðbótar – Viðbótarupplýsingar varðandi nafnaþjóna eins og hýsilnafn og IP-tölu.
  7. Tími fyrir fyrirspurn – Hversu langan tíma tók að leysa nöfnin frá ofangreindum netþjónum.

Athugaðu loksins fyrir hnútinn okkar og gerðu ping.

$ dig node1.tecmintlocal.com
$ ping masterdns.tecmintlocal.com -c 2
$ ping slavedns.tecmintlocal.com -c 2
$ ping 192.168.0.200 -c 2
$ ping 192.168.0.201 -c 2

Loksins, uppsetningu lokið, hér höfum við stillt bæði Aðal (Master) og Slave (Seconday) DNS netþjón með góðum árangri, vona að allir hafi uppsettir án vandræða, ekki hika við að senda inn athugasemd ef þú lendir í einhverju vandamáli við uppsetningu.