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ā.

  1. 53. klausīšanās ports - tas tiek izmantots, lai DNS klausītos pieejamās saskarnēs.
  2. Galvenais DNS - definējiet galveno DNS IP adresi, lai noklausītos vaicājumu.
  3. Slave DNS - definējiet savu Slave DNS, kas tiek izmantots, lai sinhronizētu mūsu zonas informāciju, lai resursdatorus atrisinātu no Master.
  4. rekursija nē - ja tā vērtība ir jā, rekursīvie vaicājumi padarīs serveri par DDOS uzbrukumu.
  5. Zonas nosaukums - šeit definējiet savu zonas nosaukumu, kas definēts kā tecminlocal.com.
  6. type master - tā kā šī sistēma tika konfigurēta galvenajam serverim, gaidāmajam vergu serverim tas būs vergs.
  7. tecmintlocal.fwd.zone - šim failam ir šīs zonas resursdatora informācija.
  8. 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:

  1. Galvene - tas izsaka visu, ko mēs esam lūguši un kā bija rezultāts.
  2. Statuss - statuss nebija KĻŪDA, tas nozīmē, ka mūsu nosūtītais vaicājuma pieprasījums bija veiksmīgs bez kļūdas.
  3. Jautājums - mūsu veiktais vaicājums, šeit mans vaicājums bija masterdns.tecmintlocal.com.
  4. Atbilde - vaicājuma pieprasījums tika atrisināts, ja ir pieejama informācija.
  5. Iestāde - vārda serveru atbilde uz domēnu un zonu.
  6. Papildu - papildu informācija par vārdu serveriem, piemēram, resursdatora nosaukums un IP adrese.
  7. 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.