RHEL/CentOS 6.5-ൽ ബൈൻഡ് ടൂളുകൾ ഉപയോഗിച്ച് മാസ്റ്റർ-സ്ലേവ് DNS സെർവർ സജ്ജീകരിക്കുക
ഡൊമെയ്ൻ നെയിം സെർവർ (ഡിഎൻഎസ്) ഏതെങ്കിലും ഹോസ്റ്റുകൾക്ക് പേര് പരിഹരിക്കാൻ ഉപയോഗിക്കുന്നു. മാസ്റ്റർ ഡിഎൻഎസ് സെർവറുകൾ (പ്രൈമറി സെർവർ) യഥാർത്ഥ സോൺ ഡാറ്റ ഹാൻഡ്uലറുകളാണ്, സ്ലേവ് ഡിഎൻഎസ് സെർവർ (സെക്കൻഡറി സെർവർ) മാസ്റ്റർ സെർവറുകളിൽ നിന്ന് അതേ സോൺ വിവരങ്ങൾ പകർത്താൻ ഉപയോഗിക്കുന്ന ഒരു ബാക്കപ്പ് സെർവറുകൾ മാത്രമാണ്. സോൺ ഡാറ്റാബേസിൽ ഞങ്ങൾ നിർവചിച്ചിരിക്കുന്ന എല്ലാ ഹോസ്റ്റുകളുടെയും പേരുകൾ മാസ്റ്റർ സെർവർ പരിഹരിക്കുകയും UDP പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുകയും ചെയ്യും, കാരണം tcp അംഗീകാരം ഉപയോഗിക്കുമ്പോൾ UDP പ്രോട്ടോക്കോളുകൾ ഒരിക്കലും അംഗീകാര പ്രക്രിയ ഉപയോഗിക്കില്ല. അന്വേഷണ അഭ്യർത്ഥന എത്രയും വേഗം പരിഹരിക്കാൻ DNS സെർവറുകൾ UDP പ്രോട്ടോക്കോളുകളും ഉപയോഗിക്കുന്നു.
DNS മനസ്സിലാക്കുന്നത് പുതുമുഖങ്ങൾക്ക് ആശയക്കുഴപ്പമുണ്ടാക്കിയേക്കാം. ഡിഎൻഎസ് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള ഒരു ഹ്രസ്വ വിശദീകരണം ഇതാ.
നമുക്ക് ഏതെങ്കിലും വെബ്uസൈറ്റ് ആക്uസസ് ചെയ്യണമെങ്കിൽ ഞങ്ങൾ എന്ത് ചെയ്യും എന്ന് പറയാം. ബ്രൗസറിൽ www.google.com എന്ന് ടൈപ്പ് ചെയ്ത് എന്റർ അമർത്തുക. Hmm അത്രയേയുള്ളൂ, പക്ഷേ വസ്തുതയാണ്, ഞങ്ങൾക്കായി അന്വേഷിക്കുമ്പോൾ DNS എത്ര വേദനയോടെയാണ് കടന്നുപോകുന്നത്. നമ്മൾ www.google.com എന്ന് ടൈപ്പ് ചെയ്യുമ്പോൾ സിസ്റ്റം www.google.com എന്ന് നോക്കും. നമ്മൾ ഏതെങ്കിലും ഡൊമെയ്ൻ നാമം ടൈപ്പ് ചെയ്യുമ്പോഴെല്ലാം, ഒരു . (dot) www.google.com ന്റെ അവസാനം നെയിംസ്uപെയ്uസിന്റെ റൂട്ട് സെർവറിൽ തിരയാൻ പറയുന്നു.
ചോദ്യം പരിഹരിക്കാൻ ആഗോളതലത്തിൽ 13 റൂട്ട് സെർവറുകൾ ലഭ്യമാണ്. ആദ്യം, ഞങ്ങൾ www.google.com എന്ന് എന്റർ അമർത്തുമ്പോൾ, ഞങ്ങളുടെ മാസ്റ്റർ, സ്ലേവ് ഡിഎൻഎസ് സെർവർ വിവരങ്ങളെക്കുറിച്ചുള്ള എൻട്രി ഉള്ള ലോക്കൽ റിസോൾവറിലേക്ക് ഞങ്ങളുടെ ബ്രൗസർ ഒരു അഭ്യർത്ഥന കൈമാറും. അത്തരത്തിലുള്ള അഭ്യർത്ഥിച്ച അന്വേഷണത്തെ കുറിച്ച് അവർക്ക് വിവരം ഇല്ലെങ്കിൽ, അവർ അഭ്യർത്ഥന ടോപ്പ് ലെവൽ ഡൊമെയ്uനിലേക്ക് (TLD) കൈമാറും, എനിക്ക് അഭ്യർത്ഥന അറിയില്ല എന്ന് TLD പറഞ്ഞാൽ, നിങ്ങളുടെ അഭ്യർത്ഥന ആധികാരിക സെർവർ അറിഞ്ഞിരിക്കാം, അത് ആധികാരികമായി കൈമാറും. സെർവറുകൾ, ഇവിടെ www.google.com എന്നത് വിലാസം 72.36.15.56 ആയി നിർവചിക്കപ്പെട്ടിരിക്കുന്നു.
ഇതിനിടയിൽ, ആധികാരിക സെർവർ TLD-യ്uക്ക് ഉത്തരം നൽകും, കൂടാതെ TLD റൂട്ട് സെർവറിലേക്ക് പോകുകയും റൂട്ട് ബ്രൗസറിലേക്ക് വിവരങ്ങൾ നൽകുകയും ചെയ്യും, അതിനാൽ ബ്രൗസർ ഭാവിയിലെ ഉപയോഗത്തിനായി DNS അഭ്യർത്ഥന കാഷെ ചെയ്യും. അങ്ങനെ ഈ നീണ്ട പ്രക്രിയ വെറും മില്ലിസെക്കൻഡിൽ പരിഹരിക്കപ്പെടും. അവർക്ക് അഭ്യർത്ഥന അറിയില്ലെങ്കിൽ അവർ NXDOMAIN ആയി മറുപടി നൽകും. അതായത്, സോൺ ഡാറ്റാബേസിൽ ഒരു രേഖയും കണ്ടെത്തിയില്ല. ഡിഎൻഎസ് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് മനസിലാക്കാൻ ഇത് നിങ്ങളെ സഹായിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു.
ഇതും വായിക്കുക: ഉബുണ്ടുവിൽ ഡിഎൻഎസ് കാഷെ സെർവർ സജ്ജീകരിക്കുക
ഈ ലേഖനത്തിനായി, ഞാൻ 3 മെഷീനുകൾ ഉപയോഗിക്കുന്നു, 2 സെർവർ സജ്ജീകരണത്തിനും (മാസ്റ്ററും സ്ലേവും) ക്ലയന്റിനായി 1 ഉം.
--------------------------------------------------- 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 സെർവറിന്റെ IP വിലാസം, ഹോസ്റ്റ് നാമം, വിതരണ പതിപ്പ് എന്നിവ പരിശോധിക്കുക.
$ sudo ifconfig | grep inet $ hostname $ cat /etc/redhat-release
മുകളിലുള്ള ക്രമീകരണങ്ങൾ ശരിയാണെന്ന് നിങ്ങൾ സ്ഥിരീകരിച്ചുകഴിഞ്ഞാൽ, ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ മുന്നോട്ട് പോകേണ്ട സമയമാണിത്.
$ sudo yum install bind* -y
ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ഇപ്പോൾ മാസ്റ്റർ കോൺഫിഗറേഷൻ 'named.conf' ഫയലിൽ സോൺ ഫയലുകൾ നിർവചിക്കുക.
$ sudo vim /etc/named.conf
താഴെ നൽകിയിരിക്കുന്നത് എന്റെ name.conf ഫയൽ എൻട്രിയാണ്, നിങ്ങളുടെ ആവശ്യാനുസരണം കോൺഫിഗറേഷൻ ഫയൽ മാറ്റുക.
// // 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";
മുകളിലുള്ള ഫയലിൽ ഞങ്ങൾ ഉപയോഗിച്ച ഓരോ കോൺഫിഗറേഷന്റെയും വിശദീകരണം താഴെ കൊടുക്കുന്നു.
- ലിസൻ-ഓൺ പോർട്ട് 53 - ലഭ്യമായ ഇന്റർഫേസുകളിൽ കേൾക്കാൻ ഇത് DNS-ന് ഉപയോഗിക്കുന്നു.
- മാസ്റ്റർ ഡിഎൻഎസ് - ചോദ്യം കേൾക്കാൻ നിങ്ങളുടെ മാസ്റ്റർ ഡിഎൻഎസ് ഐപി വിലാസം നിർവ്വചിക്കുക.
- സ്ലേവ് ഡിഎൻഎസ് - നിങ്ങളുടെ സ്ലേവ് ഡിഎൻഎസ് നിർവചിക്കുക, ഇത് മാസ്റ്ററിൽ നിന്നുള്ള ഹോസ്റ്റുകൾ പരിഹരിക്കുന്നതിന് ഞങ്ങളുടെ സോൺ വിവരങ്ങൾ സമന്വയിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.
- ആവർത്തന നമ്പർ - അതെ എന്ന് സജ്ജമാക്കിയാൽ, ആവർത്തന ചോദ്യങ്ങൾ സെർവറിനെ DDOS ആക്രമണമാക്കി മാറ്റും.
- സോണിന്റെ പേര് - tecminlocal.com എന്ന് നിർവചിച്ചിരിക്കുന്ന നിങ്ങളുടെ സോണിന്റെ പേര് ഇവിടെ നിർവചിക്കുക.
- ടൈപ്പ് മാസ്റ്റർ - ഈ സിസ്റ്റം ഒരു മാസ്റ്റർ സെർവറിനായി കോൺഫിഗർ ചെയ്uതിരിക്കുന്നതിനാൽ, വരാനിരിക്കുന്ന സ്ലേവ് സെർവറിനായി ഇത് സ്ലേവ് ആയിരിക്കും.
- tecmintlocal.fwd.zone – ഈ ഫയലിന് ഈ സോണിനായുള്ള ഹോസ്റ്റ് വിവരങ്ങളുണ്ട്.
- അനുവദിക്കുക-അപ്uഡേറ്റ് ചെയ്യരുത് - ഒന്നും സജ്ജീകരിക്കുന്നില്ലെങ്കിൽ. ഇത് Dynamic DNS (DDNS) ഉപയോഗിക്കില്ല.
ആദ്യം നമുക്ക് ഫോർവേഡ് ലുക്ക്-അപ്പ് സോൺ എൻട്രി നിർവചിക്കാം. ഇവിടെ നമ്മൾ named.conf ഫയലിൽ നിർവചിച്ചിരിക്കുന്നതിന്റെ പേരിൽ സോൺ ഫയലുകൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്.
tecmintlocal.fwd.zone tecmintlocal.rev.zone
ഫോർവേഡ് സോൺ ഫയലുകൾ സൃഷ്ടിക്കുന്നതിന് ഞങ്ങൾ സാമ്പിൾ കോൺഫിഗറേഷൻ ഫയലുകൾ ഉപയോഗിക്കുന്നു, ഇതിനായി ഞങ്ങൾ സാമ്പിൾ കോൺഫിഗറേഷൻ ഫയലുകൾ പകർത്തേണ്ടതുണ്ട്.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone
ഒരിക്കൽ, നിങ്ങൾ കോൺഫിഗറേഷൻ ഫയലുകൾ പകർത്തി, ഇപ്പോൾ വിം എഡിറ്റർ ഉപയോഗിച്ച് ഈ സോൺ ഫയലുകൾ എഡിറ്റ് ചെയ്യുക.
$ sudo vim /var/named/tecmintlocal.fwd.zone
ഫോർവേഡ് സോൺ ഫയലിൽ ഞങ്ങളുടെ ഹോസ്റ്റ് വിവരങ്ങൾ നിർവചിക്കുന്നതിന് മുമ്പ്, ആദ്യം സാമ്പിൾ സോൺ ഫയലിലേക്ക് പെട്ടെന്ന് നോക്കുക.
ഇതാണ് എന്റെ ഫോർവേഡ് സോൺ കോൺഫിഗറേഷൻ, ചുവടെയുള്ള എൻട്രി ചേർക്കുകയും നിങ്ങളുടെ ആവശ്യാനുസരണം മാറ്റങ്ങൾ വരുത്തുകയും ചെയ്യുക.
$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 ഉപയോഗിച്ച് ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക!. ഫോർവേഡ് ലുക്ക്-അപ്പ് എഡിറ്റ് ചെയ്തതിന് ശേഷം, സോൺ ഫയലിൽ മാന്യമായ ഫോർമാറ്റ് ലഭിക്കാൻ TAB ഉപയോഗിക്കുക.
ഇപ്പോൾ, റിവേഴ്സ് ലുക്ക്അപ്പ് ഫയൽ സൃഷ്ടിക്കുക, ഞങ്ങൾ ഇതിനകം tecmintlocal.rev.zone എന്ന പേരിൽ ലൂപ്പ്-ബാക്ക് ഫയലിന്റെ ഒരു പകർപ്പ് ഉണ്ടാക്കിയിട്ടുണ്ട്. അതിനാൽ, ഞങ്ങളുടെ റിവേഴ്സ് ലുക്ക്-അപ്പ് ക്രമീകരിക്കുന്നതിന് ഞങ്ങൾ ഈ ഫയൽ ഉപയോഗിക്കുന്നു.
$ sudo vim /var/named/tecmintlocal.rev.zone
റിവേഴ്സ് സോൺ ഫയലിൽ ഞങ്ങളുടെ ഹോസ്റ്റ് വിവരങ്ങൾ നിർവചിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ സാമ്പിൾ റിവേഴ്സ് ലുക്ക്അപ്പ് ഫയലിന്റെ ഒരു ദ്രുത നോക്കുക.
ഇതാണ് എന്റെ റിവേഴ്സ് സോൺ കോൺഫിഗറേഷൻ, ചുവടെയുള്ള എൻട്രി ചേർക്കുകയും നിങ്ങളുടെ ആവശ്യാനുസരണം മാറ്റങ്ങൾ വരുത്തുകയും ചെയ്യുക.
$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 ഉപയോഗിച്ച് ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക!. റിവേഴ്സ് ലുക്ക്-അപ്പ് എഡിറ്റ് ചെയ്തതിന് ശേഷം, സോൺ ഫയലിൽ മാന്യമായ ഫോർമാറ്റ് ലഭിക്കാൻ TAB ഉപയോഗിക്കുക.
കോൺഫിഗറേഷനിൽ എന്തെങ്കിലും പിശകുകൾ ഉണ്ടോയെന്ന് പരിശോധിക്കുന്നതിന് മുമ്പ് ഫോർവേഡ് ലുക്ക്-അപ്പ് & റിവേഴ്സ് ലുക്ക്-അപ്പ് ഫയലുകളുടെ ഗ്രൂപ്പ് ഉടമസ്ഥത പരിശോധിക്കുക.
$ sudo ls -l /var/named/
രണ്ട് ഫയലുകളും റൂട്ട് ഉപയോക്താക്കളുടെ ഉടമസ്ഥതയിലാണെന്ന് ഇവിടെ കാണാം, കാരണം സാമ്പിൾ ഫയലുകളിൽ നിന്ന് ഞങ്ങൾ പകർത്തുന്ന ഫയലുകൾ /var/named/ എന്നതിന് കീഴിൽ ലഭ്യമാണ്. ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് രണ്ട് ഫയലുകളിലും ഗ്രൂപ്പിനെ പേരിലേക്ക് മാറ്റുക.
$ sudo chgrp named /var/named/tecmintlocal.fwd.zone $ sudo chgrp named /var/named/tecmintlocal.rev.zone
ഫയലുകളിൽ ശരിയായ ഉടമസ്ഥാവകാശം സജ്ജീകരിച്ച ശേഷം, അവ വീണ്ടും പരിശോധിക്കുക.
$ sudo ls -l /var/named/
ഇപ്പോൾ, DNS സേവനം ആരംഭിക്കുന്നതിന് മുമ്പ്, സോൺ ഫയലുകളിലെ പിശകുകൾ പരിശോധിക്കുക. ആദ്യം name.conf ഫയൽ പരിശോധിക്കുക, തുടർന്ന് മറ്റ് സോൺ ഫയലുകൾ പരിശോധിക്കുക.
$ 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
ഡിഫോൾട്ടായി iptables പ്രവർത്തിക്കുന്നു, ഞങ്ങളുടെ DNS സെർവർ ലോക്കൽഹോസ്റ്റിലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു, ക്ലയന്റ് ഞങ്ങളുടെ DNS സെർവറിൽ നിന്ന് പേര് പരിഹരിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഞങ്ങൾ ഇൻബൗണ്ട് അഭ്യർത്ഥന അനുവദിക്കേണ്ടതുണ്ട്, അതിനായി 53 പോർട്ടിനായി iptables ഇൻബൗണ്ട് റൂൾ ചേർക്കേണ്ടതുണ്ട്.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
INPUT ശൃംഖലയിൽ നിയമങ്ങൾ ശരിയായി ചേർത്തിട്ടുണ്ടോയെന്ന് ഇപ്പോൾ പരിശോധിക്കുക.
$ sudo iptables -L INPUT
അടുത്തതായി, നിയമങ്ങൾ സംരക്ഷിച്ച് ഫയർവാൾ പുനരാരംഭിക്കുക.
$ sudo service iptables save $ sudo service iptables restart
പേരിട്ടിരിക്കുന്ന സേവനം ആരംഭിച്ച് അത് സ്ഥിരമാക്കുക.
$ sudo service named start $ sudo chkconfig named on $ sudo chkconfig --list named
അവസാനമായി, dig & nslookup ടൂളുകൾ ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്ത മാസ്റ്റർ DNS സോൺ ഫയലുകൾ (ഫോർവേഡും റിവേഴ്സും) പരിശോധിക്കുക.
$ dig masterdns.tecmintlocal.com [Forward Zone]
$ dig -x 192.168.0.200
$ nslookup tecmintlocal.com $ nslookup masterdns.tecmintlocal.com $ nslookup slavedns.tecmintlocal.com
അടിപൊളി! ഞങ്ങൾ ഒരു മാസ്റ്റർ ഡിഎൻഎസ് ക്രമീകരിച്ചു, ഇപ്പോൾ നമുക്ക് ഒരു സ്ലേവ് ഡിഎൻഎസ് സെർവർ സജ്ജീകരിക്കേണ്ടതുണ്ട്. ഒരു സ്ലേവ് സെർവർ സജ്ജീകരിക്കാൻ നമുക്ക് മുന്നോട്ട് പോകാം, ഇത് മാസ്റ്റർ സജ്ജീകരണത്തിന് കൂടുതൽ സമയമെടുക്കില്ല.
സ്ലേവ് ഡിഎൻഎസ് സെർവർ സജ്ജീകരിക്കുക
സ്ലേവ് മെഷീനിലും, മാസ്റ്ററിൽ കാണിച്ചിരിക്കുന്ന അതേ ബൈൻഡ് പാക്കേജുകൾ ഞങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്, അതിനാൽ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് അവ ഇൻസ്റ്റാൾ ചെയ്യാം.
$ sudo yum install bind* -y
ഞങ്ങളുടെ സോൺ ഡാറ്റാബേസിനും പോർട്ട് ലിസണിനുമായി 'named.conf' ഫയൽ തുറന്ന് എഡിറ്റ് ചെയ്യുക.
$ sudo vim /etc/named.conf
നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച്, കാണിച്ചിരിക്കുന്നതുപോലെ മാറ്റങ്ങൾ വരുത്തുക.
// // 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 സേവനം ആരംഭിക്കുക.
$ sudo service named start
ബൈൻഡ് സേവനം പുനരാരംഭിച്ചതിന് ശേഷം, സോൺ വിവരങ്ങൾ ഞങ്ങൾ വ്യക്തിഗതമായി നിർവചിക്കേണ്ടതില്ല, കാരണം ഞങ്ങളുടെ അനുവദനീയമായ കൈമാറ്റം ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ മാസ്റ്റർ സെർവറിൽ നിന്നുള്ള സോൺ വിവരങ്ങൾ ആവർത്തിക്കും.
$ sudo ls -l /var/named/slaves
cat കമാൻഡ് ഉപയോഗിച്ച് സോൺ വിവരങ്ങൾ പരിശോധിക്കുക.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone $ sudo cat /var/named/slaves/tecmintlocal.rev.zone
അടുത്തതായി, ഇൻബൗണ്ട് കണക്ഷൻ അനുവദിക്കുന്നതിന് iptables-ൽ DNS പോർട്ട് 53 തുറക്കുക.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables നിയമങ്ങൾ സംരക്ഷിച്ച് iptables സേവനം പുനരാരംഭിക്കുക.
$ sudo service iptables save $ sudo service iptables restart
സിസ്റ്റം ബൂട്ടിൽ സേവനം സ്ഥിരമാക്കുക.
$ sudo chkconfig iptables on
Check whether persistent set for run-levels .
$ sudo chkconfig --list iptables
അത്രയേയുള്ളൂ!. ഇപ്പോൾ ഞങ്ങളുടെ ക്ലയന്റ് മെഷീനുകൾ കോൺഫിഗർ ചെയ്യാനും ഹോസ്റ്റ് നെയിം പരിശോധിക്കാനും സമയമായി.
ക്ലയന്റ് മെഷീൻ കോൺഫിഗർ ചെയ്യുക
ക്ലയന്റ് ഭാഗത്ത് ഒരു ഹോസ്റ്റ് നെയിം നൽകുന്നതിന് നെറ്റ്uവർക്ക് ക്രമീകരണങ്ങളിൽ പ്രാഥമിക (192.168.0.200), സെക്കൻഡറി DNS (192.168.0.201) എൻട്രികൾ നൽകേണ്ടതുണ്ട്. ചെയ്യാൻ, ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഈ എൻട്രികളെല്ലാം നിർവചിക്കുന്നതിന് സെറ്റപ്പ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.
$ setup
അല്ലെങ്കിൽ, '/etc/reslov.conf' ഫയൽ എഡിറ്റ് ചെയ്uത് ഇനിപ്പറയുന്ന എൻട്രികൾ ചേർക്കുക.
$ vim /etc/resolv.conf
search tecmintlocal.com nameserver 192.168.0.200 nameserver 192.168.0.201
ഇപ്പോൾ, ip, ഹോസ്റ്റ്നാമം, നെയിം സെർവർ ലുക്ക്-അപ്പ് എന്നിവ പരിശോധിക്കുക.
$ ifconfig | grep inet $ hostname $ nslookup tecmintlocal.com
ഇപ്പോൾ, ഫോർവേഡ് & റിവേഴ്സ് ഡിഎൻഎസ് ലുക്ക്-അപ്പ് ഉപയോഗിച്ച് പരിശോധിക്കുക.
$ dig masterdns.tecmintlocal.com $ dig -x 192.168.0.200
ഡിഗ് ഔട്ട്പുട്ട് മനസ്സിലാക്കുന്നു:
- തലക്കെട്ട് – ഞങ്ങൾ ചോദിച്ചതും ഫലം എങ്ങനെയെന്നും എല്ലാം ഇത് പറയുന്നു.
- സ്റ്റാറ്റസ് – സ്റ്റാറ്റസ് പിഴവില്ല, അതിനർത്ഥം ഞങ്ങൾ അയച്ച അന്വേഷണ അഭ്യർത്ഥന പിഴവില്ലാതെ വിജയിച്ചു എന്നാണ്.
- ചോദ്യം - ഞങ്ങൾ നടത്തിയ ചോദ്യം, ഇവിടെ എന്റെ അന്വേഷണം masterdns.tecmintlocal.com ആയിരുന്നു.
- ഉത്തരം – ലഭ്യമായ വിവരങ്ങൾ ഉണ്ടെങ്കിൽ അന്വേഷണ അഭ്യർത്ഥന പരിഹരിച്ചു.
- അതോറിറ്റി – ഡൊമെയ്uനിനും സോണിനുമുള്ള നെയിം സെർവറുകളുടെ പ്രതികരണം.
- അധിക - ഹോസ്റ്റ്-നാമം, IP വിലാസം തുടങ്ങിയ നെയിം-സെർവറുകളെക്കുറിച്ചുള്ള അധിക വിവരങ്ങൾ.
- അന്വേഷണ സമയം – മുകളിലെ സെർവറുകളിൽ നിന്നുള്ള പേരുകൾ പരിഹരിക്കാൻ എത്ര സമയമെടുത്തു.
അവസാനമായി ഞങ്ങളുടെ നോഡ് പരിശോധിച്ച് ഒരു പിംഗ് ഉണ്ടാക്കുക.
$ 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
അവസാനമായി, സജ്ജീകരണം പൂർത്തിയായി, ഇവിടെ ഞങ്ങൾ പ്രൈമറി (മാസ്റ്റർ), സ്ലേവ് (രണ്ടാം) ഡിഎൻഎസ് സെർവറുകൾ വിജയകരമായി കോൺഫിഗർ ചെയ്uതു, എല്ലാവരും ഒരു പ്രശ്uനവുമില്ലാതെ സജ്ജീകരിച്ചിട്ടുണ്ടെന്ന് പ്രതീക്ഷിക്കുന്നു, സജ്ജീകരിക്കുമ്പോൾ എന്തെങ്കിലും പ്രശ്uനം നേരിടുകയാണെങ്കിൽ അഭിപ്രായം രേഖപ്പെടുത്താൻ മടിക്കേണ്ടതില്ല.