Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Instalimi i një serveri BIND në CentOS. Si të konfiguroni një server primar DNS në CentOS

Instalimi i një serveri BIND në CentOS. Si të konfiguroni një server primar DNS në CentOS

Prezantoni në vëmendjen tuaj kurs i ri nga ekipi Codeby- "Testimi i penetrimit të aplikacioneve në ueb nga e para." Teoria e përgjithshme, përgatitja e mjedisit të punës, fuzzimi pasiv dhe gjurmët e gishtave, fuzzimi aktiv, dobësitë, post-shfrytëzimi, Mjetet, Inxhinieri Sociale dhe shumë më tepër.


Domenet kanë të paktën dy Server DNS a, njëri quhet serveri kryesor i emrave (ns1) dhe tjetri quhet serveri dytësor i emrave (ns2). Serverët dytësorë zakonisht përdoren kur ka probleme me serverin kryesor DNS: nëse një server nuk është i disponueshëm, i dyti bëhet aktiv. Më shumë janë të mundshme qarqe komplekse duke përdorur balancimin e ngarkesës, muret e zjarrit dhe grupimet.

Të gjitha Regjistrimet DNS domeni specifik i shtohet server primar emrat Serveri sekondar thjesht sinkronizon të gjithë informacionin e marrë nga serveri primar, bazuar në parametrat e specifikuar në serverin primar.

Ky udhëzim do të përshkruajë, si të krijoni një server kryesor DNS që funksionon në CentOS. Ju lutemi vini re se serveri DNS i paraqitur në këtë udhëzues do të jetë një DNS publik, që do të thotë se serveri do t'i përgjigjet kërkesave nga çdo adresë IP. Si të kufizoni aksesin në server përshkruhet në këtë manual.

Para se të fillojmë, dua të përmend se DNS mund të instalohet me ose pa një mjedis chroot jail. Një mjedis chroot jail kufizon serverin DNS në një drejtori specifike në sistem, në krahasim me aksesin e plotë të sistemit në server. Në këtë mënyrë, çdo cenueshmëri e serverit DNS nuk do të komprometojë të gjithë sistemin. Kufizimi i serverit DNS në një drejtori specifike (një proces i quajtur chrooting) është gjithashtu i dobishëm në cilësimet e testimit.

Synimi

Ne do të konfigurojmë një server DNS në kushte testimi për domenin shembull.tst, i cili është një domen hipotetik (jo-ekzistent). Në këtë mënyrë nuk do të ndërhyjmë rastësisht në funksionimin e çdo domeni real.

Ekzistojnë tre serverë të mëposhtëm në këtë domen.

Serveri adresa IP Shërbimet e Pritura FQDN
Serveri A 172.16.1.1 Postë mail.shembull.tst
Serveri B 172.16.1.2 Ueb, FTP www.example.tst
ftp.example.tst
Serveri C 172.16.1.3 Serveri kryesor DNS ns1.shembull.tst

Ne do të konfigurojmë serverin kryesor DNS dhe do të shtojmë domenin e kërkuar dhe të dhënat DNS siç tregohet në tabelë.

Vendosja e emrave të hosteve

Të gjithë hostet duhet të identifikohen saktë në termat e FQDN. Kjo mund të bëhet duke përdorur metodën e mëposhtme.

Ata që duan GUI, mund të përdorë mjetet NetworkManaget. Për ta bërë këtë, shkruani komandën nmtui. Ndërfaqja pseudografike e mëposhtme do të hapet:

Zgjidhni "Ndrysho emrin e hostit" dhe futni ns1.example.tst

Kur të jetë gati, klikoni OK.

Një mënyrë tjetër, me vetëm një komandë:

Hostnamectl set-hostname ns1.example.tst

Pasi të instalohet, emri i hostit mund të kontrollohet me komandën e mëposhtme.

# emri i hostit ns1.example.tst

Statusi i hostnamectl

Para se të kaloni në hapi tjeter, sigurohuni që emri i hostit për të gjithë serverët të jetë vendosur siç duhet.

Instalimi i paketave

Ne do të përdorim bind për DNS, i cili mund të vendoset lehtësisht me komandën yum.

Instalimi i DNS pa chroot:

# yum install bind

Vendosja e DNS me chroot:

# yum install bind bind-chroot

Përgatitja e skedarëve të konfigurimit

Siç u përmend më herët, bind mund të konfigurohet me ose pa chroot. Shtigjet ndryshojnë pak në varësi të faktit nëse chroot është instaluar.

Mënyra për të skedari i konfigurimit Rruga drejt skedarëve të zonës
Pa chroot /etj/ /var/named/
Me chroot /var/named/chroot/etc/ /var/named/chroot/var/named/

Ju mund të përdorni skedarin e konfigurimit named.conf, i cili ofrohet si parazgjedhje. Megjithatë, ne do të përdorim një skedar tjetër konfigurimi shembull për lehtësinë e përdorimit.

Bërja e një kopje rezervë të skedarit /etc/named.conf

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

Tani që ka kopje rezervë skedari i konfigurimit, dhe vetë skedari origjinal është ndryshuar, ne vazhdojmë.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

Rreshtat e mëposhtëm janë shtuar/ndryshuar.

Opsionet ( ## rruga për skedarët e zonës ## drejtoria "/var/named"; ## ridrejtimi i kërkesave te DNS publike Serveri i Google për domenet jo-lokale ## përcjellës ( 8.8.8.8; ); ); ## deklarimi i një zone direkte për shembull.tst ## zona "example.tst" IN ( shkruani master; skedari "example-fz"; skedari ## për zonën e drejtpërdrejtë ndodhet në /var/me emrin ## lejo-përditësim ( asnje; ) ; ); ## deklarimi i një zone të kundërt për rrjetin 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( shkruani master; skedari "rz-172-16-1"; skedari ## për zonën e kundërt është ndodhet në /var /me emrin ## allow-update ( asnjë; ); );

Përgatitja e skedarëve të zonës

Skedarët e zonës së parazgjedhur krijohen automatikisht në /var/named ose /var/named/chroot/var/named (për chroot).

Duke supozuar se skedarët e zonës së paracaktuar nuk janë të pranishëm, ne mund të kopjojmë skedarët e mostrës nga /usr.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

E madhe. Tani skedarët e zonës së paracaktuar janë gati, ne krijojmë tonat dosjet e veta zonat për shembull.tst dhe rrjeti 172.16.1.0. Ndërsa krijojmë skedarë zonale, duhet të kujtojmë sa vijon.

  • Simboli '@' do të thotë NULL në skedarët e zonës.
  • Çdo hyrje Plotësisht e Kualifikuar Domain Name (FQDN) përfundon me një pikë '.' për shembull. mail.shembull.tst. Pa pikë, do të ketë probleme.

1. Zonë e drejtpërdrejtë

Zona e drejtpërdrejtë përmban një hartë të përkthimeve nga emrat në adresat IP. Për domenet publike, domenet DNS të pritura në shërbimet e pritjes përmbahen në skedarin e zonës direkte.

# vim /var/named/shembull-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ NË SOA ns1.example.tst. mial.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. IN A 172.16.1.3 mail IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.

Shpjegim: Brenda një skedari zone, SOA nënkupton fillimin e autorizimit. Kjo është e plotë Emri i domenit server autoritar i emrit. Pas emrit të plotë të domenit vjen informacioni i kontaktit adresën e emailit. Meqenëse nuk mund të përdorim '@' në [email i mbrojtur], ne e rishkruajmë adresën e emailit si mial.example.tst.

  • N.S.: Emri i serverit
  • A: Një rekord ose regjistrim adrese është një adresë IP
  • MX: Hyrja në shkëmbyesin e postës. Këtu përdorim vetëm një MX me prioritet 10. Në rast të MX-ve të shumta, mund të përdorim prioritete të ndryshme dixhitale. Numri i poshtëm fiton. Për shembull, MX 0 është më i mirë se MX 1.
  • CNAME: emër në trajtë kanonike. Nëse një server pret shumë shërbime, ka shumë të ngjarë që shumë emra të zgjidhen në një server të vetëm. CNAME sinjalizon që serveri mund të ketë emra të tjerë dhe i referohet emrit që gjendet në rekordin A.

2. Zona e kundërt

Zona e kundërt përmban një hartë të konvertimeve nga adresat IP në emra. Këtu krijojmë një zonë të kundërt për rrjetin 172.16.1.0. Në një domen real, serveri DNS i pronarit të bllokut publik IP gjendet në skedarin e zonës së kundërt.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ NË SOA ns1.example.tst. sarmed.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. 1 NË PTR mail.example.tst. 2 NË PTR www.example.tst. 3 NË PTR ns1.shembull.tst.

Shpjegim: Shumica e parametrave të përdorur në zonën e kundërt janë identike me zonën përpara, me përjashtim të njërit.

  • PTR: PTR ose regjistrimi i treguesit, ai tregon emrin e domain-it plotësisht të kualifikuar

Përfundimi

Tani që skedarët e zonës janë gati, ne do të konfigurojmë rezolucionin e skedarëve të zonës.

# chgrp me emrin /var/named/*

# chgrp me emrin /var/named/chroot/var/named/*

Tani do të vendosim IP-në Adresa DNS server.

# vim /etc/resolv.conf serveri i emrave 172.16.1.3

Më në fund mund të vrapojmë Shërbimi DNS dhe sigurohuni që të shtohet në autorun.

# shërbim me emrin rinisje # chkconfig emërtuar në

Testimi DNS

Ne mund të përdorim dig ose nslookup për të testuar DNS. Së pari, ne do të instalojmë paketat e nevojshme.

# yum install bind-utils

1. Testimi i drejtpërdrejtë i zonës duke përdorur dig

# dig shembull.tst ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. Kontrolloni PTR duke përdorur dig

Kur përdorni dig për testim, gjithmonë duhet të kërkoni statusin "NOERROR". Çdo kusht tjetër do të thotë se diçka nuk është në rregull.

# dig -x 172.16.1.1 ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. Kontrollimi i MX duke përdorur dig

# dig shembull.tst mx ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

Këshilla për zgjidhjen e problemeve

  1. Unë kam SELinux të çaktivizuar.
  2. Sigurohuni që muri juaj i zjarrit të mos bllokojë portin UDP 53
  3. /var/log/messages duhet të përmbajë informacion të dobishëm në rast se diçka nuk shkon
  4. Sigurohuni që pronari i skedarëve të zonës të jetë "me emrin e përdoruesit"
  5. Sigurohuni që adresa IP e serverit DNS është renditur së pari në /etc/resolv.conf
  6. Nëse po përdorni shembull.tst në një mjedis laboratorik, sigurohuni që ta shkëputni serverin nga Interneti sepse example.tst është një domen që nuk ekziston.

Për ta përmbledhur, ky udhëzues fokusohet në pritjen e domenit shembull.tst në një mjedis laboratori për qëllime demonstrimi. Ju lutemi mbani mend se ky nuk është një udhëzues për krijimin e një serveri publik DNS, si p.sh. një server DNS që u përgjigjet kërkesave nga çdo adresë IP. Nëse po konfiguroni një server DNS prodhimi, sigurohuni që të kontrolloni se cilat politika zbatohen për DNS publike. Një mësim tjetër përfshin krijimin e një DNS dytësor, kufizimin e aksesit në serverin DNS dhe zbatimin e DNSSEC.

Garantuesi është një ndërmjetës i besueshëm ndërmjet pjesëmarrësve gjatë transaksionit.


Në këtë artikull, ne do të shikojmë vendosjen e serverëve DNS Master dhe Slave BIND (Berkeley Internet Name Domain) në CentOS 6.4 minimal. Përpara se të përfundoni të gjitha hapat në këtë artikull, duhet të keni të konfiguruar rrjetin tuaj, të instaloni system-config-firewall-tui dhe Midnight Commander. Mund të lexoni të gjithë konfigurimin fillestar të CentOS.

Në të dy makinat:

instaloni Midnight Commander:

instaloni system-config-firewall-tui:

yum install system-config-firewall-tui –y

futni në vijën e komandës

iptables -A INPUT -p udp -m gjendje --state E RE -m udp --dport 53 -j ACCEPT

instaloni BIND:

yum install bind-chroot bind-utils –y

Le të hapim mjetin e konfigurimit të murit të zjarrit dhe të konfigurojmë:

system-config-firewall-tui

Shënoni me një yll DNS

Klikoni "Përpara". Shënoni ndërfaqen eth0 dhe klikoni "Përpara"

Klikoni "Përpara". Shënoni ndërfaqen për maskaradën eth0 dhe klikoni "Përpara"

Klikoni "Përpara".

Klikoni "Përpara".

Klikoni "Përpara".

Klikoni "Përpara".

Klikoni "Mbyll".

Klikoni "NE RREGULL".

Klikoni "Po". Gati.

Çaktivizo SELINUX:

në /etc/selinux/config do ta korrigjojmë atë SELINUX=i çaktivizuar

Tani le të gjenerojmë çelësin:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey

Kjo komandë do të krijojë dy skedarë në drejtorinë aktuale. Në skedarin *.private në rreshtin e tretë do të ketë një çelës të formës: wGmtcnMtn9od+ndTc20tGg==

Pas kësaj, hapni skedarin /etc/resolv.conf dhe në fillim do të shkruajmë në të:

serveri i emrave 192.168.0.191

serveri i emrave 192.168.0.192

Serveri kryesor DNS (IP: 192.168.0.191 emri i hostit: ns1.localserver12.ru):

krijoni një direktori /etc/named/master

mkdir /etc/named/master

ne do të transferojmë bindu në fermë

chown -R me emrin:me emrin /etc/named/master

Hapja /etc/named.conf. Në të kontrollojmë praninë e opsioneve të treguara më poshtë. Nëse nuk janë aty, shtoni ato; nëse janë të ndryshme, korrigjoni:

porta e dëgjimit 53 (127.0.0.1; 192.168.0.191; );

lejoj-transferim (192.168.0.192; );

njoftoni po;

zona "localserver12.ru" IN (

tip master;

skedari "/etc/named/master/localserver12.ru";

/* Rruga drejt çelësit ISC DLV */)

dnssec-aktivizo po;

dnssec-validimi po;

dnssec-lookaside auto;

Le të krijojmë një skedar localserver12.ru në drejtorinë /etc/named/master

prek /etc/named/master/localserver12.ru

Le t'ia dorëzojmë fermës bindu:

chown -R me emrin:named /etc/named/master/localserver12.ru

Le të shkruajmë në të sa vijon (përafërsisht si në foto):

Le të fillojmë lidhjen

Ne e vendosëm BIND në fillimin në mënyrë që të fillojë gjatë nisjes së sistemit

Serveri kryesor DNS është gati.

Serveri skllav DNS (IP: 192.168.0.192 emri i hostit: ns2.localserver12.ru):

krijoni një direktori /etc/named/slave

Le t'ia dorëzojmë fermës bindu

chown -R me emrin:me emrin /etc/named/slave

Hapni /etc/named.conf. Në të kontrollojmë praninë e opsioneve të treguara më poshtë. Nëse nuk janë aty, shtoni ato; nëse janë të ndryshme, korrigjoni:

porta e dëgjimit 53 ( 127.0.0.1; 192.168.0.192; );

lejoj-rekursion (192.168.0.0/24; );

rekursion po;

lejim-transferim (asnjë; );

Njoftoni nr;

zona "localserver12.ru" (

tip skllav;

skedari "/etc/named/slave/localserver12.ru";

mjeshtra (192.168.0.191;);

Ne gjithashtu kontrollojmë për praninë e linjave të tilla (nëse jo, shtoni para rreshtit /* Rruga drejt çelësit ISC DLV */)

Dnssec-aktivizo po;

Dnssec-vlefshmëria po;

Dnssec-lookaside auto;

Le të fillojmë lidhjen

Ne e vendosim atë në nisje në mënyrë që të fillojë gjatë nisjes së sistemit

Serveri Slave DNS është gati. Gjithashtu, pas një rifillimi, skedari do të tërhiqet automatikisht në drejtorinë /etc/named/slave localserver12.ru

Tani le të kontrollojmë:

në skllav fut komandën

gërmoni @ns1.localserver12.ru localserver12.ru axfr

dhe mbi mjeshtrin si kjo

gërmoni @ns2.localserver12.ru localserver12.ru axfr

në të dyja rastet, të dhënat dhe të dhënat DNS shfaqen nga skedari localserver12.ru

Të gjitha. Serverët DNS janë gati.


Nëse ky artikull ju ka ndihmuar, mund të falënderoni autorin:
transferimi në portofolin WMR (WebMoney): R301575071888
transferimi në Yandex.Wallet: 410011003938168
ose në PayPal:

DNS- Sistemi i emrave të domenit - një sistem i shpërndarë që është në gjendje të raportojë adresën e tij IP sipas kërkesës që përmban një emër pritës. Struktura DNS është e ngjashme me sistemin e skedarëve Linux; e gjithë baza e të dhënave ka një strukturë peme, me rrënjën në krye ( . ). Është nga pika që fillon i gjithë sistemi i emrave të domenit. Pika mund të ndiqet nga ru, com, net, info, etj. Domenet me origjinë nga rrënja d.m.th. ru., com.,neto. quhen domenet e nivelit të parë, domenet e llojit të faqes së internetit. quhen domenet e nivelit të dytë, por të formës file.site. - domenet e nivelit të tretë e kështu me radhë. Vini re periudhën në fund të shembujve. Emrat e shkruar në këtë mënyrë quhen emra absolut (FQDN). Nëse pika nuk është e specifikuar, atëherë emri trajtohet si i afërm. Kjo është, faqja e internetit.

Pse të përdorni DNS?

1) Imagjinoni që ju duhet të përdorni një burim rrjeti nën emrin mikpritës(ky është serveri i skedarëve në të cilin ruhen të gjithë skedarët e punonjësve) emri mikpritës Ajo ka IP adresa është 192.168.200.20 dhe nëse nuk keni një shërbim që konverton adresat IP në emra, atëherë duhet të thirrni adresën IP 192.168.200.20 për të shkuar te serveri i skedarëve. Çfarë është më e lehtë për të kujtuar emrin e hostit ose grupin e numrave 192.168.200.20?

2) Opsioni i dytë ka të bëjë me hyrjen në internet, për shembull, duhet të shkoni në një server FTP në internet me emrin ftp.site, dhe adresa IP është 89.111.176.87.

Pra, nëse në opsionin e parë nuk keni nevojë të instaloni dhe konfiguroni fare një server DNS, por thjesht mund të konfiguroni shpejt, për shembull, shërbimin WINS, atëherë ju duhet thjesht për të hyrë në internet (ne do' t i kujtojmë vazhdimisht numrat kur përpiqemi të aksesojmë ndonjë burim në internet). Një pyetje tjetër është, a duhet ta konfiguroni nëse ofruesi ju ka ofruar serverët e tij DNS?

Serveri DNS mund të përdoret si: primar dhe dytësor, rekursiv dhe ridrejtues i pyetjeve.

fillore(master) ngarkon të dhënat për zonën nga një skedar në makinën e serverit dhe sekondari (skllavi) merr të dhëna nga DNS primar. Një server DNS mund të jetë primar për një zonë dhe sekondar për një tjetër.

Server rekurziv krijuar në organizata të mëdha me lidhje rrjeti me shpejtësi të lartë. Nuk është i lidhur me serverët e ofruesit, është fleksibël dhe i sigurt.

Kërkesë ridrejtues dërgon një kërkesë nga klienti në serverin e ofruesit. Serveri i ofruesit përpunon shumë kërkesa të klientit, ka një cache të madhe dhe lidhje me shpejtësi të lartë.

Regjistrimet bazë DNS.

A - korrespondenca midis emrit dhe adresës IP
AAAA - korrespondenca midis emrit dhe adresës IPv6
CNAME - emër kanonik (sinonim)
MX - tregon serverin e postës për këtë domen
NS - Serveri DNS për domenin
PTR - emër kanonik
SOA është rekordi fillestar që tregon se ku ruhen informacionet rreth serverit.
SRV - serverë për shërbime.

Instalimi i BIND.
Ne do të instalojmë BIND në centOs5.
Ka një server të quajtur ns1..168.200.1

yum install bind

Cilësimet LIND
Krijoni dhe plotësoni skedarin e konfigurimit

vi /var/named/chroot/etc/named.conf

opsione (
drejtoria "/var/named/";
skedar dump "/var/run/named_dump.bd";
statistika-skedar "/var/run/named.stats";
};
zona "site" në (
tip master;
skedari "site.db";
};
zona "200.168.192.IN-ADDR.ARPA." NË (
tip master;
dosja "192.168.200.db";
};

zona "0.0.127.IN-ADDR.ARPA." NË (
tip master;
skedari "127.0.0.db";
};

zona "." (
tip hint;
skedari "named.ca";
};

Ne krijojmë skedarë zonash për site.db, 192.168.0.db, 127.0.0.db, me emrin.ca.

vi /var/named/chroot/var/named/site.db# zonë e drejtpërdrejtë për hartëzimin e emrave në adresa.

$TTL 1H ; 1 orë
NE faqen e internetit SOA ns1.site. root.site (22
3H
1H
1 W
1H)

; Serverët e emrave
N.S. ns1.site

;Për emrat kakonik
ns1.site. NË 1H A 192.168.200.1
host1.site. NË 1H A 192.168.200.154
; Pseudonimet
gw1.site. NË 1H CNAME host1.site.
www.site. NË 1H CNAME host1.site.

vi /var/named/chroot/var/named/192.168.200.db# zonë e kundërt për hartëzimin e adresave me emra.

3600 dollarë TTL; 1 orë
200.168.192.in-addr.arpa NË SOA ns1.site. root.site (21
3H
1H
1 W
1H)
; Serverët e emrave
200.168.192.in-addr.arpa IN NS ns1.site

; emrat kanonikë
1.200.168.192.in-addr.arpa PTR ns1.site.
154.200.168.192.in-addr.arpa PTR host1.site.

vi /var/named/chroot/var/name/127.0.0.db# adresë kthimi për dërgimin e paketave tek vetja.

3600 dollarë TTL; 1 orë
0.0.127.in-addr.arpa NË SOA ns1.site. root.site (21
3H
1H
1 W
1H)

0.0.127.in-addr.arpa NË NS ns1.site
0.0.127.in-addr.arpa. NË PTR localhost.

vi /var/named/chroot/var/named/named.caserverët #root

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; më parë NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; më parë C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; dikur TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; më parë NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; më parë NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; ish NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; ish AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; më parë NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
;
; operuar nga RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; operuar nga ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; operuar nga WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; Fundi i dosjes

Nisja dhe ndalimi i serverit/etc/init.d/named (start stop restart)
Shërbimet e testimit të DNS: host, nslookup, dig.
Për cilësime më të detajuara të DNS, lexoni man bind, librin DNS dhe BIND, etj.

|

Ky udhëzues do të mbulojë instalimin dhe konfigurimin e një serveri BIND DNS.

Për të ndjekur udhëzimet, rekomandohet të konfiguroni të paktën dy serverë cloud për të ekzekutuar serverët e emrave; Pasja e shumë serverëve me emra ju lejon të përdorni burime rezervë në rast të një gabimi. Ju gjithashtu mund të konsideroni përdorimin e dy pikave të ndryshme të pranisë (POP). Supozohet të përdoret një server primar (master) dhe dytësor emri (skllav).

Vlen të përmendet se kur menaxhoni një numër të madh domenesh, kjo mund të mos jetë zgjidhja më efikase, pasi do t'ju duhet të shtoni manualisht domene si në master ashtu edhe në slave. Me këtë thënë, drejtimi i serverëve tuaj të emrave është një mënyrë e shkëlqyeshme për të mbajtur kontrollin e drejtpërdrejtë mbi infrastrukturën tuaj të pritjes dhe të dhënat DNS.

Si gjithmonë, është e rëndësishme të filloni duke u siguruar që sistemi juaj të jetë i përditësuar. Kontrolloni për përditësime duke përdorur yum:

Instalimi i BIND

Për të instaluar paketat BIND dhe bind-utils, përdorni yum:

Pastaj hapni skedarin e konfigurimit BIND dhe bëni disa rregullime në të.

nano -w /etc/named.conf

Në skedar, gjeni seksionin e opsioneve, i cili duket kështu (në vend të 2.2.2.2 - adresa IP e serverit të dytë):

opsione (


drejtoria "/var/named";



leje-pyetje (ndonjë; );
leje-transferim (localhost; 2.2.2.2; );
rekursion nr;
dnssec-aktivizo po;
dnssec-validimi po;
dnssec-lookaside auto;
/* Rruga drejt çelësit ISC DLV */


};

Direktiva e dëgjimit duhet të komentohet për të dëgjuar ndërfaqet e disponueshme. Direktiva e rekursionit duhet të jetë e çaktivizuar për të parandaluar reflektimin e sulmeve DDoS. Direktiva e transferimit të lejimit shton adresën IP të serverit dytësor në listën e bardhë. Përveç kësaj, ju duhet të ndryshoni vlerën e direktivës së kërkesës për leje në ndonjë për t'i lejuar përdoruesit të kenë akses në zona.

Pastaj ju duhet të shtoni një zonë të re për domenin e parë. Për ta bërë këtë, vendosni kodin e mëposhtëm në fund të skedarit named.conf:

zona "mydomain.com" IN (
tip master;
skedari "mydomain.com.zone";
lejo-përditësim (asnjë;);
};

Ruani ndryshimet në named.conf. Pas kësaj, mund të filloni të krijoni një skedar përshkrimi të zonës (skedari i zonës).

Vendosja e zonave BIND

Së pari ju duhet të hapni skedarin e zonës, duke specifikuar emrin e futur në skedarin e mëparshëm të konfigurimit (mydomain.com.zone).

nano -w /var/named/mydomain.com.zone

Shtoni kodin e mëposhtëm në skedar. Zëvendësoni adresat IP të kushtëzuara me adresat e serverëve tuaj (1.1.1.1 – adresa IP e serverit të parë, 2.2.2.2 – adresa IP e serverit të dytë, 3.3.3.3 – IP në të cilën dëshironi të drejtoni domenin (për shembull , një server në internet)). Bëni ndryshime të tjera në kod nëse është e nevojshme.

86400 dollarë TTL
@ NË SOA ns1.mydomain.com. root.mydomain.com. (
2013042201 ;Serial
3600 ;Rifresko
1800; Provo sërish
604800 ; Skadon
86400 ;TTL minimale
; Specifikoni dy serverët tanë të emrave
NË NS ns1.mydomain.com.
NË NS ns2.mydomain.com.
; Zgjidhini emrat e serverëve të emrave në IP, zëvendësoni me dy adresat tuaja IP të pikave.
ns1 NË A 1.1.1.1
ns2 NE A 2.2.2.2
; Përcaktoni emrin e hostit -> çiftet IP që dëshironi të zgjidhni
@ IN A 3.3.3.3
www IN A 3.3

Nisja me emrin. Mund të duhen disa minuta për të nisur, sepse hera e parë që fillon me emrin, krijon një skedar rndc.key.

shërbimi me emrin rinisje

Pasi të keni nisur me sukses daemonin e emërtuar, duhet të siguroheni që ai të jetë i aktivizuar si shërbim:

chkconfig emërtuar në

Serveri kryesor i emrave tani është plotësisht gati. Për të verifikuar që BIND po funksionon siç pritej, ekzekutoni komandën e mëposhtme, duke specifikuar IP-në e serverit në vend të 1.1.1.1:

gërmoni @1.1.1.1 mydomain.com

Nëse rezultati përmban seksionet e përgjigjes dhe autoritetit, do të thotë që konfigurimi është përfunduar saktë.

Vendosja e një serveri skllav

Pra, serveri kryesor është gati për të punuar. Tani ju duhet të konfiguroni një server dytësor emri në serverin e dytë cloud.

Sigurohuni që sistemi të jetë i përditësuar.

Instaloni BIND dhe shërbimet e tij në serverin e dytë cloud:

yum install bind bind-utils -y

Hapni named.conf dhe bëni të njëjtat rregullime si në serverin e parë, duke hequr direktivën e transferimit të lejes - kjo direktivë nuk është e nevojshme, pasi të dhënat do të transferohen vetëm nga serveri kryesor i emrave.

nano -w /etc/named.conf
opsione (
#listen-on port 53 ( 127.0.0.1; );
listen-on-v6 port 53 ( ::1; );
drejtoria "/var/named";
skedar dump "/var/named/data/cache_dump.db";
statistika-skedar "/var/named/data/named_stats.txt";
memstatistics-skedar "/var/named/data/named_mem_stats.txt";
leje-pyetje (ndonjë; );
rekursion nr;
dnssec-aktivizo po;
dnssec-validimi po;
dnssec-lookaside auto;
/* Rruga drejt çelësit ISC DLV */
bindkeys-skedar "/etc/named.iscdlv.key";
menaxhuar-keys-directory "/var/named/dynamic";
};

Shtoni zonat e konfiguruara në serverin e mëparshëm, duke zëvendësuar vlerën e direktivës së tipit me skllav. Specifikoni IP-në e serverit të parë në vend të 1.1.1.1:

zona "mydomain.com" IN (
tip skllav;
mjeshtra ( 1.1.1.1; );
skedari "mydomain.com.zone";
};

Pasi të keni konfiguruar zonën skllav, filloni demonin e emërtuar. Përsëri, kjo mund të zgjasë disa minuta, sepse hera e parë që daemon ekzekutohet në server, ai krijon një skedar rndc.key.

shërbimi me emrin start

Ashtu si në serverin e parë cloud, kontrolloni nëse daemon i emëruar po funksionon:

chkconfig emërtuar në

Serveri dytësor i emrave tani është gati për të funksionuar. Për t'u siguruar që funksionon siç pritej, përdorni komandën e mëposhtme, duke zëvendësuar 2.2.2.2 me adresën IP të serverit të dytë cloud.

gërmoni @2.2.2.2 mydomain.com

Pasi të keni bërë ndonjë ndryshim në skedarët e zonës së serverit primar, duhet të rinisni BIND. Mos harroni se ju gjithashtu duhet të rritni direktivën serike për të siguruar që serverët primar dhe sekondarë të funksionojnë në mënyrë sinkrone.

Për të rifilluar skedarët e zonës, përdorni komandën e mëposhtme fillimisht në master dhe më pas në slave:

BIND në mjedisin chroot

Në CentOS kjo është shumë e lehtë. Vetëm vini re se shtigjet aktive BIND do të zëvendësohen me ekuivalente chroot (për shembull, var/named bëhet /var/named/chroot/var/named). Në CentOS 6, nuk keni nevojë të zhvendosni asnjë skedar sepse paketa do të krijojë automatikisht lidhje simbolike me drejtoritë jo-chroot.

Për të aktivizuar këtë veçori përdorni:

yum install bind-chroot -y
shërbimi me emrin rinisje

Etiketa: ,

Ne paraqesim në vëmendjen tuaj një kurs të ri nga ekipi Codeby- "Testimi i penetrimit të aplikacioneve në ueb nga e para." Teoria e përgjithshme, përgatitja e mjedisit të punës, fuzzimi pasiv dhe marrja e gjurmëve të gishtave, fuzzimi aktiv, dobësitë, post-shfrytëzimi, mjetet, inxhinieria sociale dhe shumë më tepër.


Domenet kanë të paktën dy serverë DNS, njëri i quajtur serveri kryesor i emrave (ns1) dhe tjetri i quajtur serveri dytësor i emrave (ns2). Serverët dytësorë zakonisht përdoren kur ka probleme me serverin kryesor DNS: nëse një server nuk është i disponueshëm, i dyti bëhet aktiv. Skema më komplekse janë gjithashtu të mundshme duke përdorur balancimin e ngarkesës, muret e zjarrit dhe grupimet.

Të gjitha regjistrimet DNS për një domen të caktuar shtohen në serverin kryesor të emrave. Serveri sekondar thjesht sinkronizon të gjithë informacionin e marrë nga serveri primar, bazuar në parametrat e specifikuar në serverin primar.

Ky udhëzim do të përshkruajë, si të krijoni një server kryesor DNS që funksionon në CentOS. Ju lutemi vini re se serveri DNS i paraqitur në këtë udhëzues do të jetë një DNS publik, që do të thotë se serveri do t'i përgjigjet kërkesave nga çdo adresë IP. Si të kufizoni aksesin në server përshkruhet në këtë manual.

Para se të fillojmë, dua të përmend se DNS mund të instalohet me ose pa një mjedis chroot jail. Një mjedis chroot jail kufizon serverin DNS në një drejtori specifike në sistem, në krahasim me aksesin e plotë të sistemit në server. Në këtë mënyrë, çdo cenueshmëri e serverit DNS nuk do të komprometojë të gjithë sistemin. Kufizimi i serverit DNS në një drejtori specifike (një proces i quajtur chrooting) është gjithashtu i dobishëm në cilësimet e testimit.

Synimi

Ne do të konfigurojmë një server DNS në kushte testimi për domenin shembull.tst, i cili është një domen hipotetik (jo-ekzistent). Në këtë mënyrë, ne nuk do të ndërhyjmë rastësisht me ndonjë domen real.

Ekzistojnë tre serverë të mëposhtëm në këtë domen.

Serveri adresa IP Shërbimet e Pritura FQDN
Serveri A 172.16.1.1 Postë mail.shembull.tst
Serveri B 172.16.1.2 Ueb, FTP www.example.tst
ftp.example.tst
Serveri C 172.16.1.3 Serveri kryesor DNS ns1.shembull.tst

Ne do të konfigurojmë serverin kryesor DNS dhe do të shtojmë domenin e kërkuar dhe të dhënat DNS siç tregohet në tabelë.

Vendosja e emrave të hosteve

Të gjithë hostet duhet të identifikohen saktë në termat e FQDN. Kjo mund të bëhet duke përdorur metodën e mëposhtme.

Ata që pëlqejnë një ndërfaqe grafike mund të përdorin mjetet NetworkManaget. Për ta bërë këtë, shkruani komandën nmtui. Ndërfaqja pseudografike e mëposhtme do të hapet:

Zgjidhni "Ndrysho emrin e hostit" dhe futni ns1.example.tst

Kur të jetë gati, klikoni OK.

Një mënyrë tjetër, me vetëm një komandë:

Hostnamectl set-hostname ns1.example.tst

Pasi të instalohet, emri i hostit mund të kontrollohet me komandën e mëposhtme.

# emri i hostit ns1.example.tst

Statusi i hostnamectl

Përpara se të kaloni në hapin tjetër, sigurohuni që emri i hostit për të gjithë serverët të jetë vendosur siç duhet.

Instalimi i paketave

Ne do të përdorim bind për DNS, i cili mund të vendoset lehtësisht me komandën yum.

Instalimi i DNS pa chroot:

# yum install bind

Vendosja e DNS me chroot:

# yum install bind bind-chroot

Përgatitja e skedarëve të konfigurimit

Siç u përmend më herët, bind mund të konfigurohet me ose pa chroot. Shtigjet ndryshojnë pak në varësi të faktit nëse chroot është instaluar.

Rruga drejt skedarit të konfigurimit Rruga drejt skedarëve të zonës
Pa chroot /etj/ /var/named/
Me chroot /var/named/chroot/etc/ /var/named/chroot/var/named/

Ju mund të përdorni skedarin e konfigurimit named.conf, i cili ofrohet si parazgjedhje. Megjithatë, ne do të përdorim një skedar tjetër konfigurimi shembull për lehtësinë e përdorimit.

Bërja e një kopje rezervë të skedarit /etc/named.conf

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

Tani që ka një kopje rezervë të skedarit të konfigurimit dhe vetë skedari origjinal është ndryshuar, ne vazhdojmë.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

Rreshtat e mëposhtëm janë shtuar/ndryshuar.

Opsionet (## shteg për skedarët e zonës ## direktoria "/var/named"; ## dërgoni kërkesat te serveri publik DNS i Google për domenet jo-lokale ## përcjellës ( 8.8.8.8; ); ); ## deklarimi i një zone direkte për shembull.tst ## zona "example.tst" IN ( shkruani master; skedari "example-fz"; skedari ## për zonën e drejtpërdrejtë ndodhet në /var/me emrin ## lejo-përditësim ( asnje; ) ; ); ## deklarimi i një zone të kundërt për rrjetin 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( shkruani master; skedari "rz-172-16-1"; skedari ## për zonën e kundërt është ndodhet në /var /me emrin ## allow-update ( asnjë; ); );

Përgatitja e skedarëve të zonës

Skedarët e zonës së parazgjedhur krijohen automatikisht në /var/named ose /var/named/chroot/var/named (për chroot).

Duke supozuar se skedarët e zonës së paracaktuar nuk janë të pranishëm, ne mund të kopjojmë skedarët e mostrës nga /usr.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

E madhe. Tani skedarët e zonës së paracaktuar janë gati, ne krijojmë skedarët tanë të zonës për shembull.tst dhe rrjetin 172.16.1.0. Ndërsa krijojmë skedarë zonale, duhet të kujtojmë sa vijon.

  • Simboli '@' do të thotë NULL në skedarët e zonës.
  • Çdo hyrje Plotësisht e Kualifikuar Domain Name (FQDN) përfundon me një pikë '.' për shembull. mail.shembull.tst. Pa pikë, do të ketë probleme.

1. Zonë e drejtpërdrejtë

Zona e drejtpërdrejtë përmban një hartë të përkthimeve nga emrat në adresat IP. Për domenet publike, domenet DNS të pritura në shërbimet e pritjes përmbahen në skedarin e zonës direkte.

# vim /var/named/shembull-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ NË SOA ns1.example.tst. mial.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. IN A 172.16.1.3 mail IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.

Shpjegim: Brenda një skedari zone, SOA nënkupton fillimin e autorizimit. Ky është emri i domain-it plotësisht i kualifikuar i një serveri autoritar të emrave. Pas emrit të plotë të domenit ka një adresë emaili kontakti. Meqenëse nuk mund të përdorim '@' në [email i mbrojtur], ne e rishkruajmë adresën e emailit si mial.example.tst.

  • N.S.: Emri i serverit
  • A: Një rekord ose regjistrim adrese është një adresë IP
  • MX: Hyrja në shkëmbyesin e postës. Këtu përdorim vetëm një MX me prioritet 10. Në rast të MX-ve të shumta, mund të përdorim prioritete të ndryshme dixhitale. Numri i poshtëm fiton. Për shembull, MX 0 është më i mirë se MX 1.
  • CNAME: emër në trajtë kanonike. Nëse një server pret shumë shërbime, ka shumë të ngjarë që shumë emra të zgjidhen në një server të vetëm. CNAME sinjalizon që serveri mund të ketë emra të tjerë dhe i referohet emrit që gjendet në rekordin A.

2. Zona e kundërt

Zona e kundërt përmban një hartë të konvertimeve nga adresat IP në emra. Këtu krijojmë një zonë të kundërt për rrjetin 172.16.1.0. Në një domen real, serveri DNS i pronarit të bllokut publik IP gjendet në skedarin e zonës së kundërt.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ NË SOA ns1.example.tst. sarmed.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. 1 NË PTR mail.example.tst. 2 NË PTR www.example.tst. 3 NË PTR ns1.shembull.tst.

Shpjegim: Shumica e parametrave të përdorur në zonën e kundërt janë identike me zonën përpara, me përjashtim të njërit.

  • PTR: PTR ose regjistrimi i treguesit, ai tregon emrin e domain-it plotësisht të kualifikuar

Përfundimi

Tani që skedarët e zonës janë gati, ne do të konfigurojmë rezolucionin e skedarëve të zonës.

# chgrp me emrin /var/named/*

# chgrp me emrin /var/named/chroot/var/named/*

Tani do të vendosim adresën IP të serverit DNS.

# vim /etc/resolv.conf serveri i emrave 172.16.1.3

Më në fund, ne mund të nisim shërbimin DNS dhe të sigurohemi që ai të shtohet në autostart.

# shërbim me emrin rinisje # chkconfig emërtuar në

Testimi DNS

Ne mund të përdorim dig ose nslookup për të testuar DNS. Së pari, ne do të instalojmë paketat e nevojshme.

# yum install bind-utils

1. Testimi i drejtpërdrejtë i zonës duke përdorur dig

# dig shembull.tst ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. Kontrolloni PTR duke përdorur dig

Kur përdorni dig për testim, gjithmonë duhet të kërkoni statusin "NOERROR". Çdo kusht tjetër do të thotë se diçka nuk është në rregull.

# dig -x 172.16.1.1 ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. Kontrollimi i MX duke përdorur dig

# dig shembull.tst mx ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

Këshilla për zgjidhjen e problemeve

  1. Unë kam SELinux të çaktivizuar.
  2. Sigurohuni që muri juaj i zjarrit të mos bllokojë portin UDP 53
  3. /var/log/messages duhet të përmbajë informacion të dobishëm në rast se diçka nuk shkon
  4. Sigurohuni që pronari i skedarëve të zonës të jetë "me emrin e përdoruesit"
  5. Sigurohuni që adresa IP e serverit DNS është renditur së pari në /etc/resolv.conf
  6. Nëse po përdorni shembull.tst në një mjedis laboratorik, sigurohuni që ta shkëputni serverin nga Interneti sepse example.tst është një domen që nuk ekziston.

Për ta përmbledhur, ky udhëzues fokusohet në pritjen e domenit shembull.tst në një mjedis laboratori për qëllime demonstrimi. Ju lutemi mbani mend se ky nuk është një udhëzues për krijimin e një serveri publik DNS, si p.sh. një server DNS që u përgjigjet kërkesave nga çdo adresë IP. Nëse po konfiguroni një server DNS prodhimi, sigurohuni që të kontrolloni se cilat politika zbatohen për DNS publike. Një mësim tjetër përfshin krijimin e një DNS dytësor, kufizimin e aksesit në serverin DNS dhe zbatimin e DNSSEC.

Garantuesi është një ndërmjetës i besueshëm ndërmjet pjesëmarrësve gjatë transaksionit.


Artikujt më të mirë mbi këtë temë