Centos dns-serveri installimine. DNS-serveri töö kontrollimine. BIND-i installimine ja käivitamine

Esitame teie tähelepanu uus kursus meeskonnast Codeby- "Veebirakenduste läbitungimise testimine nullist." Üldine teooria, töökeskkonna ettevalmistamine, passiivne udustamine ja sõrmejälgede võtmine, aktiivne fuzzing, haavatavused, ärakasutamisjärgne, Tööriistad, sotsiaalne projekt ja palju muud.


Domeenidel on vähemalt kaks DNS-server a, ühte nimetatakse esmaseks nimeserveriks (ns1) ja teist nimetatakse sekundaarseks nimeserveriks (ns2). Sekundaarseid servereid kasutatakse tavaliselt siis, kui esmase DNS-serveriga on probleeme: kui üks server pole saadaval, aktiveerub teine. Rohkem on võimalik keerulised ahelad koormuse tasakaalustamise, tulemüüride ja klastrite kasutamine.

Kõik DNS-kirjed konkreetne domeen on lisatud esmane server nimed Teisene server lihtsalt sünkroonib kogu teabe, võttes selle vastu esmasest serverist, lähtudes esmases serveris määratud parameetritest.

See juhend kirjeldab, kuidas luua CentOS-is töötav esmane DNS-server. Pange tähele, et selles juhendis esitatud DNS-server on avalik DNS, mis tähendab, et server vastab päringutele mis tahes IP-aadressilt. Selles juhendis kirjeldatakse serverile juurdepääsu piiramist.

Enne alustamist tahaksin mainida, et DNS-i saab installida chroot jail keskkonnaga või ilma. chroot keskkond vangla piirab DNS-serverit süsteemi kindla kataloogiga, mitte aga täielikku süsteemijuurdepääsu serverile. Nii ei ohusta ükski DNS-serveri haavatavus kogu süsteemi. DNS-serveri piiramine kindla kataloogiga (protsess, mida nimetatakse chrootimiseks) on kasulik ka testkeskkondades.

Sihtmärk

Seadistame DNS-serveri testtingimustel domeeni example.tst jaoks, mis on hüpoteetiline (olematu) domeen. Nii ei sega me juhuslikult ühtegi päris domeeni.

Selles domeenis on kolm järgmist serverit.

Server IP-aadress Hostitud teenused FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Veeb, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Esmane DNS-server ns1.example.tst

Konfigureerime esmase DNS-serveri ja lisame vajalikud domeeni- ja DNS-kirjed, nagu on näidatud tabelis.

Hostinimede seadistamine

Kõik hostid peavad olema FQDN-i järgi õigesti tuvastatud. Seda saab teha järgmise meetodi abil.

Need, kes armastavad GUI, saab kasutada NetworkManageti tööriistu. Selleks tippige käsk nmtui. Avaneb järgmine pseudograafiline liides:

Valige "Change host name" ja sisestage ns1.example.tst

Kui olete valmis, klõpsake nuppu OK.

Teine viis, vaid ühe käsuga:

Hostnameectl set-hostinimi ns1.example.tst

Pärast installimist saab hostinime kontrollida järgmise käsuga.

# hostinimi ns1.example.tst

Hostnameectl olek

Enne järgmise sammu juurde liikumist veenduge, et kõigi serverite hostinimi on õigesti seadistatud.

Pakettide installimine

DNS-i jaoks kasutame bind, mida saab hõlpsasti seadistada käsuga yum.

DNS-i installimine ilma chrootita:

# yum install bind

DNS-i seadistamine chrootiga:

# yum install bind bind-chroot

Konfiguratsioonifailide ettevalmistamine

Nagu varem mainitud, saab sidumist konfigureerida chrootiga või ilma. Teed varieeruvad veidi sõltuvalt sellest, kas chroot oli installitud.

Võimalus konfiguratsioonifail Tsoonifailide tee
Ei mingit chrooti /etc/ /var/named/
Koos chrootiga /var/named/chroot/etc/ /var/named/chroot/var/named/

Võite kasutada konfiguratsioonifaili named.conf, mis on vaikimisi kaasas. Kasutamise hõlbustamiseks kasutame aga teistsugust konfiguratsioonifaili näidet.

/etc/named.conf failist varukoopia tegemine

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

Nüüd, kui on varukoopia konfiguratsioonifaili ja algset faili ennast on muudetud, liigume edasi.

# vim /etc/named.conf

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

Järgmised read on lisatud/muudetud.

Valikud ( ## tsoonifailide tee ## kataloog "/var/named"; ## suunamistaotlused avalik DNS Google'i server mittekohalikele domeenidele ## ekspedeerijad ( 8.8.8.8; ); ); ## otsetsooni deklaratsioon example.tst ## tsoon "example.tst" IN ( tüüp master; fail "example-fz"; ## otsetsooni fail asub /var/named ## allow-update (pole;) ; ## võrgu 172.16.1.0 vastupidise tsooni deklaratsioon ## tsoon "1.16.172.in-addr.arpa" IN (tüüp master; fail "rz-172-16-1"; ## pöördtsooni fail on asub /var /named ## allow-update ( none; );

Tsoonifailide ettevalmistamine

Tsooni vaikefailid luuakse automaatselt kaustas /var/named või /var/named/chroot/var/named (chrooti jaoks).

Eeldades, et vaiketsoonifaile pole, saame näidisfailid kopeerida kaustast /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

Suurepärane. Nüüd on vaiketsooni failid valmis, loome oma enda failid tsoonid näiteks.tst ja võrk 172.16.1.0. Tsoonifailide loomisel peame meeles pidama järgmist.

  • '@' sümbol tähendab tsoonifailides NULL-i.
  • Iga täielikult kvalifitseeritud domeeninime (FQDN) kirje lõpeb näiteks punktiga '.'. mail.example.tst. Ilma punktita tekivad probleemid.

1. Otsetsoon

Otsetsoon sisaldab tõlgete kaarti nimedest IP-aadressideni. Avalike domeenide puhul sisalduvad hostimisteenustes hostitud DNS-domeenid otsetsooni failis.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.example.tst. (0; seeria 1D; värskenda 1H; proovi uuesti 1W; aegu 3H); minimaalne IN NS ns1.example.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.

Selgitus: tsoonifailis tähistab SOA autoriseerimise algust. See on täielik domeeninimi autoriteetne nimeserver. Pärast täielikku domeeninime tuleb kontaktteave meiliaadress. Kuna me ei saa kasutada tähist @ [e-postiga kaitstud], kirjutame e-posti aadressi ümber kujule mial.example.tst.

  • N.S.: serveri nimi
  • A: kirje või aadressikirje on IP-aadress
  • MX: Postivahetaja rekord. Siin kasutame ainult ühte MX-i prioriteediga 10. Mitme MX-i korral saame kasutada erinevaid digitaalseid prioriteete. Alumine number võidab. Näiteks MX 0 on parem kui MX 1.
  • CNAME: nimi sisse kanooniline vorm. Kui server hostib palju teenuseid, on väga tõenäoline, et paljud nimed lahendatakse üheks serveriks. CNAME annab märku, et serveril võivad olla teised nimed, ja viitab A-kirjes sisalduvale nimele.

2. Tagurpidi tsoon

Tagurpidi tsoon sisaldab IP-aadresside ja nimede teisendamise kaarti. Siin loome võrgu 172.16.1.0 jaoks vastupidise tsooni. Päris domeenis sisaldub avaliku IP-ploki omaniku DNS-server pöördtsooni failis.

# 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; seeria 1D; värskenda 1H; proovi uuesti 1W; aegu 3H); minimaalne IN NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 IN PTR www.example.tst. 3 IN PTR ns1.example.tst.

Selgitus: enamus kasutatud parameetreid vastupidine tsoon identne sirge tsooniga, välja arvatud üks asi.

  • PTR: PTR või kursorkirje, osutab täielikult kvalifitseeritud domeeninimele

Lõpetamine

Nüüd, kui tsoonifailid on valmis, konfigureerime tsoonifailide eraldusvõime.

# chgrp nimega /var/named/*

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

Nüüd määrame IP DNS-aadress server.

# vim /etc/resolv.conf nimeserver 172.16.1.3

Lõpuks saame joosta DNS-teenus ja veenduge, et see oleks lisatud automaatkäivitusse.

# teenus nimega restart # chkconfig nimega

DNS testimine

DNS-i testimiseks saame kasutada dig või nslookup. Esmalt paigaldame vajalikud paketid.

# yum install bind-utils

1. Otsene tsooni testimine, kasutades dig

# dig example.tst ;; ->>PÄIS<<- 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. Kontrollige PTR-i kasutades dig

Kui kasutate testimiseks digi, peaksite alati otsima olekut "NOERROR". Iga muu tingimus tähendab, et midagi on valesti.

# dig -x 172.16.1.1 ;; ->>PÄIS<<- 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. MX kontrollimine dig

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

Nõuanded probleemide lahendamiseks

  1. Mul on SELinux keelatud.
  2. Veenduge, et teie tulemüür ei blokeeriks UDP-porti 53
  3. /var/log/messages peaks sisaldama kasulikku teavet juhuks, kui midagi on valesti
  4. Veenduge, et tsoonifailide omanik on kasutaja 'named'
  5. Veenduge, et DNS-serveri IP-aadress oleks loendis /etc/resolv.conf esimesena loetletud
  6. Kui kasutate faili example.tst laborikeskkonnas, katkestage kindlasti serveri ühendus Internetiga, kuna example.tst on olematu domeen.

Kokkuvõtteks keskendub see õpetus demonstratsiooni eesmärgil domeeni example.tst majutamisele laboris. Pidage meeles, et see ei ole juhend avaliku DNS-serveri loomiseks, nagu DNS-server, mis vastab mis tahes IP-aadressi päringutele. Kui seadistate DNS-i tootmisserverit, kontrollige kindlasti, millised eeskirjad kehtivad avaliku DNS-i puhul. Teine õppetund hõlmab teisese DNS-i loomist, DNS-serverile juurdepääsu piiramist ja DNSSEC-i rakendamist.

Käendaja on tehingu ajal Osalejate vahel usaldusväärne vahendaja.


Üks olulisi teenuseid, mis tagab kaasaegse Interneti toimimise, on saidi nime IP-aadressiks teisendamise teenus. Selles artiklis seadistame DNS-teenuse juurutamise näitel Bind 9 (nimega) seadistamisest serveris, kus töötab CentOS 7. Valmistame ette minimaalse vajaliku põhifunktsionaalsuse ja vaatame logimisseadetesse veidi sügavamalt.

Seo- tänapäeval levinuim DNS-serveri teostus, mis tagab IP-aadresside teisendamise DNS-nimedeks ja vastupidi. Seda nimetatakse ka nimeks, näiteks Freebsd-s. Wikipedia teabe põhjal otsustades töötab nüüd 10 Internetis leiduvast 13-st juur-DNS-serverist sidumise teel. See on karbist välja installitud peaaegu kõikidesse Linuxi distributsioonidesse. Uurin selle installimist CentOS 7 serverisse.

Bind 9 (nimega) installimine süsteemi CentOS 7

Kõigepealt kontrollime, kas meil on süsteemi installitud DNS-server:

# rpm -qa bind* bind-libs-lite-9.9.4-14.el7.x86_64 bind-license-9.9.4-14.el7.noarch

Mul pole seda installitud, kuna valisin minimaalse tarkvarapaketi. Meie nimeserver töötab chroot-keskkonnas, nii et installige sobivad paketid:

# yum - y install bind bind - utils bind - chroot

Veel kord pange tähele, et kasutame bind in chroot turvalisuse suurendamiseks. See nõuab serveri seadistamisel ja haldamisel teatud funktsioone. Nendes pisiasjades peate olema ettevaatlik. Niisiis, käivitame sidumise:

# systemctl start nimega-kroot# systemctl lubamine nimega-kroot ln -s "/usr/lib/systemd/system/named-chroot.service" "/etc/systemd/system/multi-user.target.wants/named-chroot.service"

Chroot-kataloogi sisu kontrollimine:

# ls -l /var/named/chroot/etc

Kõik on korras, server on käivitunud, vajalikud failid loodud, kõik on seadistamiseks valmis. Hoolitseme selle eest.

DNS-serveri seadistamine CentOS 7-s

Meie serveri konfiguratsioonifail asub aadressil /var/named/chroot/etc/named.conf. Avame selle ja viime selle järgmisele vormile:

# mcedit /var/named/chroot/etc/named.conf suvandid ( kuulamisport 53 (ükskõik milline; ); kuula-on-v6 port 53 ( puudub; ); kataloog "/var/named"; dump-fail " /var/named/data/cache_dump.db"; luba-päring ( 127.0.0.1; 192.168.7.0/24; ); rekursioon jah; luba-rekursioon ( 127.0.0.1; 192.168.7.0/24; .8 forwarders ( . 8); .8.8) versioon "haldatud võtmed-kataloog "/var/named/dynamic" pid-fail "/run/named/named.pid"; "; dnssec-enable no; dnssec-validation no; ); tsoon "." IN (tüüp hint; fail "named.ca"; ); sisaldama "/etc/named.rfc1912.zones"; sisaldama "/etc/named.root.key"; logimine ( kanali vaikefail ( fail "/var/log/named/default.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kategooria vaikefail ( default_file; ); );

See konfiguratsioon tagab tavalise vahemäluserveri töö kohalikus võrgus. Kommentaarid mõne parameetri kohta:

Ärge unustage redigeerida tulemüüri reegleid DNS-serveri õigeks tööks - avage vahemällu salvestamise serveri jaoks UDP-port 53, mille oleme nüüd konfigureerinud, ja TCP-port 53 edastamistsoonide jaoks, millest räägime hiljem.

Nüüd loome logide jaoks kausta. Ärge unustage, et töötame chroot-keskkonnas:

# cd /var/named/chroot/var/log && mkdir nimega && chown named. nimega

Oma tsooni tugi

Oletame, et peame paigutama oma tsooni site1.ru oma nimedesse. Kõigepealt loome tsoonifaili, mida teenindab DNS-server:

# mcedit /var/named/chroot/var/named/site1.ru.zone $TTL 86400 @ SOA-s site1.ru. site1.ru.local. (2015092502 43200 3600 3600000 2592000) IN NS ns1.site1.ru.

IN NS ns2.site1.ru.

IN A 192.168.7.254 IN MX 10 mx.site1.ru. värav IN A 192.168.7.254 mx IN A 192.168.7.250 ns1 IN A 192.168.7.235 ns2 IN A 192.168.7.231

Tsoonifailide süntaksi kirjeldus on Internetis üsna hästi käsitletud, ma ei taha sellel üksikasjalikult peatuda. Soovi korral saab igaüks ise veenduda, kas tal on vaja oma tsooni tugi seadistada.

Määrame vajalikud õigused:

# chown root:named /var/named/chroot/var/named/site1.ru.zone # chmod 0640 /var/named/chroot/var/named/site1.ru.zone Tsoon "site1.ru" (tüüp master; fail "site1.ru.zone"; );:

Lugesime nimega konfiguratsiooni uuesti kasutades

rndc

# rndc reconfig

Lisamine alamtsooni sidumiseks

Kui soovite hoida oma serveris teisest DNS-serverist võetud tsooni koopiat, lisage konfiguratsioonile järgmised sätted.

Tsoon "site.ru" IN ( tüüp slave; masters ( 10.1.3.4; ); fail "site.ru.zone"; );

10.1.3.4 - DNS-serveri IP-aadress, kust tsooni võtame. Ärge unustage lubada tsoonide ülekandmist oma DNS-serverisse. Peate nimega rühmale lisama kirjutamisõiguse, et see näeks välja järgmine: Pärast seda saate sidumise taaskäivitada ja kontrollida, kas alamtsooni fail on loodud. Ülaltoodud seadetega asub see aadressil

/var/named/chroot/var/named/site.ru.zone

. Kui bindil pole õigusi faili luua, kuvatakse logis tõrketeade:

Bind pakub ulatuslikke logimisvõimalusi. Saate salvestada peaaegu kõike, mis on seotud serveri tööga. Nüüd näitan teile lihtsate näidete abil, kuidas see toimib.

Esiteks määrame konfiguratsioonis kanali, kuhu teatud sündmuste logid salvestatakse. Siin on näide sellisest kanalist:

Kanali üldine ( faili "/var/log/named/general.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah;

Siin on näidatud kanali nimi, mille me ise välja mõtleme - üldiselt on näidatud faili tee, öeldakse, et salvestame logi 3 versiooni, mille suurus ei ületa 5 megabaiti. Parameeter tõsidus võib võtta järgmisi väärtusi:

Parameeter trükiaeg näitab, et sündmuse toimumise aeg tuleks salvestada logisse. Lisaks minu määratud sätetele saab kanali konfiguratsioonile lisada järgmised parameetrid:

  • printimise raskusaste jah | ei — määrab, kas raskusastme parameeter tuleb logisse kirjutada või mitte
  • trükikategooria jah | ei — määrab, kas logikategooria nimi kirjutada või mitte

Ma ei täpsustanud neid parameetreid, kuna vaikeväärtus on seatud ei, mis mulle isiklikult sobib.

Üldkategooria ( üldine; );

Logikategooriate kirjeldus köites (nimega)
vaikimisiSiia kuuluvad kõigi selle tabeli kategooriate sündmused, kui neid pole eraldi määratletud, välja arvatud päringukategooria, mis tuleb konkreetselt kaasata. See tähendab, et kui määrate ainult vaikekategooria, valatakse sellesse kõigi kategooriate sündmused.
üldineSee kategooria on mõeldud kõikidele logidele, mis ei kuulu ühtegi loetletud kategooriasse.
andmebaasiTsooni salvestamise ja vahemällu salvestamisega seotud sõnumid.
turvalisusTaotluste kinnitamine ja tagasilükkamine.
konfigKõik, mis on seotud konfiguratsioonifaili lugemise ja käivitamisega.
lahendajaNime lahendamine, sealhulgas teave vahemällu salvestava serveri poolt kliendi nimel tehtud rekursiivsete päringute kohta.
xfer-inTeave tsoonide hankimise kohta.
xfer-outTeave tsoonide ülekandmise kohta.
teatamaNOTIFY protokolli toimingute logimine.
klientKliendi soovide täitmine.
võrratuSõnumid, mida nimega ei saanud ühelegi klassile määrata või mille jaoks pole vastendust määratletud.
võrkuVõrgutoimingute logimine.
värskendadaDünaamilised värskendused.
uuendus-turvalisusVärskendustaotluste kinnitamine või tagasilükkamine.
päringuidPäringute logimine DNS-serverisse. Selle kategooria lubamiseks peate parameetri serveri konfiguratsioonis eraldi määrama. Selle põhjuseks on asjaolu, et see kategooria genereerib logifailis palju kirjeid, mis võivad mõjutada serveri jõudlust.
päring-veadVead serverile saadetavates päringutes.
lähetamineSissetulevate pakettide suunamine töötlemiseks serveri moodulitesse.
dnssecDNSSEC ja TSIG protokollide töö.
lame-serveridParandatud vead, mis saavad nimelahenduse päringu täitmiseks kaugserveritega ühenduse võtmisel.
ainult delegatsioonileLogimistaotlused, mis tagastasid domeeni NXDOMAIN.
edns- keelatudTaotlused, mis on sunnitud kasutama tavalist DNS-i ajalõpu ületamise tõttu.
RPZKõik reageerimispoliitika tsooni (RPZ) rakendamisega seotud toimingud.
määra-piirangSuvandites või vaates ühe või mitme kiiruspiirangu lausega seotud toimingud.

Seega, et kuvada kõik logikategooriad eraldi failides, peate nimega konfiguratsioonile lisama järgmise konstruktsiooni:

Logimine ( kanali vaikeseade ( faili "/var/log/named/default.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kanal üldine ( faili "/var/log/named/general.log" versioonid 3 suurus 5m; print-time yes ); named/config.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kanali lahendaja ( faili "/var/log/named/resolver.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; kanali xfer-in ( faili "/var/log/ named/xfer-in.log" versioonid 3 suurus 5m; raskusaste; printimisaeg jah; ); fail "/var/log/named /xfer-out.log" versioonid 3 suurus 5 m; tõsidus dünaamiline ; printimisaeg jah; ); kanal teavitus ( faili "/var/log/named/notify.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah ); /client.log" versioonid 3 suurus 5m; raskusastme dünaamiline; trükiaeg jah; ); kanal unmatched ( faili "/var/log/named/unmatched.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanalivõrk (faili "/var/log/named/network.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanali värskendus ( faili "/var/log/named/update.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kanal update-security ( faili "/var/log/named/update-security.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanalipäringud ( faili "/var/log/named/queries.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kanal query-errors ( faili "/var/log/named/query-errors.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanalite lähetamine ( faili "/var/log/named/dispatch.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kanal dnssec ( faili "/var/log/named/dnssec.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanal lame-servers ( faili "/var/log/named/lame-servers.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); ainult kanali delegeerimine (fail "/var/log/named/delegation-only.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanal edns-disabled ( faili "/var/log/named/edns-disabled.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanal rpz ( faili "/var/log/named/rpz.log" versioonid 3 suurus 5m; tõsidus dünaamiline; printimisaeg jah; ); kanali kiiruspiirang ( faili "/var/log/named/rate-limit.log" versioonid 3 suurus 5 m; tõsidus dünaamiline; printimisaeg jah; ); kategooria vaikimisi(vaikimisi;); kategooria üld(üldine;); kategooriate andmebaas ( andmebaas; ); kategooria väärtpaber ( turvalisus; ); kategooria config(config;); kategooria lahendaja(lahendaja;); kategooria xfer-in ( xfer-in; ); kategooria xfer-out ( xfer-out; ); kategooria teatama (teavitama; ); kategooria klient ( klient; ); kategooria sobitamata ( sobitamata; ); kategooria võrk ( võrk; ); kategooria värskendus(värskendus;); kategooria uuendus-turvalisus ( update-security; ); kategooria päringud ( päringud; ); kategooria päring-vead ( query-errors; ); kategooria lähetamine ( lähetamine; ); kategooria dnssec ( dnssec; ); kategooria lame-serverid ( lame-servers; ); kategooria delegatsioon-only ( delegation-only; ); kategooria edns-disabled ( edns-disabled; ); kategooria rpz ( rpz; ); kategooria rate-limit ( rate-limit; ); );

Kui tahame koguda kõik päringu logid ühest kategooriast päringuid, siis peate konfiguratsioonifaili valikute jaotisesse lisama parameetri, mis võimaldab seda:

Querylog jah;

Taaskäivitage sidumine:

# systemctl taaskäivitage named-chroot.service

DNS-serveri töö kontrollimine

Kõigepealt läheme logidega kataloogi ja kontrollime, mis meil seal on:

# cd /var/named/chroot/var/log/named # ls -l

Kõik logifailid on loodud ja hakkavad täituma. Saate üht neist kontrollida. Näiteks vaatame, kuidas meie centose server (192.168.7.246) kasutajate päringuid logib. Proovime käivitada nslookup yandex.ru arvutist 192.168.7.254 (Windows) ja vaadata, kuidas see logifailis kajastub:

26. september 2015 19:25:30.923 klient 192.168.7.254#56374 (yandex.ru): päring: yandex.ru IN A + (192.168.7.246) 26. september 2015 19.09.2015 19.015:31.8 klient 56375 (yandex.ru): päring: yandex.ru IN AAAA + (192.168.7.246)

Nüüd pingime saidile site1.ru, et kontrollida, kuidas server meie tsooni toetab:

Vaatame, mis logides on:

26. september 2015 19:28:01.660 klient 192.168.7.254#49816 (site1.ru): päring: site1.ru IN A + (192.168.7.246)

Tänu sellele on väga mugav jälgida, kuhu arvuti liigub. Näiteks saate ajutiselt DNS-serveri üles tõsta ja päringulogi lubada. Määrake kliendis ainus DNS-server, mille oleme konfigureerinud. Siis saame näiteks meie teadmata jälgida, kuhu Windows pärast laadimist läheb. Või kuhu Skype’i reklaame laetakse. Kõik päringud koondatakse korralikult faili, mida saab seejärel hõlpsasti analüüsida ja seejärel näiteks .

See on kõik, mida ma selles materjalis teile öelda tahtsin. Bind (nimega) seadistamise teema on üsna ulatuslik. Võib-olla naasen selle juurde uuesti.

Veebikursus "Linuxi administraator"

Kui teil on soov õppida ehitama ja hooldama väga kättesaadavaid ja töökindlaid süsteeme, soovitan teil nendega tutvuda veebikursus "Linux Administrator" aastal OTUS. Kursus ei ole mõeldud algajatele, selleks on vaja põhiteadmisi võrkude ja Linuxi virtuaalsesse masinasse installimise kohta. Koolitus kestab 5 kuud, pärast mida saavad edukad kursuse lõpetajad läbida intervjuud partneritega. Pane end proovile sisseastumiskatsel ja vaata programmi täpsemalt.

DNS- domeeninimesüsteem - hajutatud süsteem, mis on võimeline oma IP-aadressi nõudmisel teatama, mis sisaldab hostinime. DNS-i struktuur sarnaneb Linuxi failisüsteemiga kogu andmebaasil on puustruktuur, mille juur asub ülaosas (; . ). Sellest punktist algab kogu domeeninimede süsteem. Punktile võib järgneda ru, com, net, info jne Domeenid, mis pärinevad juurtest st. ru., com., net. kutsutakse esimese taseme domeenid, veebisaidi tüüpi domeenid. kutsutakse teise taseme domeenid, kuid kujul file.site. - kolmanda taseme domeenid ja nii edasi. Pange tähele näidete lõpus olevat perioodi. Selles näites kirjutatud nimesid nimetatakse absoluutnimedeks (FQDN). Kui punkti pole määratud, käsitletakse nime suhtelisena. See tähendab, et veebisait.

Miks kasutada DNS-i?

1) Kujutage ette, et teil on vaja juurdepääsu võrguressursile selle nime all peremees(see on failiserver, kuhu on salvestatud kõik töötajate failid) nimi peremees on IP aadress on 192.168.200.20 ja kui teil pole teenust, mis teisendab IP-aadressid nimedeks, peate failiserverisse pääsemiseks valima IP-aadressi 192.168.200.20. Mis on hostinime või numbrikomplekti 192.168.200.20 lihtsam meelde jätta?

2) Teine võimalus on seotud Interneti-juurdepääsuga, näiteks peate jõudma Interneti-nimega FTP-serverisse ftp.site, ja IP-aadress on 89.111.176.87.

Seega, kui esimese valiku korral ei pea te DNS-serverit üldse installima ja konfigureerima, vaid saate lihtsalt kiiresti seadistada näiteks WINS-teenuse, siis vajate seda lihtsalt Interneti-juurdepääsuks (me ei t mäletame pidevalt numbreid, kui proovime juurdepääsu mis tahes Interneti-ressurssidele). Teine küsimus on, kas peate selle konfigureerima, kui pakkuja on teile oma DNS-serverid varustanud?

DNS-serverit saab kasutada: esmase ja sekundaarse, rekursiivse ja päringu ümbersuunajana.

Esmane(master) laadib tsooni andmed serverimasina failist ja sekundaarne (alluv) võtab andmed vastu esmasest DNS-ist. DNS-server võib olla ühe tsooni jaoks esmane ja teise jaoks sekundaarne.

Rekursiivne server loodud suurtes kiirete võrguühendustega organisatsioonides. See ei ole seotud teenusepakkuja serveritega, on paindlik ja turvaline.

Taotle ümbersuunamist saadab kliendilt päringu teenusepakkuja serverisse. Pakkuja server töötleb paljusid kliendipäringuid, sellel on suur vahemälu ja kiire ühendus.

Põhilised DNS-kirjed.

A - nime ja IP-aadressi vastavus
AAAA – nime ja IPv6 aadressi vastavus
CNAME – kanooniline nimi (sünonüüm)
MX – osutab selle domeeni meiliserverile
NS – domeeni DNS-server
PTR - kanooniline nimi
SOA on esialgne kirje, mis näitab, kus serveri kohta teavet salvestatakse.
SRV - teenuste serverid.

BIND installimine.
Paigaldame BINDi centOs5-le.
Sellel on server nimega ns1..168.200.1

yum install bind

Seaded BIND
Looge ja täitke konfiguratsioonifail

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

valikud (
kataloog "/var/named/";
dump-fail "/var/run/named_dump.bd";
statistika-fail "/var/run/named.stats";
};
tsoon "sait" asukohas (
tüübimeister;
fail "site.db";
};
tsoon "200.168.192.IN-ADDR.ARPA." IN (
tüübimeister;
fail "192.168.200.db";
};

tsoon "0.0.127.IN-ADDR.ARPA." IN (
tüübimeister;
fail "127.0.0.db";
};

tsoon "." (
tüüpi vihje;
fail "named.ca";
};

Loome tsoonifaile saidile site.db, 192.168.0.db, 127.0.0.db, named.ca.

vi /var/named/chroot/var/named/site.db# otsetsoon nimede ja aadresside vastendamiseks.

$TTL 1H ; 1 tund
IN SOA veebisait ns1.site. root.site (22
3H
1H
1W
1H)

; Nimeserverid
N.S. ns1.site

;Kakooniliste nimede jaoks
ns1.site. 1H A 192.168.200.1
host1.site. 1H A 192.168.200.154
;Varjunimed
gw1.site. 1H CNAME host1.site.
www.sait. 1H CNAME host1.site.

vi /var/named/chroot/var/named/192.168.200.db# vastupidine tsoon aadresside ja nimedega vastendamiseks.

3600 TTL dollarit; 1 tund
200.168.192.in-addr.arpa SOA-s ns1.site. root.site (21
3H
1H
1W
1H)
; Nimeserverid
200.168.192.in-addr.arpa IN NS ns1.site

; kanoonilised nimed
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 aadress pakettide saatmiseks endale.

3600 TTL dollarit; 1 tund
0.0.127.in-addr.arpa SOA-s 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#juurserverid

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

Serveri käivitamine ja seiskamine/etc/init.d/named (start stop restart)
DNS-i testimise utiliidid: host, nslookup, dig.
Täpsemate DNS-seadete saamiseks lugege man bind, DNS ja BIND raamatut jne.

Selles artiklis vaatleme Master- ja Slave BIND-i (Berkeley Interneti-nime domeen) DNS-serverite juurutamist versioonis CentOS 6.4 minimal. Enne kõigi selles artiklis kirjeldatud toimingute sooritamist peab teil olema konfigureeritud võrk, installitud süsteem-config-firewall-tui ja Midnight Commander. Saate lugeda kogu CentOS-i esialgset seadistust.

Mõlemal masinal:

installige Midnight Commander:

installige system-config-firewall-tui:

yum install system-config-firewall-tui –y

sisestage käsureale

iptables -A SISEND -p udp -m olek --olek UUS -m udp --dport 53 -j ACCEPT

installige BIND:

yum install bind-chroot bind-utils –y

Käivitame tulemüüri konfigureerimise utiliidi ja konfigureerime:

system-config-tulemüür-tui

Märkige tärniga DNS

Klõpsake "Edasi". Märkige liides eth0 ja klõpsake "Edasi"

Klõpsake "Edasi". Märkige eth0 maskeraadi liides ja klõpsake "Edasi"

Klõpsake "Edasi".

Klõpsake "Edasi".

Klõpsake "Edasi".

Klõpsake "Edasi".

Klõpsake "Sule".

Klõpsake "OK".

Klõpsake "jah". Valmis.

Keela SELINUX:

failis /etc/selinux/config parandame selle SELINUX=keelatud

Nüüd genereerime võtme:

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

See käsk loob praeguses kataloogis kaks faili. Faili *.private kolmandal real on võti kujul: wGmtcnMtn9od+ndTc20tGg==

Pärast seda avage fail /etc/resolv.conf ja kohe alguses kirjutame sellesse:

nimeserver 192.168.0.191

nimeserver 192.168.0.192

Peamine DNS-server (IP: 192.168.0.191 hostinimi: ns1.localserver12.ru):

luua kataloog /etc/named/master

mkdir /etc/named/master

viime bindu tallu üle

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

Avamine /etc/named.conf. Selles kontrollime allpool näidatud valikute olemasolu. Kui neid pole, lisage need, kui need on erinevad, parandage need:

kuulamisport 53 ( 127.0.0.1; 192.168.0.191; );

luba-üleminek (192.168.0.192; );

teata jah;

tsoon "localserver12.ru" IN (

tüübimeister;

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

/* ISC DLV-võtme tee */)

dnssec-enable jah;

dnssec-validation jah;

dnssec-lookaside auto;

Loome faili localserver12.ru kataloogis /etc/named/master

puudutage /etc/named/master/localserver12.ru

Anname selle bindu talule üle:

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

Kirjutame sellesse (umbes nagu pildil):

Alustame sidumist

Panime BINDi käivitamisse, nii et see käivitub süsteemi alglaadimise ajal

Peamine DNS-server on valmis.

Slave DNS-server (IP: 192.168.0.192 hostinimi: ns2.localserver12.ru):

luua kataloog /etc/named/slave

Anname selle bindu talule üle

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

Avage /etc/named.conf. Selles kontrollime allpool näidatud valikute olemasolu. Kui neid pole, lisage need, kui need on erinevad, parandage need:

kuulamisport 53 ( 127.0.0.1; 192.168.0.192; );

luba-rekursioon ( 192.168.0.0/24; );

rekursioon jah;

luba-ülekandmine (pole; );

teatama ei;

tsoon "localserver12.ru" (

tüüp ori;

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

meistrid(192.168.0.191;);

Samuti kontrollime selliste ridade olemasolu (kui mitte, lisage enne rida /* ISC DLV-võtme tee */)

Dnssec lubamine jah;

Dnssec-valideerimine jah;

Dnssec-lookaside auto;

Alustame sidumist

Panime selle käivitamisse, nii et see käivitub süsteemi alglaadimise ajal

Slave DNS-server on valmis. Samuti tõmmatakse fail pärast taaskäivitamist automaatselt kataloogi /etc/named/slave localserver12.ru

Nüüd kontrollime:

alamseadmel sisestage käsk

dig @ns1.localserver12.ru localserver12.ru axfr

ja meistri peal niimoodi

dig @ns2.localserver12.ru localserver12.ru axfr

mõlemal juhul kuvatakse andmed ja DNS-kirjed failist localserver12.ru

Kõik. DNS-serverid on valmis.


Kui see artikkel teid aitas, tänage autorit:
ülekanne WMR-i rahakotti (WebMoney): R301575071888
ülekanne Yandex. Walletisse: 410011003938168
või PayPalis:

Esitame teie tähelepanu meeskonna uuele kursusele Codeby- "Veebirakenduste läbitungimise testimine nullist." Üldteooria, töökeskkonna ettevalmistamine, passiivne fuzzing ja sõrmejälgede võtmine, aktiivne fuzzing, haavatavused, järelkasutamine, tööriistad, sotsiaalne projekteerimine ja palju muud.


Domeenidel on vähemalt kaks DNS-serverit, millest ühte nimetatakse esmaseks nimeserveriks (ns1) ja teist nimetatakse sekundaarseks nimeserveriks (ns2). Sekundaarseid servereid kasutatakse tavaliselt siis, kui esmase DNS-serveriga on probleeme: kui üks server pole saadaval, aktiveerub teine. Keerulisemad skeemid on võimalikud ka koormuse tasakaalustamise, tulemüüride ja klastrite abil.

Kõik konkreetse domeeni DNS-kirjed lisatakse esmasesse nimeserverisse. Teisene server lihtsalt sünkroonib kogu esmaselt serverilt saadud teabe, lähtudes esmases serveris määratud parameetritest.

See juhend kirjeldab, kuidas luua CentOS-is töötav esmane DNS-server. Pange tähele, et selles juhendis esitatud DNS-server on avalik DNS, mis tähendab, et server vastab päringutele mis tahes IP-aadressilt. Selles juhendis kirjeldatakse serverile juurdepääsu piiramist.

Enne alustamist tahaksin mainida, et DNS-i saab installida chroot jail keskkonnaga või ilma. Chroot vangikeskkond piirab DNS-serverit süsteemi kindla kataloogiga, mitte aga täielikku süsteemijuurdepääsu serverile. Nii ei ohusta ükski DNS-serveri haavatavus kogu süsteemi. DNS-serveri piiramine kindla kataloogiga (protsess, mida nimetatakse chrootimiseks) on kasulik ka testkeskkondades.

Sihtmärk

Seadistame DNS-serveri testtingimustel domeeni example.tst jaoks, mis on hüpoteetiline (olematu) domeen. Nii ei sega me juhuslikult ühtegi päris domeeni.

Selles domeenis on kolm järgmist serverit.

Server IP-aadress Hostitud teenused FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Veeb, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Esmane DNS-server ns1.example.tst

Konfigureerime esmase DNS-serveri ja lisame vajalikud domeeni- ja DNS-kirjed, nagu on näidatud tabelis.

Hostinimede seadistamine

Kõik hostid peavad olema FQDN-i järgi õigesti tuvastatud. Seda saab teha järgmise meetodi abil.

Need, kellele meeldib graafiline liides, saavad kasutada NetworkManageti tööriistu. Selleks tippige käsk nmtui. Avaneb järgmine pseudograafiline liides:

Valige "Change host name" ja sisestage ns1.example.tst

Kui olete valmis, klõpsake nuppu OK.

Teine viis, vaid ühe käsuga:

Hostnameectl set-hostinimi ns1.example.tst

Pärast installimist saab hostinime kontrollida järgmise käsuga.

# hostinimi ns1.example.tst

Hostnameectl olek

Enne järgmise sammu juurde liikumist veenduge, et kõigi serverite hostinimi on õigesti seadistatud.

Pakettide installimine

DNS-i jaoks kasutame bind, mida saab hõlpsasti seadistada käsuga yum.

DNS-i installimine ilma chrootita:

# yum install bind

DNS-i seadistamine chrootiga:

# yum install bind bind-chroot

Konfiguratsioonifailide ettevalmistamine

Nagu varem mainitud, saab sidumist konfigureerida chrootiga või ilma. Teed varieeruvad veidi sõltuvalt sellest, kas chroot oli installitud.

Konfiguratsioonifaili tee Tsoonifailide tee
Ei mingit chrooti /etc/ /var/named/
Koos chrootiga /var/named/chroot/etc/ /var/named/chroot/var/named/

Võite kasutada konfiguratsioonifaili named.conf, mis on vaikimisi kaasas. Kasutamise hõlbustamiseks kasutame aga teistsugust konfiguratsioonifaili näidet.

/etc/named.conf failist varukoopia tegemine

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

Nüüd, kui konfiguratsioonifailist on olemas varukoopia ja algset faili ennast on muudetud, liigume edasi.

# vim /etc/named.conf

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

Järgmised read on lisatud/muudetud.

Valikud ( ## tsoonifailide tee ## kataloog "/var/named"; ## päringute edastamine Google'i avalikku DNS-serverisse mittekohalike domeenide jaoks ## edasisuunajad ( 8.8.8.8; ); ); ## otsetsooni deklaratsioon example.tst ## tsoon "example.tst" IN ( tüüp master; fail "example-fz"; ## otsetsooni fail asub /var/named ## allow-update (pole;) ; ## võrgu 172.16.1.0 vastupidise tsooni deklaratsioon ## tsoon "1.16.172.in-addr.arpa" IN (tüüp master; fail "rz-172-16-1"; ## pöördtsooni fail on asub /var /named ## allow-update ( none; );

Tsoonifailide ettevalmistamine

Tsooni vaikefailid luuakse automaatselt kaustas /var/named või /var/named/chroot/var/named (chrooti jaoks).

Eeldades, et vaiketsoonifaile pole, saame näidisfailid kopeerida kaustast /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

Suurepärane. Nüüd on vaikimisi tsoonifailid valmis, loome oma tsoonifailid näiteks.tst ja võrgu 172.16.1.0. Tsoonifailide loomisel peame meeles pidama järgmist.

  • '@' sümbol tähendab tsoonifailides NULL-i.
  • Iga täielikult kvalifitseeritud domeeninime (FQDN) kirje lõpeb näiteks punktiga '.'. mail.example.tst. Ilma punktita tekivad probleemid.

1. Otsetsoon

Otsetsoon sisaldab tõlgete kaarti nimedest IP-aadressideni. Avalike domeenide puhul sisalduvad hostimisteenustes hostitud DNS-domeenid otsetsooni failis.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.example.tst. (0; seeria 1D; värskenda 1H; proovi uuesti 1W; aegu 3H); minimaalne IN NS ns1.example.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.

Selgitus: tsoonifailis tähistab SOA autoriseerimise algust. See on autoriteetse nimeserveri täielikult kvalifitseeritud domeeninimi. Täieliku domeeninime järel on kontakti e-posti aadress. Kuna me ei saa kasutada tähist @ [e-postiga kaitstud], kirjutame e-posti aadressi ümber kujule mial.example.tst.

  • N.S.: serveri nimi
  • A: kirje või aadressikirje on IP-aadress
  • MX: Post Vaheti sisenemine. Siin kasutame ainult ühte MX-i prioriteediga 10. Mitme MX-i korral saame kasutada erinevaid digitaalseid prioriteete. Alumine number võidab. Näiteks MX 0 on parem kui MX 1.
  • CNAME: nimi kanoonilisel kujul. Kui server hostib palju teenuseid, on väga tõenäoline, et paljud nimed lahendatakse üheks serveriks. CNAME annab märku, et serveril võivad olla teised nimed, ja viitab A-kirjes sisalduvale nimele.

2. Tagurpidi tsoon

Tagurpidi tsoon sisaldab IP-aadresside ja nimede teisendamise kaarti. Siin loome võrgu 172.16.1.0 jaoks vastupidise tsooni. Päris domeenis sisaldub avaliku IP-ploki omaniku DNS-server pöördtsooni failis.

# 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; seeria 1D; värskenda 1H; proovi uuesti 1W; aegu 3H); minimaalne IN NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 IN PTR www.example.tst. 3 IN PTR ns1.example.tst.

Selgitus: Enamik tagurpidises tsoonis kasutatavaid parameetreid on identsed edasisuunavööndiga, välja arvatud üks.

  • PTR: PTR või kursorkirje, osutab täielikult kvalifitseeritud domeeninimele

Lõpetamine

Nüüd, kui tsoonifailid on valmis, konfigureerime tsoonifailide eraldusvõime.

# chgrp nimega /var/named/*

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

Nüüd määrame DNS-serveri IP-aadressi.

# vim /etc/resolv.conf nimeserver 172.16.1.3

Lõpuks saame DNS-teenuse käivitada ja veenduda, et see lisatakse automaatsele käivitamisele.

# teenus nimega restart # chkconfig nimega

DNS testimine

DNS-i testimiseks saame kasutada dig või nslookup. Esmalt paigaldame vajalikud paketid.

# yum install bind-utils

1. Otsene tsooni testimine, kasutades dig

# dig example.tst ;; ->>PÄIS<<- 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. Kontrollige PTR-i kasutades dig

Kui kasutate testimiseks digi, peaksite alati otsima olekut "NOERROR". Iga muu tingimus tähendab, et midagi on valesti.

# dig -x 172.16.1.1 ;; ->>PÄIS<<- 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. MX kontrollimine dig

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

Nõuanded probleemide lahendamiseks

  1. Mul on SELinux keelatud.
  2. Veenduge, et teie tulemüür ei blokeeriks UDP-porti 53
  3. /var/log/messages peaks sisaldama kasulikku teavet juhuks, kui midagi on valesti
  4. Veenduge, et tsoonifailide omanik on kasutaja 'named'
  5. Veenduge, et DNS-serveri IP-aadress oleks loendis /etc/resolv.conf esimesena loetletud
  6. Kui kasutate faili example.tst laborikeskkonnas, katkestage kindlasti serveri ühendus Internetiga, kuna example.tst on olematu domeen.

Kokkuvõtteks keskendub see õpetus demonstratsiooni eesmärgil domeeni example.tst majutamisele laboris. Pidage meeles, et see ei ole juhend avaliku DNS-serveri loomiseks, nagu DNS-server, mis vastab mis tahes IP-aadressi päringutele. Kui seadistate DNS-i tootmisserverit, kontrollige kindlasti, millised eeskirjad kehtivad avaliku DNS-i puhul. Teine õppetund hõlmab teisese DNS-i loomist, DNS-serverile juurdepääsu piiramist ja DNSSEC-i rakendamist.

Käendaja on tehingu ajal Osalejate vahel usaldusväärne vahendaja.