Iestatiet galveno serveri-vergus DNS serveri, izmantojot RHEL/CentOS 6.5 rīkus "Saistīt"
Domēna vārdu serveris (DNS), ko izmanto, lai atrisinātu nosaukumus jebkuram resursdatoram. Galvenie DNS serveri (primārais serveris) ir sākotnējie zonas datu apstrādātāji, un Slave DNS serveris (sekundārais serveris) ir tikai rezerves serveri, kurus izmanto, lai kopētu to pašu zonu informāciju no galvenajiem serveriem. Galvenais serveris atrisinās visus resursdatorus, kurus mēs definējām zonas datu bāzē, un izmantos UDP protokolu, jo UDP protokoli nekad neizmanto apstiprināšanas procesu, bet tcp - apstiprinājumu. DNS serveri arī izmanto UDP protokolus, lai ātrāk atrisinātu vaicājuma pieprasījumu.
DNS izpratne iesācējiem var būt maz mulsinoša. Šeit ir īss paskaidrojums par to, kā darbojas DNS.
Pieņemsim, ka, ja mums ir jāpiekļūst kādai vietnei, ko mēs darīsim? Vienkārši pārlūkprogrammā ierakstiet www.google.com un nospiediet taustiņu Enter. Hmm, tas ir viss, ko mēs zinām, bet fakts ir tāds, cik sāpīgi DNS to iziet, vienlaikus vaicājot par mums. Kamēr mēs rakstām www.google.com, sistēma meklēs vietni www.google.com. Ikreiz, kad mēs ierakstām kādu domēna vārdu, ir. (punkts) www.google.com beigās, kurā teikts, ka meklējiet vārda vietas saknes serverī.
Visā pasaulē vaicājuma atrisināšanai ir pieejami 13 sakņu serveri. Sākumā, kamēr mēs nospiedīsim Enter kā www.google.com, mūsu pārlūkprogramma nosūtīs pieprasījumu mūsu vietējam risinātājam, kurā ir ieraksts par mūsu galveno un vergu DNS serveru informāciju. Ja viņiem nav informācijas par šādu pieprasīto vaicājumu, viņi nodos pieprasījumu augstākā līmeņa domēnam (TLD), ja TLD saka, ka es nezinu pieprasījumu, iespējams, autoritatīvais serveris zina jūsu pieprasījumu, tas tiks nosūtīts autoritatīvam serverim serveriem, šeit tikai www.google.com tika definēts kā adrese 72.36.15.56.
Pa to laiku autoritatīvs serveris sniegs atbildi uz TLD, un TLD pāriet uz saknes serveri, un root sniegs informāciju pārlūkam, tādējādi pārlūks kešatmiņā saglabās DNS pieprasījumu turpmākai izmantošanai. Tādējādi šis ilgais process tiks atrisināts tikai milisekundēs. Ja viņi nezina pieprasījumu, viņi atbildēs kā NXDOMAIN. Tas nozīmē, ka Zone datu bāzē nav neviena ieraksta. Ceru, ka tas jums ļaus saprast, kā darbojas DNS.
Lasīt arī : iestatiet DNS kešatmiņas serveri Ubuntu
Šajā rakstā es izmantoju 3 mašīnas, 2 servera iestatīšanai (galvenais un pakārtotais) un 1 klientam.
--------------------------------------------------- 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
Iestatiet galveno DNS serveri
Pirms sākat iestatīšanu, vispirms pārbaudiet galvenā DNS servera IP adresi, resursdatora nosaukumu un izplatīšanas versiju.
$ sudo ifconfig | grep inet $ hostname $ cat /etc/redhat-release
Kad esat apstiprinājis, ka iepriekš minētie iestatījumi ir pareizi, ir pienācis laiks virzīties uz priekšu, lai instalētu nepieciešamās pakotnes.
$ sudo yum install bind* -y
Pēc nepieciešamo pakotņu instalēšanas tagad definējiet zonas failus galvenajā konfigurācijā ‘named.conf’.
$ sudo vim /etc/named.conf
Zemāk ir mans faila nosaukts.conf ieraksts. Mainiet konfigurācijas failu atbilstoši savām vajadzībām.
// // 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";
Tālāk ir sniegts katras konfigurācijas skaidrojums, ko izmantojām augšējā failā.
- 53. klausīšanās ports - tas tiek izmantots, lai DNS klausītos pieejamās saskarnēs.
- Galvenais DNS - definējiet galveno DNS IP adresi, lai noklausītos vaicājumu.
- Slave DNS - definējiet savu Slave DNS, kas tiek izmantots, lai sinhronizētu mūsu zonas informāciju, lai resursdatorus atrisinātu no Master.
- rekursija nē - ja tā vērtība ir jā, rekursīvie vaicājumi padarīs serveri par DDOS uzbrukumu.
- Zonas nosaukums - šeit definējiet savu zonas nosaukumu, kas definēts kā tecminlocal.com.
- type master - tā kā šī sistēma tika konfigurēta galvenajam serverim, gaidāmajam vergu serverim tas būs vergs.
- tecmintlocal.fwd.zone - šim failam ir šīs zonas resursdatora informācija.
- neatļaut atjaunināt neviens - ja neviens netiks iestatīts. tas neizmantos dinamisko DNS (DDNS).
Sākumā definēsim ieeju uz priekšu. Šeit mums jāizveido zonu faili tā nosaukuma vārdā, kuru esam definējuši failā named.conf , kā norādīts tālāk.
tecmintlocal.fwd.zone tecmintlocal.rev.zone
Mēs izmantojam konfigurācijas failu paraugus, lai izveidotu priekšu zonas failus, tāpēc mums ir jākopē konfigurācijas failu paraugi.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone
Kad esat nokopējis konfigurācijas failus, tagad rediģējiet šos zonu failus, izmantojot vim redaktoru.
$ sudo vim /var/named/tecmintlocal.fwd.zone
Pirms definējat mūsu resursdatora informāciju priekšējās zonas failā, vispirms ātri apskatiet zonas faila paraugu.
Šī ir mana priekšējās zonas konfigurācija, pievienojiet zemāk esošo ierakstu un veiciet izmaiņas atbilstoši jūsu vajadzībām.
$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
Saglabājiet un aizveriet failu, izmantojot wq !. Pēc priekšskatījuma rediģēšanas izskatās šādi: Izmantojiet tabulēšanas taustiņu, lai zonas failā iegūtu pienācīgu formātu.
Tagad, izveidojiet reversās meklēšanas failu, mēs jau esam izveidojuši cilpas atpakaļ faila kopiju tecmintlocal.rev.zone vārdā. Tātad, mēs izmantojam šo failu, lai konfigurētu mūsu reverso meklēšanu.
$ sudo vim /var/named/tecmintlocal.rev.zone
Pirms definējat mūsu resursdatora informāciju reversās zonas failā, ātri apskatiet apgrieztās meklēšanas faila paraugu, kā parādīts zemāk.
Šī ir mana reversās zonas konfigurācija, pievienojiet zemāk esošo ierakstu un veiciet izmaiņas pēc jūsu vajadzības.
$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.
Saglabājiet un aizveriet failu, izmantojot wq !. Pēc reversās uzmeklēšanas rediģēšanas izskatās šādi: Izmantojiet tabulēšanas taustiņu, lai zonas failā iegūtu pienācīgu formātu.
Pirms pārbaudāt, vai konfigurācijā nav kļūdu, pārbaudiet grupas uz priekšu un atpakaļgaitas meklēšanas failus.
$ sudo ls -l /var/named/
Šeit mēs varam redzēt, ka abi faili ir root lietotāju īpašumā, jo faili, kurus mēs kopējam no paraugu failiem, ir pieejami zem/var/nosaukts /. Mainiet grupu uz nosauktu abos failos, izmantojot šādas komandas.
$ sudo chgrp named /var/named/tecmintlocal.fwd.zone $ sudo chgrp named /var/named/tecmintlocal.rev.zone
Pēc pareizu īpašumtiesību iestatīšanas failiem pārbaudiet tos vēlreiz.
$ sudo ls -l /var/named/
Pirms DNS pakalpojuma palaišanas pārbaudiet, vai zonas failos nav kļūdu. Vispirms pārbaudiet failu named.conf, pēc tam pārbaudiet citus zonas failus.
$ 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
Pēc noklusējuma iptables darbojās, un mūsu DNS serveris ir ierobežots ar localhost, ja klients vēlas atrisināt vārdu no mūsu DNS servera, mums ir jāatļauj ienākošais pieprasījums, tāpēc mums jāpievieno iptables ienākošā kārtula 53. portam.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Tagad pārbaudiet, vai kārtulas INPUT ķēdē ir pievienotas pareizi.
$ sudo iptables -L INPUT
Pēc tam saglabājiet kārtulas un restartējiet ugunsmūri.
$ sudo service iptables save $ sudo service iptables restart
Sāciet nosaukto pakalpojumu un padariet to pastāvīgu.
$ sudo service named start $ sudo chkconfig named on $ sudo chkconfig --list named
Visbeidzot, pārbaudiet konfigurētos Master DNS zonas failus (uz priekšu un atpakaļ), izmantojot dig & nslookup rīkus.
$ dig masterdns.tecmintlocal.com [Forward Zone]
$ dig -x 192.168.0.200
$ nslookup tecmintlocal.com $ nslookup masterdns.tecmintlocal.com $ nslookup slavedns.tecmintlocal.com
Forši! mēs esam konfigurējuši galveno DNS, tagad mums ir jāiestata Slave DNS serveris. Pārejam uz priekšu, lai iestatītu vergu serveri. Tas neprasīs daudz laika kā galvenā iestatīšana.
Iestatiet vergu DNS serveri
Arī Slave mašīnā mums jāinstalē tie paši saistīšanas pakotnes, kā parādīts Master, tāpēc instalēsim tos, izmantojot šādu komandu.
$ sudo yum install bind* -y
Atveriet un rediģējiet failu “named.conf”, kas paredzēts mūsu zonu datu bāzei un portu klausīšanai.
$ sudo vim /etc/named.conf
Veiciet izmaiņas, kā parādīts, atbilstoši jūsu prasībām.
// // 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";
Sāciet DNS pakalpojumu, izmantojot.
$ sudo service named start
Pēc iesiešanas pakalpojuma restartēšanas mums nav atsevišķi jādefinē informācija par zonu, jo mūsu atļaujas pārsūtīšana atkārtos zonu informāciju no galvenā servera, kā parādīts zemāk esošajā attēlā.
$ sudo ls -l /var/named/slaves
Pārbaudiet informāciju par zonu, izmantojot kaķu komandu.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone $ sudo cat /var/named/slaves/tecmintlocal.rev.zone
Pēc tam iptables atveriet DNS portu 53, lai atļautu ienākošo savienojumu.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Saglabājiet iptables kārtulas un restartējiet pakalpojumu iptables.
$ sudo service iptables save $ sudo service iptables restart
Padariet pakalpojumu pastāvīgu sistēmas sāknēšanas laikā.
$ sudo chkconfig iptables on
Check whether persistent set for run-levels .
$ sudo chkconfig --list iptables
Tieši tā!. Tagad ir laiks konfigurēt mūsu klientu mašīnas un pārbaudīt resursdatora nosaukumu.
Konfigurēt klienta mašīnu
Klienta pusē tīkla iestatījumos mums jāpiešķir ieraksts Primārais (192.168.0.200) un Sekundārais DNS (192.168.0.201), lai piešķirtu resursdatora nosaukumu. Lai to izdarītu, palaidiet komandu setup, lai definētu visus šos ierakstus, kā parādīts attēlā.
$ setup
Pārējā gadījumā rediģējiet failu ‘/etc/reslov.conf’ un pievienojiet šādus ierakstus.
$ vim /etc/resolv.conf
search tecmintlocal.com nameserver 192.168.0.200 nameserver 192.168.0.201
Tagad pārbaudiet IP, resursdatora un vārdu servera meklēšanu.
$ ifconfig | grep inet $ hostname $ nslookup tecmintlocal.com
Tagad pārbaudiet DNS meklēšanu uz priekšu un atpakaļ, izmantojot.
$ dig masterdns.tecmintlocal.com $ dig -x 192.168.0.200
Par zemu cenu izrakt:
- Galvene - tas izsaka visu, ko mēs esam lūguši un kā bija rezultāts.
- Statuss - statuss nebija KĻŪDA, tas nozīmē, ka mūsu nosūtītais vaicājuma pieprasījums bija veiksmīgs bez kļūdas.
- Jautājums - mūsu veiktais vaicājums, šeit mans vaicājums bija masterdns.tecmintlocal.com.
- Atbilde - vaicājuma pieprasījums tika atrisināts, ja ir pieejama informācija.
- Iestāde - vārda serveru atbilde uz domēnu un zonu.
- Papildu - papildu informācija par vārdu serveriem, piemēram, resursdatora nosaukums un IP adrese.
- Vaicājuma laiks - cik ilgs laiks pagāja, lai atrisinātu nosaukumus no iepriekš minētajiem serveriem.
Visbeidzot pārbaudiet mūsu mezglu un izveidojiet 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
Visbeidzot, iestatīšana ir pabeigta, šeit mēs esam veiksmīgi konfigurējuši gan primāro (galveno), gan vergu (sekundāro) DNS serveri, ceru, ka visi ir iestatījuši-rediģējuši bez jebkādām problēmām, nekautrējieties nomest komentāru, ja iestatīšanas laikā rodas kādas problēmas.