Master-gul DNS serwerini RHEL/CentOS 6.5-de Baglamak gurallaryny ulanyp guruň
Domen ady serweri (DNS) islendik öý eýelerine at çözmek üçin ulanylýar. Master DNS serwerleri (başlangyç serwer) asyl zona maglumat işleýjileri we gul DNS serweri (Ikinji serwer) diňe bir zona maglumatyny baş serwerlerden göçürmek üçin ulanylýan ätiýaçlyk serwerlerdir. Master Server, zona maglumatlar bazasynda kesgitlän her bir öý eýesiniň atlaryny çözer we UDP protokolyny ulanar, sebäbi UDP protokollary hiç haçan ykrar etme amalyny ulanmaýar, tcp tassyklamany ulanýar. DNS serwerleri, talap haýyşyny has ir çözmek üçin UDP protokollaryny hem ulanýarlar.
DNS-e düşünmek täze doglan çagalar üçin az bulaşyk bolup biler. Ine, DNS-iň işleýşi barada gysgaça düşündiriş.
Aýdaly, haýsydyr bir web sahypasyna girmek zerur bolsa näme ederis? Diňe brauzerde www.google.com ýazyň we enter-e basyň. Hmm, biziň bilýänlerimiziň hemmesi, ýöne hakykat, DNS-iň bizden soraýarka, nähili agyry başdan geçirýändigi. Www.google.com ýazanymyzda ulgam www.google.com gözlär. Haçan-da bir domen adyny ýazanymyzda, a. (nokat) at giňişliginiň kök serwerini gözlemegi aýdýan www.google.com-nyň soňundaky.
Bütin dünýäde soragy çözmek üçin 13 kök serwer bar. Ilki bilen, www.google.com diýip girenimizde, brauzerimiz ussady we gul DNS serwer maglumaty barada ýazgy bolan ýerli çözüjimize haýyş iberer. Şeýle soralýan talap barada maglumaty ýok bolsa, haýyşy Iň ýokary derejeli domene (TLD) geçirerler, eger TLD haýyşy bilmeýändigimi aýtsa, islegiňizi bilýän abraýly serwer bolup biler, bu abraýly adama ugradylar serwerler, bu ýerde diňe www.google.com 72.36.15.56 salgy hökmünde kesgitlenildi.
Şol bir wagtyň özünde abraýly serwer TLD-e jogap berer we TLD kök serwerine geçer we kök brauzere maglumat berer, şonuň üçin brauzer geljekde ulanmak üçin DNS haýyşyny keşde saklar. Şeýlelik bilen bu uzyn proses diňe millisekuntda çözüler. Islegini bilmeseler, NXDOMAIN diýip jogap bererler. Diýmek, Zona maglumatlar bazasynda hiç hili ýazgy ýok. Bu size DNS-iň işleýşine düşünmäge kömek eder diýip umyt edýärin.
Şeýle hem okaň : Ubuntu-da DNS Keş serwerini guruň
Bu makala üçin 3 maşyn, 2 serwer gurmak üçin (ussat we gul) we 1 müşderi üçin ulanýaryn.
--------------------------------------------------- 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
Master DNS serwerini guruň
Ilki bilen, gurmak üçin öňe gitmezden ozal, Master DNS Serweriniň IP adresini, Hostname we Distribution wersiýasyny barlaň.
$ sudo ifconfig | grep inet $ hostname $ cat /etc/redhat-release
Bir gezek, ýokardaky sazlamalaryň dogrudygyny, zerur paketleri gurmak üçin öňe gitmegiň wagtydygyny tassyklaýarsyňyz.
$ sudo yum install bind* -y
Gerekli paketleri guranyňyzdan soň, “konfigurasiýa” faýlynda baş konfigurasiýada zona faýllaryny kesgitläň.
$ sudo vim /etc/named.conf
Aşakda berlen meniň adym.conf faýl ýazgysy, konfigurasiýa faýlyny islegiňize görä üýtgediň.
// // 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";
Aşakdaky faýlda ulanan her konfigurasiýamyzyň düşündirişi.
- diňlemek porty 53 - Bu DNS üçin elýeterli interfeýslerde diňlemek üçin ulanylýar.
- Master DNS - Talaby diňlemek üçin Master DNS IP adresiňizi kesgitläň.
- Gul DNS - Master-den ýer eýelerini çözmek üçin zona maglumatlarymyzy sinhronlamak üçin ulanylýan gul DNS-ni kesgitläň.
- gaýtalanma ýok - Hawa diýlen bolsa, gaýtalanýan talaplar serweri DDOS hüjümine öwürer.
- Zonanyň ady - Tecminlocal.com diýip kesgitlenen zona adyňyzy kesgitläň.
- tipli ussat - Bu ulgam baş serwer üçin düzülenligi sebäpli, ýakyn wagtda geçiriljek gul serweri üçin bu gul bolar.
- tecmintlocal.fwd.zone - Bu faýlda bu zona üçin esasy maglumatlar bar.
- hiç kimiň täzelenmegine rugsat beriň - Hiç biri düzülmese. dinamiki DNS (DDNS) ulanmaz.
Ilki bilen gözleg zolagynyň girişini kesgitläliň. Bu ýerde aşakdaky ýaly named.conf faýlynda kesgitlän zadymyzyň ady bilen zona faýllaryny döretmeli.
tecmintlocal.fwd.zone tecmintlocal.rev.zone
Öňe zona faýllaryny döretmek üçin nusga konfigurasiýa faýllaryny ulanýarys, munuň üçin nusga konfigurasiýa faýllaryny göçürmeli.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone
Bir gezek konfigurasiýa faýllaryny göçürdiňiz, indi vim redaktoryny ulanyp bu zona faýllaryny redaktirläň.
$ sudo vim /var/named/tecmintlocal.fwd.zone
Öňdäki zona faýlynda ýer eýesi maglumatymyzy kesgitlemezden ozal, zona faýlyna gysga göz aýlaň.
Bu meniň öňe sürülýän zona konfigurasiýam, aşakdaky ýazgyny goşuň we islegiňize görä üýtgeşmeler giriziň.
$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
Wq! Faýly ýazdyryň we taşlaň. Öňe serediş redaktirlenenden soň, aşakdaky ýaly görünýär, zona faýlynda oňat format almak üçin TAB ulanyň.
Indi ters gözleg faýly dörediň, eýýäm tecmintlocal.rev.zone adyndan aýlawly faýlyň nusgasyny taýýarladyk. Şeýlelik bilen, bu faýly ters gözlegimizi düzmek üçin ulanýarys.
$ sudo vim /var/named/tecmintlocal.rev.zone
Ters zona faýlynda ýer eýesi maglumatymyzy kesgitlemezden ozal, aşakda görkezilişi ýaly ters gözleg faýlyna çalt göz aýlaň.
Bu meniň ters zona konfigurasiýam, aşakdaky ýazgyny goşuň we islegiňize görä üýtgeşmeler giriziň.
$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.
Wq! Faýly ýazdyryň we taşlaň. Ters görnüşi redaktirlänsoň, aşakdaky ýaly görünýär, zona faýlynda laýyk format almak üçin TAB ulanyň.
Konfigurasiýadaky ýalňyşlyklary barlamazdan ozal, gözlemek we tersine gözlemek faýllarynyň toparyň eýeçiligini barlaň.
$ sudo ls -l /var/named/
Bu ýerde faýllaryň ikisiniň hem kök ulanyjylaryň eýeçiligindedigini görüp bileris, sebäbi nusga faýllaryndan göçürýän faýllarymyz/var/named/astynda elýeterlidir. Topary aşakdaky buýruklary ulanyp, iki faýlda atlandyryň.
$ sudo chgrp named /var/named/tecmintlocal.fwd.zone $ sudo chgrp named /var/named/tecmintlocal.rev.zone
Faýllara dogry eýeçilik belläniňizden soň, täzeden barlaň.
$ sudo ls -l /var/named/
Indi, DNS hyzmatyny başlamazdan ozal zona faýllaryndaky ýalňyşlyklary barlaň. Ilki bilen atlandyrylan.conf faýlyny barlaň, soňra beýleki zona faýllaryny barlaň.
$ 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
Düzgüne görä iptables işleýärdi we DNS serwerimiz ýerlihost bilen çäklendirilýär, eger müşderi DNS Serwerimizden adyny çözmek islese, giriş haýyşyna rugsat bermelidiris, munuň üçin 53-nji port üçin iptables giriş düzgünini goşmalydyrys.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Indi, düzgünleriň INPUT zynjyrynda dogry goşulandygyny barlaň.
$ sudo iptables -L INPUT
Ondan soň düzgünleri ýatda saklaň we diwar diwaryny täzeden açyň.
$ sudo service iptables save $ sudo service iptables restart
Ady berlen hyzmaty başlaň we dowamly ediň.
$ sudo service named start $ sudo chkconfig named on $ sudo chkconfig --list named
Ahyrynda, dig & nslookup gurallaryny ulanyp, düzülen Master DNS zona faýllaryny (öňe we tersine) synap görüň.
$ dig masterdns.tecmintlocal.com [Forward Zone]
$ dig -x 192.168.0.200
$ nslookup tecmintlocal.com $ nslookup masterdns.tecmintlocal.com $ nslookup slavedns.tecmintlocal.com
Salkyn! ussat DNS düzdük, indi gul DNS serwerini gurmaly. Gul serwerini gurmak üçin öňe gideliň, bu ussat gurnama ýaly köp wagt almaz.
Gul DNS serwerini guruň
Gul maşynynda, Master-de görkezilişi ýaly birmeňzeş paketleri gurmalydyrys, geliň, aşakdaky buýrugy ulanyp guralyň.
$ sudo yum install bind* -y
Zona maglumatlar bazamyz we port diňlemek üçin “named.conf” faýlyny açyň we redaktirläň.
$ sudo vim /etc/named.conf
Talaplaryňyza görä üýtgeşmeler giriziň.
// // 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";
DNS hyzmatyny ulanyp başlaň.
$ sudo service named start
Baglaýjy hyzmaty täzeden açanymyzdan soň, zona maglumatyny aýratyn kesgitlemeli däldiris, sebäbi rugsat berişimiz aşakdaky suratda görkezilişi ýaly zona maglumatyny baş serwerden göçürer.
$ sudo ls -l /var/named/slaves
Pişik buýrugyny ulanyp zona maglumatyny barlaň.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone $ sudo cat /var/named/slaves/tecmintlocal.rev.zone
Ondan soň, girmäge birikmek üçin iptables-de DNS port 53-i açyň.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
“Iptables” düzgünlerini ýazdyryň we “iptables” hyzmatyny täzeden açyň.
$ sudo service iptables save $ sudo service iptables restart
Ulgamy ýüklemekde hyzmaty dowam etdiriň.
$ sudo chkconfig iptables on
Check whether persistent set for run-levels .
$ sudo chkconfig --list iptables
Bu! Müşderi maşynlarymyzy sazlamagyň we host adyny barlamagyň wagty.
Müşderi maşynyny sazlaň
Müşderi tarapynda, host adyny bellemek üçin başlangyç (192.168.0.200) we Ikinji DNS (192.168.0.201) ýazgylaryny bellemeli. Munuň üçin, suratda görkezilişi ýaly bu ýazgylaryň hemmesini kesgitlemek üçin gurnama buýrugyny işlediň.
$ setup
.Ogsam, /etc/reslov.conf faýlyny redaktirläň we aşakdaky ýazgylary goşuň.
$ vim /etc/resolv.conf
search tecmintlocal.com nameserver 192.168.0.200 nameserver 192.168.0.201
Indi ip, host ady we serwer gözlegini barlaň.
$ ifconfig | grep inet $ hostname $ nslookup tecmintlocal.com
Indi, öňe we tersine DNS gözlegini ulanyp barlaň.
$ dig masterdns.tecmintlocal.com $ dig -x 192.168.0.200
Gazuwyň aşagy:
- sözbaşy - Bu, biziň soran zatlarymyzyň we netijäniň nähili bolandygyny aýdýar.
- Status - usagdaý NOAL .YŞLYK däldi, bu biziň iberen talap haýyşymyzyň hiç hili RALRYŞLYK bolmazdan üstünlikli bolandygyny aňladýar.
- Sorag - Biziň beren soragymyz, bu ýerde meniň soragym masterdns.tecmintlocal.com.
- Jogap - Maglumat bar bolsa, Talap haýyşy çözüldi.
- Häkimiýet - Domen we zona üçin at serwerleriniň jogaby.
- Goşmaça - host-name we IP adresi ýaly at serwerleri barada goşmaça maglumat.
- Talap wagty - aboveokardaky serwerlerden atlary çözmek üçin näçe wagt gerek boldy.
Ahyrynda düwünimizi barlaň we ping ediň.
$ 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
Ahyrynda, gurnama işleri tamamlandy, bu ýerde başlangyç (Master) we Slave (Seconday) DNS serwerini üstünlikli düzdük, her kim hiç hili kynçylyksyz gurnady diýip umyt edýäris, gurnanyňyzda haýsydyr bir mesele bilen ýüzbe-ýüz bolsaňyz, teswir ýazyp bilersiňiz.