Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Vijesti
  • Instaliranje BIND servera na CentOS. Kako postaviti primarni DNS server na CentOS-u

Instaliranje BIND servera na CentOS. Kako postaviti primarni DNS server na CentOS-u

Predstavite vašoj pažnji novi kurs iz tima The Codeby- "Testiranje penetracije web aplikacija od nule." Opća teorija, priprema radnog okruženja, pasivno fuzzing i otisak prsta, aktivno fuzzing, ranjivosti, post-eksploatacija, Alati, društveni inženjering i još mnogo toga.


Domena imaju najmanje dvije DNS server a, jedan se zove primarni server imena (ns1), a drugi se zove sekundarni server imena (ns2). Sekundarni serveri se obično koriste kada postoje problemi sa primarnim DNS serverom: ako je jedan server nedostupan, drugi postaje aktivan. Moguće je više složena kola korištenjem balansiranja opterećenja, zaštitnih zidova i klastera.

Sve DNS zapisi određene domene se dodaju primarni server imena Sekundarni server jednostavno sinhronizuje sve informacije primljene od primarnog servera, na osnovu parametara navedenih na primarnom serveru.

Ovo uputstvo će opisati, kako kreirati primarni DNS server koji radi na CentOS-u. Imajte na umu da će DNS server predstavljen u ovom vodiču biti javni DNS, što znači da će server odgovarati na zahtjeve sa bilo koje IP adrese. Kako ograničiti pristup serveru opisano je u ovom priručniku.

Prije nego što počnemo, želio bih napomenuti da se DNS može instalirati sa ili bez chroot jail okruženja. chroot jail okruženje ograničava DNS server na određeni direktorijum na sistemu, za razliku od punog pristupa sistema serveru. Na ovaj način, bilo kakva ranjivost DNS servera neće ugroziti cijeli sistem. Ograničavanje DNS servera na određeni direktorij (proces koji se zove chrooting) je također korisno u test okruženjima.

Target

Postavićemo DNS server pod uslovima testiranja za domen example.tst, koji je hipotetički (nepostojeći) domen. Ovako se nećemo mešati nasumično u rad svih stvarnih domena.

U ovoj domeni postoje tri sljedeća servera.

Server IP adresa Hosted Services FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Web, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Primarni DNS server ns1.example.tst

Konfigurisaćemo primarni DNS server i dodati potrebnu domenu i DNS zapise kao što je prikazano u tabeli.

Postavljanje imena hostova

Svi hostovi moraju biti ispravno identificirani u smislu FQDN-a. To se može učiniti pomoću sljedeće metode.

Oni koji vole GUI, može koristiti alate NetworkManaget. Da biste to učinili, otkucajte naredbu nmtui. Otvoriće se sledeći pseudo-grafički interfejs:

Odaberite “Promijeni ime hosta” i unesite ns1.example.tst

Kada budete spremni, kliknite na OK.

Drugi način, sa samo jednom komandom:

Hostnamectl set-hostname ns1.example.tst

Jednom instalirano, ime hosta se može provjeriti sljedećom naredbom.

# ime hosta ns1.example.tst

Hostnamectl status

Prije prelaska na sljedeći korak, uvjerite se da je ime hosta za sve servere ispravno postavljeno.

Instaliranje paketa

Koristićemo bind za DNS, koji se lako može podesiti komandom yum.

Instaliranje DNS-a bez chroot-a:

# yum install bind

Postavljanje DNS-a sa chroot-om:

# yum install bind bind-chroot

Priprema konfiguracionih fajlova

Kao što je ranije spomenuto, bind se može konfigurirati sa ili bez chroot-a. Putanja se neznatno razlikuju ovisno o tome da li je chroot instaliran.

Put do konfiguracijski fajl Put do datoteka zone
Nema chroot-a /etc/ /var/named/
Sa chroot-om /var/named/chroot/etc/ /var/named/chroot/var/named/

Možete koristiti konfiguracijsku datoteku named.conf, koja je standardno isporučena. Međutim, mi ćemo koristiti drugačiji primjer konfiguracijske datoteke radi lakšeg korištenja.

Pravljenje rezervne kopije /etc/named.conf datoteke

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

Sada kada postoji rezervna kopija konfiguracioni fajl, a sam originalni fajl je promenjen, idemo dalje.

# vim /etc/named.conf

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

Sljedeći redovi su dodani/promijenjeni.

Opcije ( ## put do datoteka zone ## direktorij "/var/named"; ## zahtjevi za preusmjeravanje na javni DNS Google server za nelokalne domene ## prosljeđivače ( 8.8.8.8; ); ); ## deklaracija direktne zone na primjer.tst ## zona "example.tst" IN ( tip master; datoteka "example-fz"; ## datoteka za direktnu zonu nalazi se u /var/named ## dozvoljeno ažuriranje (nema; ) ; ); ## deklaracija obrnute zone za mrežu 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( tip master; datoteka "rz-172-16-1"; ## datoteka za obrnutu zonu je nalazi se u /var /named ## dozvoli ažuriranje (none; ); );

Priprema zonskih fajlova

Zadane datoteke zona se automatski kreiraju u /var/named ili /var/named/chroot/var/named (za chroot).

Pod pretpostavkom da zadane datoteke zone nisu prisutne, možemo kopirati uzorke datoteka iz /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

Odlično. Sada su zadane datoteke zone spremne, kreiramo naše sopstveni fajlovi zone na primjer.tst i mreža 172.16.1.0. Dok kreiramo datoteke zona, moramo zapamtiti sljedeće.

  • Simbol '@' znači NULL u datotekama zona.
  • Svaki unos potpuno kvalificiranog imena domene (FQDN) završava točkom '.' na primjer. mail.example.tst. Bez poena će biti problema.

1. Direktna zona

Direktna zona sadrži mapu prijevoda sa imena na IP adrese. Za javne domene, DNS domeni koji se nalaze na hosting uslugama nalaze se u direktnoj datoteci zone.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.example.tst. (0; serijski 1D; osvježi 1H; ponovni pokušaj 1W; istekne 3H) ; minimum IN NS ns1.example.tst. IN A 172.16.1.3 mail U 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.

Objašnjenje: Unutar datoteke zone, SOA označava početak autorizacije. Ovo je kompletno Ime domena autoritativni server imena. Nakon punog naziva domene dolaze kontakt informacije e-mail adresa. Pošto ne možemo koristiti '@' u [email protected], prepisujemo adresu e-pošte kao mial.example.tst.

  • N.S.: Ime servera
  • A: Zapis ili zapis adrese je IP adresa
  • MX: unos za razmjenu pošte. Ovdje koristimo samo jedan MX sa prioritetom 10. U slučaju više MX-ova, možemo koristiti različite digitalne prioritete. Donji broj pobjeđuje. Na primjer, MX 0 je bolji od MX 1.
  • CNAME: ime u kanonskom obliku. Ako server hostuje mnogo usluga, vrlo je vjerovatno da će se mnoga imena riješiti na jedan server. CNAME signalizira da server može imati druga imena i upućuje na ime sadržano u A zapisu.

2. Reverzna zona

Reverzna zona sadrži mapu konverzija iz IP adresa u imena. Ovdje kreiramo obrnutu zonu za mrežu 172.16.1.0. U stvarnom domenu, DNS server vlasnika javnog IP bloka nalazi se u datoteci obrnute zone.

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

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ IN SOA ns1.example.tst. sarmed.example.tst. (0; serijski 1D; osvježi 1H; ponovni pokušaj 1W; istekne 3H) ; minimum IN NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 IN PTR www.example.tst. 3 IN PTR ns1.example.tst.

Objašnjenje: Većina parametara koji se koriste u zoni unazad identični su zoni naprijed, osim jednog.

  • PTR: PTR ili pokazivač zapis, ukazuje na potpuno kvalificirano ime domene

Završetak

Sada kada su datoteke zone spremne, konfigurisaćemo rezoluciju datoteka zona.

# chgrp imenovan /var/named/*

# chgrp named /var/named/chroot/var/named/*

Sada ćemo postaviti IP DNS adresa server.

# vim /etc/resolv.conf server imena 172.16.1.3

Konačno možemo da trčimo DNS usluga i uvjerite se da je dodan u autorun.

# usluga pod nazivom restart # chkconfig imenovana na

DNS testiranje

Možemo koristiti dig ili nslookup za testiranje DNS-a. Prvo ćemo instalirati potrebne pakete.

# yum install bind-utils

1. Direktno testiranje zone korištenjem dig

# dig example.tst ;; ->>HEADER<<- 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. Provjerite PTR pomoću dig

Kada koristite dig za testiranje, uvijek biste trebali tražiti status "NOERROR". Bilo koje drugo stanje znači da nešto nije u redu.

# dig -x 172.16.1.1 ;; ->>HEADER<<- 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. Provjera MX pomoću dig

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

Savjeti za rješavanje problema

  1. SELinux mi je onemogućen.
  2. Provjerite da vaš zaštitni zid ne blokira UDP port 53
  3. /var/log/messages treba da sadrži korisne informacije u slučaju da nešto nije u redu
  4. Uvjerite se da je vlasnik datoteka zone korisnik 'named'
  5. Uverite se da je IP adresa DNS servera prva navedena u /etc/resolv.conf
  6. Ako koristite example.tst u laboratorijskom okruženju, obavezno isključite server sa Interneta jer example.tst je nepostojeći domen.

Da rezimiramo, ovaj vodič se fokusira na hostovanje example.tst domene u laboratorijskom okruženju u svrhu demonstracije. Imajte na umu da ovo nije vodič za kreiranje javnog DNS servera, kao što je DNS server koji odgovara na zahtjeve s bilo koje IP adrese. Ako postavljate proizvodni DNS server, obavezno provjerite koje politike se primjenjuju na javni DNS. Druga lekcija pokriva kreiranje sekundarnog DNS-a, ograničavanje pristupa DNS serveru i implementaciju DNSSEC-a.

Garant je pouzdani posrednik između Učesnika tokom transakcije.


U ovom članku ćemo se osvrnuti na implementaciju glavnog i podređenog BIND (Berkeley Internet Name Domain) DNS servera na CentOS 6.4 minimal. Prije nego što možete dovršiti sve korake u ovom članku, morate imati konfiguriranu mrežu, instalirati system-config-firewall-tui i Midnight Commander. Možete pročitati cijelu početnu postavku CentOS-a.

Na obe mašine:

instalirajte Midnight Commander:

instalirajte system-config-firewall-tui:

yum install system-config-firewall-tui –y

unesite u komandnu liniju

iptables -A INPUT -p udp -m stanje --stanje NOVO -m udp --dport 53 -j PRIHVATI

instaliraj BIND:

yum instaliraj bind-chroot bind-utils –y

Pokrenimo uslužni program za konfiguraciju zaštitnog zida i konfigurirajmo:

system-config-firewall-tui

Označite zvjezdicom DNS

Kliknite "naprijed". Označite interfejs eth0 i kliknite "naprijed"

Kliknite "naprijed". Označite interfejs za eth0 maskenbal i kliknite "naprijed"

Kliknite "naprijed".

Kliknite "naprijed".

Kliknite "naprijed".

Kliknite "naprijed".

Kliknite "Zatvori".

Kliknite "UREDU".

Kliknite "da". Spreman.

Onemogući SELINUX:

u /etc/selinux/config ćemo to ispraviti SELINUX=onemogućeno

Sada generirajmo ključ:

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

Ova komanda će kreirati dvije datoteke u trenutnom direktoriju. U *.private datoteci u trećem redu nalazit će se ključ oblika: wGmtcnMtn9od+ndTc20tGg==

Nakon toga otvorite datoteku /etc/resolv.conf i na samom početku ćemo u njega napisati:

nameserver 192.168.0.191

server imena 192.168.0.192

Glavni DNS server (IP: 192.168.0.191 ime hosta: ns1.localserver12.ru):

kreirajte direktorij /etc/named/master

mkdir /etc/named/master

mi ćemo prenijeti bindu na farmu

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

Otvaranje /etc/named.conf. U njemu provjeravamo prisutnost dolje navedenih opcija. Ako ih nema, dodajte ih; ako se razlikuju, ispravite ih:

port za slušanje 53 ( 127.0.0.1; 192.168.0.191; );

dozvoli-transfer (192.168.0.192; );

obavijestiti da;

zona "localserver12.ru" IN (

type master;

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

/* Put do ISC DLV ključa */)

dnssec-enable da;

dnssec-validacija da;

dnssec-lookaside auto;

Kreirajmo fajl localserver12.ru u /etc/named/master direktorij

dodirnite /etc/named/master/localserver12.ru

Predajte ga bindu farmi:

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

Upišimo u njega sljedeće (otprilike kao na slici):

Započnimo vezivanje

Stavili smo BIND u startup tako da se pokreće tokom pokretanja sistema

Glavni DNS server je spreman.

Slave DNS server (IP: 192.168.0.192 ime hosta: ns2.localserver12.ru):

kreirajte direktorij /etc/named/slave

Hajde da ga predamo bindu farmi

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

Otvorite /etc/named.conf. U njemu provjeravamo prisutnost dolje navedenih opcija. Ako ih nema, dodajte ih; ako se razlikuju, ispravite ih:

port za slušanje 53 ( 127.0.0.1; 192.168.0.192; );

dozvoli-rekurziju (192.168.0.0/24; );

rekurzija da;

dozvoli-transfer (nema; );

notify no;

zona "localserver12.ru" (

type slave;

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

masters(192.168.0.191;);

Također provjeravamo prisutnost takvih linija (ako ne, dodajte prije reda /* Put do ISC DLV ključa */)

Dnssec-omogući da;

Dnssec-validacija da;

Dnssec-lookaside auto;

Započnimo vezivanje

Stavljamo ga u startup tako da se pokreće tokom pokretanja sistema

Slave DNS server je spreman. Također, nakon ponovnog pokretanja, datoteka će biti automatski povučena u /etc/named/slave direktorij localserver12.ru

Sada provjerimo:

na slaveu unesite komandu

dig @ns1.localserver12.ru localserver12.ru axfr

a na majstoru ovako

dig @ns2.localserver12.ru localserver12.ru axfr

u oba slučaja, podaci i DNS zapisi se prikazuju iz datoteke localserver12.ru

Sve. DNS serveri su spremni.


Ako vam je ovaj članak pomogao, možete se zahvaliti autoru:
transfer na WMR novčanik (WebMoney): R301575071888
prijenos na Yandex.Wallet: 410011003938168
ili na PayPal-u:

DNS- sistem imena domena - distribuirani sistem koji je sposoban prijaviti svoju IP adresu na zahtjev koji sadrži ime hosta. DNS struktura je slična Linux sistemu datoteka; cijela baza podataka ima strukturu stabla, s korijenom na vrhu ( . ). Od tačke počinje čitav sistem naziva domena. Nakon tačke može biti ru, com, net, info itd. Domeni koji potiču iz korijena tj. ru., com.,net. su pozvani domene prvog nivoa, domene tipa web stranice. su pozvani domene drugog nivoa, ali u obliku file.site. - domene trećeg nivoa i tako dalje. Obratite pažnju na tačku na kraju primjera. Ovako napisana imena nazivaju se apsolutnim imenima (FQDN). Ako tačka nije navedena, tada se ime tretira kao relativno. Odnosno, web stranica.

Zašto koristiti DNS?

1) Zamislite da trebate pristupiti mrežnom resursu pod tim imenom domaćin(ovo je server datoteka u kojem su pohranjeni svi fajlovi zaposlenih) ime domaćin Ima IP adresa je 192.168.200.20 i ako nemate servis koji pretvara IP adrese u imena, onda morate birati IP adresu 192.168.200.20 da biste došli do servera datoteka. Šta je lakše zapamtiti ime hosta ili skup brojeva 192.168.200.20?

2) Druga opcija se odnosi na pristup Internetu, na primjer, potrebno je da dođete do FTP servera na Internetu sa imenom ftp.site, a IP adresa je 89.111.176.87.

Dakle, ako u prvoj opciji uopće ne trebate instalirati i konfigurirati DNS server, već jednostavno možete brzo postaviti npr. WINS servis, onda vam je jednostavno potreban za pristup Internetu (mi ćemo t stalno pamti brojeve kada pokušavamo pristupiti bilo kojem resursu na Internetu). Drugo pitanje je da li treba da ga konfigurišete ako vam je provajder obezbedio svoje DNS servere?

DNS server se može koristiti kao: primarni i sekundarni, rekurzivni i preusmjerivač upita.

Primarni(master) učitava podatke za zonu iz datoteke na serverskoj mašini, a sekundarni (slave) prima podatke od primarnog DNS-a. DNS server može biti primarni za jednu zonu i sekundarni za drugu.

Rekurzivni server stvorene u velikim organizacijama sa brzim mrežnim vezama. Nije vezan za servere provajdera, fleksibilan je i siguran.

Zahtjev Redirectoršalje zahtjev od klijenta do servera provajdera. Server provajdera obrađuje mnoge zahtjeve klijenata, ima veliku keš memoriju i vezu velike brzine.

Osnovni DNS zapisi.

A - korespondencija između imena i IP adrese
AAAA - korespondencija između imena i IPv6 adrese
CNAME - kanonski naziv (sinonim)
MX - ukazuje na mail server za ovu domenu
NS - DNS server za domen
PTR - kanonski naziv
SOA je početni zapis koji pokazuje gdje se pohranjuju informacije o serveru.
SRV - serveri za usluge.

Instaliranje BIND.
Instalirat ćemo BIND na centOs5.
Ima server pod nazivom ns1..168.200.1

yum install bind

Postavke BIND
Kreirajte i popunite konfiguracionu datoteku

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

opcije (
direktorij "/var/named/";
dump-file "/var/run/named_dump.bd";
statistika-datoteka "/var/run/named.stats";
};
zona "site" u (
type master;
fajl "site.db";
};
zona "200.168.192.IN-ADDR.ARPA." IN (
type master;
fajl "192.168.200.db";
};

zona "0.0.127.IN-ADDR.ARPA." IN (
type master;
fajl "127.0.0.db";
};

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

Kreiramo datoteke zona za site.db, 192.168.0.db, 127.0.0.db, named.ca.

vi /var/named/chroot/var/named/site.db# direktna zona za mapiranje imena u adrese.

$TTL 1H ; 1 sat
IN SOA web stranica ns1.site. root.site (22
3H
1H
1W
1H)

; Serveri imena
N.S. ns1.site

;Za caconična imena
ns1.site. U 1H A 192.168.200.1
host1.site. U 1H A 192.168.200.154
;Aliases
gw1.site. U 1H CNAME host1.site.
www.site. U 1H CNAME host1.site.

vi /var/named/chroot/var/named/192.168.200.db# reverzna zona za mapiranje adresa u imena.

$TTL 3600 ; 1 sat
200.168.192.in-addr.arpa IN SOA ns1.site. root.site (21
3H
1H
1W
1H)
; Serveri imena
200.168.192.in-addr.arpa IN NS ns1.site

; kanonska imena
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# loopback adresa za slanje paketa sebi.

$TTL 3600 ; 1 sat
0.0.127.in-addr.arpa U SOA ns1.site. root.site (21
3H
1H
1W
1H)

0.0.127.in-addr.arpa IN NS ns1.site
0.0.127.in-addr.arpa. IN PTR localhost.

vi /var/named/chroot/var/named/named.ca#root serveri

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; ranije NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; ranije C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; ranije TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; ranije NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; ranije NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; ranije NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; ranije AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; ranije 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
;
; upravlja RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; kojim upravlja ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; upravlja WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; Kraj datoteke

Pokretanje i zaustavljanje servera/etc/init.d/named (start stop restart)
Uslužni programi za testiranje DNS-a: host, nslookup, dig.
Za detaljnije DNS postavke, pročitajte man bind, DNS i BIND knjigu, itd.

|

Ovaj vodič će pokriti instalaciju i konfiguraciju BIND DNS servera.

Da biste pratili uputstva, preporučuje se da konfigurišete najmanje dva servera u oblaku za pokretanje servera imena; Posjedovanje više servera imena omogućava vam korištenje rezervnih resursa u slučaju greške. Također možete razmotriti korištenje dvije različite tačke prisutnosti (POP). Pretpostavlja se da se koristi primarni (master) i sekundarni server imena (slave).

Vrijedi napomenuti da kada upravljate velikim brojem domena, ovo možda nije najefikasnije rješenje, jer ćete morati ručno dodati domene i na master i na slave. Uz to, pokretanje vlastitih servera imena je odličan način za održavanje direktne kontrole nad vašom infrastrukturom hostinga i DNS zapisima.

Kao i uvijek, važno je započeti tako što ćete provjeriti je li vaš sistem ažuriran. Provjerite ima li ažuriranja koristeći yum:

Instaliranje BIND

Za instaliranje paketa BIND i bind-utils koristite yum:

Zatim otvorite BIND konfiguracijsku datoteku i izvršite neke prilagodbe u njoj.

nano -w /etc/named.conf

U datoteci pronađite odjeljak opcija, koji izgleda ovako (umjesto 2.2.2.2 - IP adresa drugog servera):

opcije (


direktorij "/var/named";



dozvoli-upit (bilo koji;);
dozvoli-transfer (lokalni host; 2.2.2.2; );
rekurzija br;
dnssec-enable da;
dnssec-validacija da;
dnssec-lookaside auto;
/* Put do ISC DLV ključa */


};

Direktiva slušanja mora biti komentirana da bi se slušala dostupna sučelja. Direktivu rekurzije treba postaviti na isključeno kako bi se spriječilo odraz DDoS napada. Direktiva dozvoli-transfer dodaje IP adresu sekundarnog servera na bijelu listu. Osim toga, trebate promijeniti vrijednost direktive dozvole-upit u bilo koju da biste korisnicima omogućili pristup zonama.

Zatim morate dodati novu zonu za prvu domenu. Da biste to učinili, postavite sljedeći kod na kraj named.conf datoteke:

zona "mydomain.com" IN (
type master;
fajl "mydomain.com.zone";
dozvoli ažuriranje(nema;);
};

Sačuvajte promjene u named.conf. Nakon toga možete započeti kreiranje datoteke opisa zone (datoteka zone).

Postavljanje BIND zona

Prvo morate otvoriti datoteku zone, navodeći ime uneseno u prethodni konfiguracijski fajl (mydomain.com.zone).

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

Dodajte sljedeći kod u datoteku. Zamenite uslovne IP adrese adresama vaših servera (1.1.1.1 – IP adresa prvog servera, 2.2.2.2 – IP adresa drugog servera, 3.3.3.3 – IP na koju želite da usmerite domen (npr. , web server)). Učinite druge izmjene koda ako je potrebno.

86400 TTL
@ IN SOA ns1.mydomain.com. root.mydomain.com. (
2013042201 ;Serijski
3600 ;Osvježi
1800 ;Pokušaj ponovo
604800 ;Istek
86400 ;Minimalni TTL
; Navedite naša dva servera imena
IN NS ns1.mydomain.com.
IN NS ns2.mydomain.com.
; Razriješi imena hosta servera imena u IP, zamijenite sa svoje dvije kapljice IP adrese.
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
; Definirajte hostname -> IP parove koje želite riješiti
@ IN A 3.3.3.3
www IN A 3.3

Lansiranje imenovano. Može potrajati nekoliko minuta da se pokrene jer pri prvom pokretanju named kreira datoteku rndc.key.

servis pod nazivom restart

Nakon uspješnog pokretanja imenovanog demona, morate biti sigurni da je omogućen kao usluga:

chkconfig imenovan na

Primarni server imena je sada potpuno spreman. Da biste potvrdili da BIND radi kako se očekuje, pokrenite sljedeću naredbu, navodeći IP servera umjesto 1.1.1.1:

dig @1.1.1.1 mydomain.com

Ako rezultat sadrži odjeljke odgovora i ovlaštenja, to znači da je konfiguracija ispravno dovršena.

Postavljanje slave servera

Dakle, glavni server je spreman za rad. Sada morate da konfigurišete sekundarni server imena na drugom serveru u oblaku.

Provjerite je li sistem ažuriran.

Instalirajte BIND i njegove uslužne programe na drugi cloud server:

yum install bind bind-utils -y

Otvorite named.conf i izvršite ista podešavanja kao na prvom serveru, izostavljajući direktivu dozvoljenog prenosa - ova direktiva nije potrebna, pošto će zapisi biti prebačeni samo sa primarnog servera imena.

nano -w /etc/named.conf
opcije (
#listen-on port 53 (127.0.0.1; );
slušaj-na-v6 port 53 ( ::1; );
direktorij "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistika-datoteka "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
dozvoli-upit (bilo koji;);
rekurzija br;
dnssec-enable da;
dnssec-validacija da;
dnssec-lookaside auto;
/* Put do ISC DLV ključa */
bindkeys-file "/etc/named.iscdlv.key";
direktorij upravljanih ključeva "/var/named/dynamic";
};

Dodajte zone konfigurisane na prethodnom serveru, zamenjujući vrednost direktive tipa sa slave. Navedite IP prvog servera umjesto 1.1.1.1:

zona "mydomain.com" IN (
type slave;
masters ( 1.1.1.1; );
fajl "mydomain.com.zone";
};

Nakon što ste konfigurirali slave zonu, pokrenite imenovani demon. Opet, ovo može potrajati nekoliko minuta jer prvi put kada se demon pokrene na serveru, kreira datoteku rndc.key.

usluga pod nazivom start

Baš kao na prvom serveru u oblaku, provjerite radi li imenovani demon:

chkconfig imenovan na

Sekundarni server imena je sada spreman za rad. Da biste bili sigurni da radi kako se očekuje, koristite sljedeću naredbu, zamjenjujući 2.2.2.2 IP adresom drugog servera u oblaku.

dig @2.2.2.2 mydomain.com

Nakon što napravite bilo kakve promjene u datotekama primarne serverske zone, morate ponovo pokrenuti BIND. Zapamtite da također trebate povećati serijsku direktivu kako biste osigurali da primarni i sekundarni serveri rade sinhrono.

Da biste ponovo pokrenuli datoteke zone, koristite sljedeću naredbu prvo na glavnom, a zatim na slave-u:

BIND u chroot okruženju

Na CentOS-u je to vrlo lako. Samo imajte na umu da će aktivne BIND staze biti zamijenjene chroot ekvivalentima (na primjer, var/named postaje /var/named/chroot/var/named). U CentOS-u 6, ne morate premještati nijednu datoteku jer će paket automatski kreirati simboličke veze ka ne-chroot direktorijumima.

Da biste omogućili ovu funkciju koristite:

yum install bind-chroot -y
usluga pod nazivom restart

Tagovi: ,

Predstavljamo Vašoj pažnji novi kurs iz tima The Codeby- "Testiranje penetracije web aplikacija od nule." Opća teorija, priprema radnog okruženja, pasivno fuzzing i otisak prsta, aktivno fuzziranje, ranjivosti, post-eksploatacija, alati, društveni inženjering i još mnogo toga.


Domeni imaju najmanje dva DNS servera, jedan se zove primarni server imena (ns1), a drugi se zove sekundarni server imena (ns2). Sekundarni serveri se obično koriste kada postoje problemi sa primarnim DNS serverom: ako je jedan server nedostupan, drugi postaje aktivan. Složenije sheme su također moguće pomoću balansiranja opterećenja, zaštitnih zidova i klastera.

Svi DNS zapisi za određeni domen se dodaju na primarni server imena. Sekundarni server jednostavno sinhronizuje sve informacije primljene od primarnog servera, na osnovu parametara navedenih na primarnom serveru.

Ovo uputstvo će opisati, kako kreirati primarni DNS server koji radi na CentOS-u. Imajte na umu da će DNS server predstavljen u ovom vodiču biti javni DNS, što znači da će server odgovarati na zahtjeve sa bilo koje IP adrese. Kako ograničiti pristup serveru opisano je u ovom priručniku.

Prije nego što počnemo, želio bih napomenuti da se DNS može instalirati sa ili bez chroot jail okruženja. chroot jail okruženje ograničava DNS server na određeni direktorijum na sistemu, za razliku od punog pristupa sistema serveru. Na ovaj način, bilo kakva ranjivost DNS servera neće ugroziti cijeli sistem. Ograničavanje DNS servera na određeni direktorij (proces koji se zove chrooting) je također korisno u test okruženjima.

Target

Postavićemo DNS server pod uslovima testiranja za domen example.tst, koji je hipotetički (nepostojeći) domen. Na ovaj način nećemo nasumično ometati nijednu stvarnu domenu.

U ovoj domeni postoje tri sljedeća servera.

Server IP adresa Hosted Services FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Web, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Primarni DNS server ns1.example.tst

Konfigurisaćemo primarni DNS server i dodati potrebnu domenu i DNS zapise kao što je prikazano u tabeli.

Postavljanje imena hostova

Svi hostovi moraju biti ispravno identificirani u smislu FQDN-a. To se može učiniti pomoću sljedeće metode.

Oni koji vole grafičko sučelje mogu koristiti alate NetworkManaget. Da biste to učinili, otkucajte naredbu nmtui. Otvoriće se sledeći pseudo-grafički interfejs:

Odaberite “Promijeni ime hosta” i unesite ns1.example.tst

Kada budete spremni, kliknite na OK.

Drugi način, sa samo jednom komandom:

Hostnamectl set-hostname ns1.example.tst

Jednom instalirano, ime hosta se može provjeriti sljedećom naredbom.

# ime hosta ns1.example.tst

Hostnamectl status

Prije nego što pređete na sljedeći korak, provjerite je li ime hosta za sve servere ispravno postavljeno.

Instaliranje paketa

Koristićemo bind za DNS, koji se lako može podesiti komandom yum.

Instaliranje DNS-a bez chroot-a:

# yum install bind

Postavljanje DNS-a sa chroot-om:

# yum install bind bind-chroot

Priprema konfiguracionih fajlova

Kao što je ranije spomenuto, bind se može konfigurirati sa ili bez chroot-a. Putanja se neznatno razlikuju ovisno o tome da li je chroot instaliran.

Put do konfiguracijske datoteke Put do datoteka zone
Nema chroot-a /etc/ /var/named/
Sa chroot-om /var/named/chroot/etc/ /var/named/chroot/var/named/

Možete koristiti konfiguracijsku datoteku named.conf, koja je standardno isporučena. Međutim, mi ćemo koristiti drugačiji primjer konfiguracijske datoteke radi lakšeg korištenja.

Pravljenje rezervne kopije /etc/named.conf datoteke

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

Sada kada postoji rezervna kopija konfiguracionog fajla, a sam originalni fajl je promenjen, idemo dalje.

# vim /etc/named.conf

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

Sljedeći redovi su dodani/promijenjeni.

Opcije ( ## putanja do datoteka zone ## direktorij "/var/named"; ## prosljeđivanje zahtjeva na Googleov javni DNS server za nelokalne domene ## prosljeđivače (8.8.8.8; ); ); ## deklaracija direktne zone na primjer.tst ## zona "example.tst" IN ( tip master; datoteka "example-fz"; ## datoteka za direktnu zonu nalazi se u /var/named ## dozvoljeno ažuriranje (nema; ) ; ); ## deklaracija obrnute zone za mrežu 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( tip master; datoteka "rz-172-16-1"; ## datoteka za obrnutu zonu je nalazi se u /var /named ## dozvoli ažuriranje (none; ); );

Priprema zonskih fajlova

Zadane datoteke zona se automatski kreiraju u /var/named ili /var/named/chroot/var/named (za chroot).

Pod pretpostavkom da zadane datoteke zone nisu prisutne, možemo kopirati uzorke datoteka iz /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

Odlično. Sada su zadane datoteke zone spremne, kreiramo vlastite datoteke zona na primjer.tst i mreže 172.16.1.0. Dok kreiramo datoteke zona, moramo zapamtiti sljedeće.

  • Simbol '@' znači NULL u datotekama zona.
  • Svaki unos potpuno kvalificiranog imena domene (FQDN) završava točkom '.' na primjer. mail.example.tst. Bez poena će biti problema.

1. Direktna zona

Direktna zona sadrži mapu prijevoda sa imena na IP adrese. Za javne domene, DNS domeni koji se nalaze na hosting uslugama nalaze se u direktnoj datoteci zone.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.example.tst. (0; serijski 1D; osvježi 1H; ponovni pokušaj 1W; istekne 3H) ; minimum IN NS ns1.example.tst. IN A 172.16.1.3 mail U 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.

Objašnjenje: Unutar datoteke zone, SOA označava početak autorizacije. Ovo je potpuno kvalificirano ime domene ovlaštenog poslužitelja imena. Nakon punog imena domene nalazi se adresa e-pošte za kontakt. Pošto ne možemo koristiti '@' u [email protected], prepisujemo adresu e-pošte kao mial.example.tst.

  • N.S.: Ime servera
  • A: Zapis ili zapis adrese je IP adresa
  • MX: unos za razmjenu pošte. Ovdje koristimo samo jedan MX sa prioritetom 10. U slučaju više MX-ova, možemo koristiti različite digitalne prioritete. Donji broj pobjeđuje. Na primjer, MX 0 je bolji od MX 1.
  • CNAME: ime u kanonskom obliku. Ako server hostuje mnogo usluga, vrlo je vjerovatno da će se mnoga imena riješiti na jedan server. CNAME signalizira da server može imati druga imena i upućuje na ime sadržano u A zapisu.

2. Reverzna zona

Reverzna zona sadrži mapu konverzija iz IP adresa u imena. Ovdje kreiramo obrnutu zonu za mrežu 172.16.1.0. U stvarnom domenu, DNS server vlasnika javnog IP bloka nalazi se u datoteci obrnute zone.

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

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ IN SOA ns1.example.tst. sarmed.example.tst. (0; serijski 1D; osvježi 1H; ponovni pokušaj 1W; istekne 3H) ; minimum IN NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 IN PTR www.example.tst. 3 IN PTR ns1.example.tst.

Objašnjenje: Većina parametara koji se koriste u zoni unazad identični su zoni naprijed, osim jednog.

  • PTR: PTR ili pokazivač zapis, ukazuje na potpuno kvalificirano ime domene

Završetak

Sada kada su datoteke zone spremne, konfigurisaćemo rezoluciju datoteka zona.

# chgrp imenovan /var/named/*

# chgrp named /var/named/chroot/var/named/*

Sada ćemo postaviti IP adresu DNS servera.

# vim /etc/resolv.conf server imena 172.16.1.3

Konačno, možemo pokrenuti DNS uslugu i provjeriti je li dodana u autostart.

# usluga pod nazivom restart # chkconfig imenovana na

DNS testiranje

Možemo koristiti dig ili nslookup za testiranje DNS-a. Prvo ćemo instalirati potrebne pakete.

# yum install bind-utils

1. Direktno testiranje zone korištenjem dig

# dig example.tst ;; ->>HEADER<<- 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. Provjerite PTR pomoću dig

Kada koristite dig za testiranje, uvijek biste trebali tražiti status "NOERROR". Bilo koje drugo stanje znači da nešto nije u redu.

# dig -x 172.16.1.1 ;; ->>HEADER<<- 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. Provjera MX pomoću dig

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

Savjeti za rješavanje problema

  1. SELinux mi je onemogućen.
  2. Provjerite da vaš zaštitni zid ne blokira UDP port 53
  3. /var/log/messages treba da sadrži korisne informacije u slučaju da nešto nije u redu
  4. Uvjerite se da je vlasnik datoteka zone korisnik 'named'
  5. Uverite se da je IP adresa DNS servera prva navedena u /etc/resolv.conf
  6. Ako koristite example.tst u laboratorijskom okruženju, obavezno isključite server sa Interneta jer example.tst je nepostojeći domen.

Da rezimiramo, ovaj vodič se fokusira na hostovanje example.tst domene u laboratorijskom okruženju u svrhu demonstracije. Imajte na umu da ovo nije vodič za kreiranje javnog DNS servera, kao što je DNS server koji odgovara na zahtjeve s bilo koje IP adrese. Ako postavljate proizvodni DNS server, obavezno provjerite koje politike se primjenjuju na javni DNS. Druga lekcija pokriva kreiranje sekundarnog DNS-a, ograničavanje pristupa DNS serveru i implementaciju DNSSEC-a.

Garant je pouzdani posrednik između Učesnika tokom transakcije.


Najbolji članci na ovu temu