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.
- hlustunartengi 53 – Þetta er notað fyrir DNS til að hlusta í tiltækum viðmótum.
- Master DNS – Tilgreindu, Master DNS IP tölu þína til að hlusta á fyrirspurnina.
- Þræla DNS – Skilgreindu Þræla DNS, sem er notað til að samstilla svæðisupplýsingar okkar til að leysa hýsingar frá Master.
- endurkvæmni nei – Ef það er stillt á já munu endurkvæmar fyrirspurnir gera þjóninn í DDOS árás.
- Zone Name – Skilgreindu svæðisheitið þitt hér skilgreint sem tecminlocal.com.
- 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.
- tecmintlocal.fwd.zone – Þessi skrá hefur hýsingarupplýsingarnar fyrir þetta svæði.
- 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ð:
- Höfuð – Þetta segir allt sem við höfum spurt um og hvernig útkoman var.
- Staða – Staðan var ENGIN VILLA, það þýðir að hvaða fyrirspurnarbeiðni sem við sendum tókst án nokkurrar VILLU.
- Spurning – Fyrirspurnin sem gerð var af okkur, hér var fyrirspurnin mín masterdns.tecmintlocal.com.
- Svar – Fyrirspurnarbeiðnin leyst ef það eru tiltækar upplýsingar.
- Authority – Svar nafnaþjóna fyrir lénið og svæðið.
- Viðbótar – Viðbótarupplýsingar varðandi nafnaþjóna eins og hýsilnafn og IP-tölu.
- 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.