Bind dns -palvelimen asettaminen Windowsin alle. Käänteinen vyöhyketiedosto. Lisäasetukset

Harkitsemme esimerkillinen välimuistiin DNS-palvelimen määritystiedosto erillistä varten seisova palvelin. Välimuistiin tallennettava nimipalvelin on nimipalvelin, joka ei ole vastuussa mistään vyöhykkeestä. Se yksinkertaisesti suorittaa kyselyitä puolestaan ​​ja tallentaa tulokset myöhempää käyttöä varten.
Tietoja verkosta DNS-palvelu ja BIND9:n asettaminen löytyy myös FreeBSD-käsikirjan luvusta 25. Oletusarvoisesti FreeBSD käyttää yhtä BIND:stä (Berkeley Internet Nimi Domain), joka on yleisin DNS-protokollan toteutus.

DNS on protokolla, joka ratkaisee nimet IP-osoitteiksi ja päinvastoin. FreeBSD toimitetaan tällä hetkellä kanssa DNS-palvelin– BIND9, joka tarjoaa edistyneitä suojausasetuksia, uusi järjestelmä määritystiedostojen sijainnit ja automaattiset asetukset chrootille(8). Lisäksi BIND9:ää pidetään vähiten alttiimpana ulkoisille hyökkäyksille (FreeBSD toimii automaattisesti nimettynä rajoitetussa ympäristössä (chroot(8))). Tämä DNS-palvelimen versio tukee pääsynhallintaluetteloita kyselyille, vyöhykkeiden siirtoja alavirran (toissijaisille) DNS-palvelimille ja vyöhykkeiden dynaamisia päivityksiä ylävirran (ensisijaisista) DNS-palvelimista. Tämä versio tukee standardia dynaamiset päivitykset ja ilmoitukset vyöhykkeiden muutoksista, ja se käyttää myös inkrementaalista vyöhykkeen siirtomekanismia, jonka avulla alavirran DNS-palvelimet voivat pyytää vain vyöhyketietojen muutoksia ylävirran DNS-palvelimista. Tämä mahdollistaa paljon nopeamman vyöhykkeen siirron.

Kirjoittaessani olin perustamassa BIND 9.6.1-P1 käynnissä olevalla palvelimella FreeBSD 7.2-RELEASE.

# cat /etc/namedb/named.conf // tältä kommentti näyttää acl self ( 127.0.0.1; ); // aseta muuttuja self, jossa luetellaan palvelimemme IP-osoitteet\ johon bind acl trust ( self; ); // aseta muuttuja, jossa luetellaan IP-osoitteet, joista saa\ lähettää pyyntöjä DNS-palvelimemme kautta // globaalien parametrien osio (hakemisto "/etc/namedb"; // työhakemiston sidos, jonka suhteen alla määritämme muut hakemistot pid-file "/var/run/named/pid" // pid-tiedosto dump-file "/var/dump/named_dump.db" // juurivyöhykkeen vedostiedoston sijainti; tilapäinen pääsy kaikkiin pääpalvelimiin tilastotiedostoon "/var/stats/named.stats" // tilastotiedoston sijainti kuuntelu (self; // määritä sidos, missä käyttöliittymät toimivat). -v6 ( ei mitään; / ) IPv6-version käyttö "Hei, kaveri!" // tässä voit määrittää sidosversiosi (turvallisuussyistä ei suositella) salli-kysely ( itse); ; // keneltä sallimme vastaanottaa pyyntöjä ( 12.34.56.78 ; ; ...

Nyt suosittelen pitämään pienen tauon tiedoston määrittämisessä named.conf. Suosittelen harkitsemaan mielenkiintoisella tavalla etähallinta DNS-palvelimesi - apuohjelma rndc. Jotta voit aloittaa sen käytön, sinun on luotava sille määritystiedosto ja salainen avain, jonka kanssa se on vuorovaikutuksessa sidosten kanssa. Tätä tehtävää varten on olemassa tiimi rndc-confgen.
Komennon suorittaminen:

# rndc-confgen

saat jatkossa vakiolähtö jotain tällaista:

# Rndc.conf-avaimen "rndc-key" alku (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; ); asetukset (oletusavain "rndc-avain"; oletuspalvelin 127.0.0.1; oletusportti 953; );

# Rndc.conf:n loppu # # Käytä seuraavan kanssa named.conf-tiedostossa säätämällä sallittujen luetteloa tarpeen mukaan: # avain "rndc-key" ( # algoritmi hmac-md5; # salaisuus "34f88008d07deabbe65bd01f1d233d47"; # ); # # säätimet ( # inet 127.0.0.1 portti 953 # salli ( 127.0.0.1; ) näppäimet ( "rndc-key"; ); # );

# Named.conf:n loppu

Aseta tulosteen kommentoimaton osa tiedostoon rndc-confgen laita se asetustiedostoon /etc/namedb/named.conf:

Avain "rndc-key" (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; ); säätimet (inet 127.0.0.1 portti 953 sallii ( 127.0.0.1; ) avaimet ( "rndc-key"; ); ); ...

Joukkueen työn tuloksena rndc-confgen luettelossa /etc/namedb/ tiedoston pitäisi näkyä rndc.key, jossa on seuraava sisältö:

# cat /etc/namedb/rndc.key-avain "rndc-avain" (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; );

Jos sinulla oli jo avain siellä, poista se ja vaihda se uuteen.
Kaikissa tapauksissa linja salainen "34f88008d07deabbe65bd01f1d233d47"; sinulla pitäisi olla sama! Merkitys salaisuus komennon luoma rndc-confgen.
Voit tarkistaa tekemäsi työn, kun olet määrittänyt DNS-palvelimesi kokonaan ja käynnistänyt sen. Sitten, kun suoritat komentoa:

# rndc-tila

jos näet jotain tällaista:

Versio: 9.6.1-P1 (Hei, ystävä!) Prosessorit löydetty: 2 työntekijäsäiettä: 2 vyöhykkeiden lukumäärä: 14 virheenkorjaustaso: 0 xfers käynnissä: 0 xfers lykätty: 0 soa-kyselyä käynnissä: 0 kyselyn kirjaaminen on OFF rekursiiviset asiakkaat : 0/0/1000 tcp-asiakkaat: 0/100 palvelin on käynnissä

- tarkoittaa hyödyllisyyttä rndc yhteyden muodostaminen onnistuneesti sidokseen, kirjautui sisään juuri luomallamme avaimella ja kysyi bindiltä DNS-palvelimen tilaa, jonka he näyttivät sinulle.

On monia hyödyllisiä avaimia, joilla tämä apuohjelma avulla voit valvoa ja hallita DNS-palvelintasi. Suorita se ilman argumentteja ja näet käytettävissä olevia komentoja ja auttaa niiden kanssa. (Suosittelen luomaan heti vedostiedoston komennolla rndc dumpdb).

Jatketaan selityksiä asetustiedosto /etc/namedb/named.conf:

Alue "." (kirjoita vihje; tiedosto "named.root"; //kuinka nykyinen juurivyöhyketiedosto saadaan, on kirjoitettu alla); vyöhyke "0.0.127.in-addr.arpa" (tyyppi master; tiedosto "master/localhost.rev"; notify no; ); ...

Localhost.rev-tiedosto näyttää suunnilleen tältä:

# cat /etc/namedb/master/localhost.rev $TTL 3600 @ SOA:ssa host.your_domain.ru. root.host.your_domain.ru. (2009110601; Sarja 3600; Päivitä 900; Yritä uudelleen 3600000; Vanhene 3600) ; Minimi IN NS host.your_domain.ru. 1 PTR:ssä localhost.your_domain.ru.

Seuraavilla asetuksilla keräämme ja kirjoitamme sidoslokeja eri tiedostoihin. Kanavan kirjausosion muoto on seuraava:

Kanavan kanavan nimi ( (tiedoston tiedostonimi [ versiot (lukumäärä | rajoittamaton) ] [ koko enimmäiskoko ] | syslog syslog_facility | stderr | null); // tässä osoitamme tiedoston nimen, johon kirjoitamme lokit tämän kanavan (suhteessa\ työhakemistoon tiedostokoko, jossa lokitiedosto on numeroitu uudelleen, jos versioiden lukumäärää ei ole määritetty, kirjaaminen\ lopetetaan); määritetty koko tiedosto.

[ vakavuus (kriittinen | virhe | varoitus | huomautus | info | virheenkorjaus [ taso ] | dynaaminen); ] // lokisuodatin, tarkalleen mitä tietoja syötämme tälle kanavalle [ print-category yes-or-no; ] // kirjataanko tapahtumaluokkatyyppi [ print-severity yes-or-no; ] // kirjataanko ominaisuuden "vakavuuden" tyyppi [ print-time yes-or-no; ] // kirjataanko tapahtuman aika vai ei); /etc/namedb/named.conf:

Joten - nämä ovat asetukset tiedostossa Kirjaaminen ( // lokiparametrit kanavan oletus_ch ( // määritä lokikanavan oletus_ch-tiedosto "/var/log/named.log" versiot 3 koko 800k; vakavuustiedot; tulostusaika kyllä; tulostusluokka kyllä; ); kanavan turvallisuus_ch ( / / merkitsee kirjauskanavan security_ch-tiedostoa "/var/log/security.log" versiot 3, koko 800k .log" versiot 3 koko 800k; vakavuustiedot; tulostusaika kyllä; tulostusluokka kyllä; ); kanava lame-ch ( // merkitsee lokiin kirjautuvaa kanavaa lame-ch tiedostoa "/var/log/lamers.log" versiot 3 koko 800k, luokka lame-palvelimet ( lame-ch; // kirjoittaa tapahtumia "crooked" DNS-palvelimesta oletusarvo (oletus_ch); oma kanava

luokka turvallisuus ( security_ch; ); // kirjoittaa security_ch-kanavalle tietoturvatapahtumakategoriasta xfer-in ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vyöhykkeiden siirrosta kategoria xfer-out ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vastaanottovyöhykkeiden kategoriasta notify ( transfer_ch; ); // kirjoittaa ilmoituksia ja rekisteröintitietoja transfer_ch-kanavalle);

Nyt, kun olet määrittänyt bindin, sinun tarvitsee vain käyttää wget- tai fetch-komentoa saadaksesi nykyinen juurivyöhyketiedosto (nimi.root) palvelimelta:

# hae ftp://ftp.internic.net/domain/named.root /etc/namedb/ nykyisen vaihdolla. On suositeltavaa toistaa tämä toimenpide säännöllisesti tai määrittää tämä toiminto cronin kautta.

Nyt on aika käynnistää DNS-palvelimemme:

/etc/rc.d/named aloitus

Apuohjelman toiminnan tarkistaminen rndc, kuten yllä on kuvattu.

Aloita suorittamalla komento:

# ps -ax | grep nimeltä 476 ?? Onko 0:01.19 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s 704? Onko 0:00.04 /usr/sbin/named -t /var/named -u bind 1022 p0 R+ 0:00.00 grep named

Jos näet jotain tällaista, prosessi on alkanut.
Voit olla varma, että voit suorittaa seuraavan komennon (jos sinulla on se):

# lsof -i tcp | grep KUUNTELE | grep nimeltään 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (KUUNTELU) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (KUUNTAUS) IP40x0c40t 2040c40t CP localhost:domain ) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (KUUNTELU) nimeltä 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (kuuntelu) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 IPv4 localhost:rndc 00 0t0 TCP localhost:domain (KUUNTELU) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) nimeltä 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) nimeltä 704 bind 21u CP4cst0dc FI)

Nyt meidän on määritettävä palvelimemme toimimaan juuri asennetun DNS-palvelimen kanssa. Tätä varten sinun on tehtävä muutoksia tiedostoon /etc/resolv.conf. Tuo hänet seuraava näkymä:

# cat /etc/resolv.conf domain your_domain.ru nimipalvelin 127.0.0.1

DNS-apuohjelmat sisältyvät BIND9-palvelimeen kaivaa, isäntä Ja nslookup tutkia domain-avaruutta. Heidän avullaan tarkistamme, kuinka juuri määrittämäsi ja käynnistämäsi DNS-palvelin toimii.

Apuohjelma isäntä voit saada tietyn tyyppiset RR-arvot määritetylle verkkotunnukselle. Puhelun muoto:
isäntä[ -ohjausnäppäimet ] [ -kyselynäppäimet] domain-nimi-tai-osoite [ kyselypalvelin ] .

Oletuksena käytetään asiakaskirjastoa määritettäessä kuvattua palvelinta. Verkkotunnukset katsotaan ehdottomina, eikä hakuluetteloa käytetä. Lisää yksityiskohtaiset tiedot päällä mies isäntä.

Apuohjelma kaivaa antaa sinun saada tietyn tyyppiset RR-arvot määritetylle verkkotunnukselle vyöhyketiedostomuodossa. Kommenttien muodossa tarjotaan paljon tukea, mm. vastauksena pyyntöön vastaanotetun paketin tulkinta. Puhelun muoto:
kaivaa[ @polled-palvelin ] [ -optiot-dig] verkkotunnus [ tietuetyyppinen ] [ ennätysluokkaa ] [ +kysely-asetukset ]

Oletuksena käytetään asiakaskirjastoa määritettäessä kuvattua palvelinta. Verkkotunnuksia pidetään ehdottomina, eikä hakuluetteloa käytetä. Vaadittavana tietuetyyppinä voidaan käyttää myös pseudotyyppejä AXFR (vyöhyke siirretään vain arvovaltaiselta palvelimelta), ixfr=reference-version-number ja ANY, oletus: A. Yhdessä komentorivi Voit tehdä useita pyyntöjä.

Apuohjelma nslookup julistettu vanhentuneeksi ja muistuttaa siitä pakkomielteisesti joka kerta, kun käynnistät sen (edes dokumentaatiota ei toimiteta, ei ole ohjekomentoa ja joitain muita). Puhelun muoto:
nslookup [ - avaimet] verkkotunnus [ kyselypalvelin ]

Suorita komento:

# dig @127.0.0.1 ya.ru ;<<>> DiG 9.6.1-P1<<>> @127.0.0.1 ya.ru ; (1 palvelin löydetty) ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; >> OTSIKKO<< opcode: QUERY, status: NOERROR, id: 51090 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;ya.ru. IN A ;; ANSWER SECTION: ya.ru. 2843 IN A 213.180.204.8 ya.ru. 2843 IN A 77.88.21.8 ya.ru. 2843 IN A 93.158.134.8 ;; AUTHORITY SECTION: ya.ru. 2843 IN NS ns1.yandex.ru. ya.ru. 2843 IN NS ns5.yandex.ru. ;; ADDITIONAL SECTION: ns1.yandex.ru. 79700 IN A 213.180.193.1 ns5.yandex.ru. 79701 IN A 213.180.204.1 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Dec 4 14:04:11 2009 ;; MSG SIZE rcvd: 146

Jos sen toiminnan seurauksena näet suunnilleen saman asian, DNS-palvelin käsitteli komennon oikein.

Suorita nyt komento:

# isäntä ya.ru ya.ru:lla on osoite 77.88.21.8 ya.ru:lla on osoite 93.158.134.8 ya.ru:lla on osoite 213.180.204.8 ya.ru postia käsittelee 10 mx.yandex.ru.

Jos DNS-palvelimesi vastasi jotain tällaista, se tarkoittaa, että se toimii oikein!

Jos nämä komennot eivät palauttaneet tuloksia, sinun on katsottava lokia /var/log/messages virheistä, jotka sidos asettaa sinne. Analysoimalla niitä, yritä ymmärtää, mikä aiheuttaa DNS-palvelimen virheellisen toiminnan. Suurin huolimattomuus on verkon palomuurien väärä kokoonpano.

Lopuksi haluan puhua joistakin bindiin sisäänrakennetuista diagnostisista komennoista.

  • named-checkzone– tarkistaa vyöhyketiedostojen syntaksin ja eheyden. Samat tarkistukset suoritetaan joka kerta ennen kuin ne ladataan sidoksella. Mutta mielestäni on silti hyödyllistä tehdä tämä ennen kuin nimipalvelin lataa ne.
  • named-compilezone– suorittaa tiukempia tarkistuksia kuin named-checkzone, koska Sen toiminnan seurauksena syntyy nykyisten vyöhykkeiden kaatopaikka, jota puolestaan ​​käyttää named.
  • named-checkconf– apuohjelma määritystiedoston nimeltä.conf tarkistamiseen

Hyvää iltapäivää lukijat. Jatkaen teoreettista materiaalia, nykyisessä artikkelissa haluan tarkastella käytännön esimerkkiä asennukset ja asetukset eri BIND-palvelinkokoonpanot. Artikkelissa kuvailen DNS-välimuistin määrittäminen ja täynnä DNS-pääpalvelin. Aloitan kuvauksen yleisillä käsitteillä ja tarvittavilla vaiheilla minkä tahansa järjestämiseen DNS-palvelimet.

Yleistä tietoa

Nimetty on demoni, joka on osa paketti sido9 ja oleminen verkkotunnuksen nimipalvelin. Demoni nimeltä voi toteuttaa minkä tahansa tyyppisten palvelimien toimintoja: isäntä, orja, välimuisti. Yllä olevassa kaaviossa yritin näyttää pääasiallisen miten BIND DNS -palvelin toimii. Binaari, joka tekee suurimman osan työstä, sijaitsee /usr/sbin/named. Se ottaa asetukset pääasetustiedostosta nimeltä named.conf ja sijaitsee hakemistossa /etc/bind. Pääasetuksissa kuvattu palvelimen työhakemisto, usein tämä on hakemisto /var/cache/bind, jossa valehtelee vyöhykkeen kuvaustiedostot ja muut palvelutiedostot. Kirjeenvaihto vyöhykkeiden nimet Ja vyöhykkeen kuvaustiedosto sarjat vyöhykkeen osa parametrin kanssa tiedosto. Alueen osa se myös määrittää tämän palvelimen vastuutyypin vyöhykkeelle (isäntä, orja jne.) ja määrittää myös erityiset parametrit nykyiselle vyöhykkeelle (esimerkiksi millä rajapinnalla nykyisen vyöhykkeen pyynnöt käsitellään). Alueen kuvaustiedostoissa sisältää vyöhykeparametreja ja resurssitietueita (tässä kappaleessa määritetyt polut voivat vaihdella Linux-jakelun tai parametrien mukaan).

Tämä on yleinen työsuunnitelma, joka auttaa sinua välttämään sekaannuksia tulevaisuudessa, kun harkitset tiettyjä kokoonpanoja.

Ohjelman 4. version asetustiedostomuoto eroaa kahdeksannessa ja yhdeksännessä versiossa käytetystä BIND. Ottaen huomioon, että aion asentaa uuden DNS palvelin, mutta en näe järkeä asentaa vanhaa versiota, joten katson uuden version konfiguraatiota.

Alkutiedot

Jotta DNS toimisi oikein, sinulla on oltava . Tämän artikkelin DNS konfiguroidaan Debian-jakelussa myös muiden jakelujen ominaisuudet. Jalustan verkkokokoonpano on seuraava:

DNS: ~# CAT/ETC/Network/InterFaces Auto LO IFACE LOOPBACK AUTH0 IFACE ETH0 INETCAS 10.0.152 NETMASK 255.255.255.0 GATEWAY 10.0.254 AUTOO AUTH1 AUTH1.1.9 255.255.255.0

Jossa 10.0.0.152/24 - ulkoinen liitäntä (palveluntarjoajan varaama aliverkko), 192.168.1.1/24 - sisäinen (paikallinen verkko). Mukautetun vyöhykkeen nimi on example.com. Esimerkissä kanssa orjapalvelin, toissijainen palvelin sijaitsee IP:ssä 10.0.0.191 .

Asennetaan BIND9

Jotta DNS-palvelin toimisi, sinun on sitoa9 (joissakin jakeluissa - sitoa ). Kuten kaaviossa on mainittu - pääasetustiedosto BIND on tiedosto named.conf(tämä tiedosto voidaan sijoittaa hakemistoon /jne, joskus sisään /etc/bind).

Parametrit (syntaksi) named.conf

Named.conf-tiedoston syntaksi noudattaa seuraavia sääntöjä:

IP-osoitteet- IP-luettelo on erotettava merkillä ";" , on mahdollista määrittää aliverkko muodossa 192.168.1.1/24 tai 192.168.1.1/255.255.255.0, (IP:n poissulkemiseksi sen eteen on laitettava merkki!), on mahdollista määrittää nimet "kaikki", "ei mikään", "paikallinen isäntä" lainausmerkeissä.

Kommentit- rivit, jotka alkavat #, // ja jotka on suljettu /* ja */ ovat kommentteja.

IN vyöhykkeen kuvaustiedostot -symboli @ on "muuttuja", joka tallentaa konfiguraatiotiedostossa määritellyn vyöhykkeen nimen named.conf tai @-ohjeessa $ORIGIN nykyisen vyöhykkeen kuvaus.

Jokainen valmis merkkijono parametrien tulee päättyä symboliin; .

Acl-osio

Acl (käyttöoikeusluettelo)- voit määrittää nimetyn luettelon verkoista. Osion muoto: acl "verkon_nimi" (ip; ip; ip; );

Vaihtoehdot-osio

Asetukset-osio sarjat globaaleja parametreja konfiguraatiotiedosto, joka hallitsee kaikkia vyöhykkeitä. Tämän osion muoto on: option(optiot_section_operators);. Vaihtoehdot voidaan "sisättää". Alueen osa, ja se ohittaa yleiset asetukset. Usein käytetty optiolausekkeet:

  • salli-query( lista_ip} - Sallii vastaukset kyselyihin vain lähettäjältä lista_ip. Jos sitä ei ole, palvelin vastaa kaikkiin pyyntöihin.
  • salli-rekursio( lista_ip} - Rekursiiviset kyselyt suoritetaan pyynnöille lista_ip:stä. Muulle - iteratiivinen. Jos parametria ei ole määritetty, palvelin suorittaa rekursiiviset kyselyt kaikille verkoille.
  • salli-siirto ( lista_ip} - Ilmaisee luettelon palvelimista, jotka saavat ottaa vyöhykkeen palvelimelta (tässä on merkitty enimmäkseen orjapalvelimet)
  • hakemisto /polku/työ/hakemisto- määrittää absoluuttisen polun palvelimen työhakemistoon. Tämä lausunto koskee vain vaihtoehtoja.
  • huolitsijat ( ip-portti, ip-portti...} - osoittaa isäntäosoitteet ja tarvittaessa portit, joihin pyynnöt välitetään (yleensä Internet-palveluntarjoajien DNS ilmoitetaan tässä).
  • eteenpäin VAIN tai eteenpäin ENSIMMÄINEN - parametri ensimmäinen ilmaisee, että DNS-palvelimen pitäisi yrittää ratkaista nimet edelleenlähettäjäparametrissa määritettyjen DNS-palvelimien avulla, ja vain jos nimeä ei voitu ratkaista näiden palvelimien avulla, se yrittää nimenselvitystä yksinään.
  • ilmoittaa KYLLÄ|EI - KYLLÄ- ilmoittaa orjapalvelimille vyöhykkeen muutoksista, EI- älä ilmoita.
  • rekursio KYLLÄ|EI - KYLLÄ- suorittaa rekursiivisia kyselyitä asiakkaan pyynnöstä, EI- älä suorita (vain iteratiiviset kyselyt). Jos vastaus löytyy välimuistista, se palautetaan välimuistista. (voidaan käyttää vain Asetukset-osiossa)

Alueosio

Määrittää vyöhykkeiden kuvauksen. Osion muoto: zone( section_zone_operators}; Operaattorit, joita käytetään useimmin:

  • salli päivitys ( lista_ip} - määrittää järjestelmät, jotka saavat päivittää tämän vyöhykkeen dynaamisesti.
  • tiedosto "tiedoston nimi " - määrittää vyöhykeparametritiedoston polun (täytyy sijaita hakemistossa, jonka hakemistokäsky on määrittänyt asetukset-osiossa)
  • mestarit ( lista_ip} -osoittaa luettelon pääpalvelimista. (sallittu vain ala-alueilla)
  • kirjoita" vyöhyketyyppi " - osoittaa nykyisessä osiossa kuvatun vyöhykkeen tyypin; zone_type voi saada seuraavat arvot:
    • eteenpäin- osoittaa uudelleenohjausvyöhykkeen, joka välittää tälle alueelle saapuvat pyynnöt.
    • vihje- osoittaa apuvyöhykkeen (tämä tyyppi sisältää tiedot juuripalvelimista, joihin palvelin ottaa yhteyttä, jos se ei löydä vastausta välimuistista)
    • hallita- määrittää toimimaan nykyisen vyöhykkeen pääpalvelimena.
    • orja- määrittää toimimaan nykyisen vyöhykkeen orjapalvelimena.

Lisäasetukset

Aika-arvot vyöhyketiedostoissa oletusarvoisesti se ilmoitetaan sekunneissa, ellei niitä seuraa jokin seuraavista kirjaimista: S - sekuntia, M - minuuttia, H - tuntia, D - päivää, W - viikkoa. Näin ollen merkintä 2h20m5s sen arvo on 2 tuntia 20 minuuttia 5 sekuntia ja se vastaa 8405 sekuntia.

Mikä tahansa isäntä/merkinnän nimi, joka ei pääty piste laskee ei FQDN nimi ja sitä täydennetään nykyisen vyöhykkeen nimellä. Esimerkiksi examle.com-vyöhyketiedoston domen-merkintä laajennetaan FQDN-nimeksi domen.examle.com. .

IN BIND-määritystiedostot seuraavaa voi olla voimassa direktiivit:

  • $TTL- määrittää oletusarvoisen TTL:n kaikille nykyisen vyöhykkeen tietueille.
  • $ORIGIN- muuttaa vyöhykkeen nimen named.conf-tiedostossa määritetystä nimestä. Samanaikaisesti tämän direktiivin soveltamisala ei ulotu "yläpuolelle" (eli jos tiedosto sisältyy $INCLUDE-direktiiviin, $ORIGN soveltamisala ei ulotu yläpäähän)
  • $SISÄLTÖ- sisältää määritetyn tiedoston osana vyöhyketiedostoa.

Haluaisin erityisesti kuvata parametri salli-siirto ( 10.0.0.191; );. Tämä parametri kuvaa palvelimia, jotka voivat ladata kopion vyöhykkeestä - ns orjapalvelin. Seuraavassa esimerkissä tarkastelemme asetusta orja DNS.

Jotta kirjaus toimisi oikein, sinun on luotava sopiva hakemisto ja määritettävä tarvittavat oikeudet:

Dns:~# mkdir /var/log/bind/ dns:~# chmod 744 /var/log/bind/ dns:~# ps aux | grep nimeltä sidos 4298 0,0 3,4 46792 13272 ? Ssl Jul05 0:00 /usr/sbin/named -u bind root 4815 0.0 0.1 3304 772 pts/4 S+ 18:19 0:00 grep named dns:~# chown bind /var/log/bind/ dns:~# -ld /var/log/bind/ drwxr--r-- 2 bind root 4096 6. heinäkuuta 18:18 /var/log/bind/

Dns:~# cat /var/cache/bind/example.com $TTL 3D @ SOA:ssa ns.example.com. root.example.com. (2011070601; sarja 8H; päivitä 2H; yritä uudelleen 2W; vanhene 1D); vähintään @ IN NS ns.example.com. @ IN NS ns2.example.com. @ IN A 10.0.0.152 @ IN MX 5 mx.example.com. ns IN A 10.0.0.152 ns2 IN A 10.0.0.191 mx IN A 10.0.0.152 www IN CNAME @

sekä in-addr.arpa-verkkotunnuksessa.

Dns:~# cat /var/cache/bind/0.0.10.in-addr.arpa $TTL 3600 @ IN SOA ns.examle.com. root.example.com. (2007042001; Sarja 3600; Päivitä 900; Yritä uudelleen 3600000; Vanhene 3600) ; Minimi IN NS ns.examle.com.

IN NS ns2.example.com. 152 PTR:ssä examle.com. 191 IN PTR ns.example.com. * PTR examle.com -sivustossa. dns:~# cat /var/cache/bind/1.168.192.in-addr.arpa $TTL 3600 @ IN SOA ns.examle.com. root.example.com. (2007042001; Sarja 3600; Päivitä 900; Yritä uudelleen 3600000; Vanhene 3600) ; Minimi IN NS ns.examle.com.

IN NS ns2.example.com. * PTR examle.com -sivustossa.

Verkkomme on pieni, oletetaan, että verkossa on hyvin vähän koneita. Kaikki verkkopalvelut isännöidään samalla isännällä example.com., joten sekä master DNS (ns.example.com.) että postipalvelin (mx.example.com.) osoittavat samaan koneeseen (10.0.0.152). Toissijainen (orja) arvovaltainen vyöhykepalvelin Päätoiminto orjapalvelin- vyöhykkeen kuvauksen automaattinen synkronointi pääpalvelimen kanssa. Tätä tehtävää säätelee asiakirja 4.3.5. RFC 1034

osiossa Tämän asiakirjan mukaan on suositeltavaa vaihtaa tietoja palvelimien välillä AXFR-pyynnön avulla. Tämän pyynnön on siirrettävä koko vyöhyke yhdessä TCP-yhteydessä (RFC 1035). Myös,

orja DNS-palvelin jakaa kuorman pääpalvelimen kanssa tai ottaa koko kuorman haltuunsa, jos ensimmäisessä palvelimessa ilmenee vika. Ennen kuin aloitat

orja-DNS-palvelimen määrittäminen<<>, sinun on tarkistettava, voitko saada vyöhykkeen manuaalisesti toissijaiselta palvelimelta käyttämällä seuraavaa komentoa:<<>> @10.0.0.152 esimerkki.fi. axfr; (1 palvelin löydetty) ;; yleiset asetukset: +cmd esimerkki.com. 259200 SOA:ssa ns.example.com. root.example.com. 2011070801 28800 7200 1209600 86400 esimerkki.fi. 259200 IN NS ns.example.com. esimerkki.fi. 259200 IN NS ns2.example.com. esimerkki.fi. 259200 10.0.0.152:ssa example.com. 259200 IN MX 5 mx.example.com. mx.example.com. 259200 IN A 10.0.0.152 ns.example.com. 259200 IN A 10.0.0.152 ns2.example.com. 259200 IN A 10.0.0.191 www.example.com. 259200 IN CNAME example.com. esimerkki.fi. 259200 SOA:ssa ns.example.com. root.example.com. 2011070801 28800 7200 1209600 86400 ;; Kyselyaika: 14 ms ;; PALVELIN: 10.0.0.152#53(10.0.0.152) ;; MILLOIN: pe 8. heinäkuuta 15:33:54 2011 ;; XFR-koko: 11 tietuetta (viestejä 1, tavua 258)

  1. Kopioida named.conf-määritystiedosto pääpalvelimelta;
  2. Korvata kirjoita pääparametri päällä tyyppiä orja
  3. Parametri salli-siirto ( 10.0.0.191; ); korvata päällä masters(10.0.0.152;); niillä vyöhykkeillä, joille se on toissijaista;
  4. Poista vyöhykkeet, jota nykyinen palvelin ei palvele, mukaan lukien juuri, jos orja ei vastaa rekursiivisiin pyyntöihin;
  5. Luo hakemistoja tukille, kuten edellisessä esimerkissä.

Yhteensä saamme orjapalvelimen konfiguraation:

Root@debian:~# cat /etc/bind/named.conf option ( hakemisto "/var/cache/bind"; allow-query ( mikä tahansa; ); // vastaa kyselyihin kaikista liitännöistä rekursio ei; // poista rekursiivinen käytöstä pyytää auth-nxdomain no // RFC1035-yhteensopivuus watch-on-v6 ( ei mitään; emme tarvitse IPv6-versiota "tuntematon" // ei näytä DNS-palvelimen versiota); // alla kuvatut vyöhykkeet määrittelevät palvelimen valtuutetuksi silmukan // rajapinnoille sekä yleislähetysvyöhykkeille (RFC 1912:n mukaan) vyöhyke "localhost" (tyyppi master; tiedosto "localhost"; ); vyöhyke "127.in-addr.arpa" (tyyppi master; tiedosto "127.in-addr.arpa"; ); vyöhyke "0.in-addr.arpa" (tyyppi master; tiedosto "0.in-addr.arpa"; ); vyöhyke "255.in-addr.arpa" (tyyppi master; tiedosto "255.in-addr.arpa"; ); // kuvaus päävyöhykkeestä "example.com" (tyyppi slave; tiedosto "example.com"; masters ( 10.0.0.152; ); ); //kuvaus käänteisvyöhykkeestä "0.0.10.in-addr.arpa" (tyyppi slave; tiedosto "0.0.10.in-addr.arpa"; masters ( 10.0.0.152; ); ); // lokiasetusten kirjaaminen ( kanava "misc" ( tiedosto "/var/log/bind/misc.log" versiot 4 koko 4m; tulostusaika KYLLÄ; tulostusvakavuus KYLLÄ; tulostusluokka KYLLÄ; ); kanava "kysely" (tiedosto "/var/log/bind/query.log" versiot 4 koko 4m; tulostusaika KYLLÄ; tulostusvakavuus EI; tulostuskategorian oletusarvo ( "sekalaiset"; ); ) ;

uudelleenkäynnistyksen jälkeen orjapalvelin kopioi onnistuneesti tarvitsemansa tiedot pääpalvelimelta, mikä ilmenee tiedostojen läsnäolosta hakemistossa:

Root@debian:~# ls -la /var/cache/bind/ yhteensä 28 drwxrwxr-x 2 root bind 4096 8. heinäkuuta 18:47 . drwxr-xr-x 10 juurijuuri 4096 8. heinäkuuta 15:17 .. -rw-r--r-- 1 sidossidos 416 8. heinäkuuta 18:32 0.0.10.in-addr.arpa ...... - rw-r--r-- 1 bind bind 455 8. heinäkuuta 18:32 esimerkki.fi .......

Periaatteessa /stroallow-transfer (pngp orjapalvelin ei saa tallentaa vyöhykkeen kopiota tiedostojärjestelmäänsä. Tätä kopiota tarvitaan vain DNS käynnistyessä. Kopio vyöhykkeestä tiedostojärjestelmässä voi estää vian, jos pääpalvelin ei ole käytettävissä orja-DNS:n käynnistyksen aikana. Jos et määritä tiedostovaihtoehtoa vyöhykeosiossa, kopiota ei luoda.

Asetetaan netfilter() DNS BIND:lle

Itse asiassa, kun palvelin on määritetty, se olisi hyvä suojata. Tiedämme, että palvelin toimii portissa 53/udp. Kun olet lukenut tätä koskevan artikkelin ja tutustunut siihen, voit luoda sääntöjä verkkoliikenteen suodattamiseen:

Dns ~ # iptables-save # tyypilliset iptables-säännöt DNS:lle *filter:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j HYVÄKSY -A INPUT -m conntrack --ctstate RELATED, ESTABLISHED -j ACCEPT -A INPUT DROP -m conntrack --ctstate VIRHEELLINEN -j DROP # salli paikallisverkon pääsy DNS-palvelimeen: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 53 -m conntrack - -ctstate UUSI -j HYVÄKSY -A OUTPUT -o lo -j HYVÄKSY -A OUTPUT -p icmp -j HYVÄKSY -A OUTPUT -p udp -m udp -sport 32768:61000 -j HYVÄKSY -A OUTPUT -p tcp - m tcp --sport 32768:61000 -j HYVÄKSY -A OUTPUT -m conntrack --ctstate LIITTYVÄ, PERUSTU -j HYVÄKSY # salli DNS-palvelimen pääsy lähtevien pyyntöjen tekemiseen -A OUTPUT -p udp -m udp -dport 53 -m conntrack - -ctstate UUSI -j ACCEPT COMMIT

Tämä on tyypillinen esimerkki! Jos haluat määrittää iptables-säännöt tehtävillesi ja verkkokokoonpanollesi, sinun on ymmärrettävä, miten netfilter toimii Linuxissa lukemalla yllä olevat artikkelit.

Vianetsintä

Tärkein lähde DNS-ongelmien tunnistamiseen on. Tässä on esimerkki käynnistysvirheistä, kun tein virheen polussa kohteeseen ydinpalvelinvyöhyketiedosto:

5. heinäkuuta 18:12:43 dns-palvelin nimeltä: alkaa BIND 9.7.3 -u bind 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: rakennettu "--prefix=/usr" "--mandir=/usr/ share/man" "--infodir=/usr/share/info" "--sysconfdir=/etc/bind" "--localstatedir=/var" "--enable-threads" "--enable-largefile" "- -with-libtool" "--enable-shared" "--enable-static" "--with-openssl=/usr" "--with-gssapi=/usr" "--with-gnu-ld" "- -with-dlz-postgres=no" "--with-dlz-mysql=no" "--with-dlz-bdb=yes" "--with-dlz-filesystem=yes" "--with-dlz-ldap =yes" "--with-dlz-stub=yes" "--with-geoip=/usr" "--enable-ipv6" "CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2" "LDFLAGS=" " CPPFLAGS=" 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: avoimien tiedostojen rajoitus 1024:stä 1048576:een 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: löytyi 1 CPU, 1 työntekijäsäiettä 5. heinäkuuta 18:12: 43 dns-palvelin nimeltä: käyttää jopa 4096 kantaa 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: konfiguraatioiden lataus tiedostosta "/etc/bind/named.conf" 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: Reading built -luotetuissa avaimissa tiedostosta "/etc/bind/bind.keys" 5. heinäkuuta 18:12:43 dns-server named: käyttäen oletusarvoista UDP/IPv4-porttialuetta: 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: oletusarvoa käyttäen UDP/IPv6-porttialue: 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: kuuntelee IPv4-liitännällä lo, 127.0.0.1#53 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: kuuntelee IPv4-liitännällä eth1, 192.168.1. #53 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: dynaamisen DNS:n istuntoavaimen luominen 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: ei voitu määrittää päävihjeitä tiedostosta "/etc/bind/db.root": tiedosto ei löydy 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: ladataan konfiguraatiota: tiedostoa ei löydy # tiedostoa ei löydy 5. heinäkuuta 18:12:43 dns-palvelin nimeltä: poistuu (vakavan virheen vuoksi) 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: alkaen BIND 9.7.3 -u bind 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: rakennettu "--prefix=/usr" "--mandir=/usr/share/man" "- infodir =/usr/share/info" "--sysconfdir=/etc/bind" "--localstatedir=/var" "--enable-threads" "--enable-largefile" "--with-libtool" "- - enable-shared" "--enable-static" "--with-openssl=/usr" "--with-gssapi=/usr" "--with-gnu-ld" "--with-dlz-postgres= ei " "--with-dlz-mysql=no" "--with-dlz-bdb=yes" "--with-dlz-filesystem=yes" "--with-dlz-ldap=yes" "--with - dlz-stub=yes" "--with-geoip=/usr" "--enable-ipv6" "CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2" "LDFLAGS=" "CPPFLAGS=" 5. heinäkuuta 18:15 :05 dns-palvelin nimetty: avoimien tiedostojen rajoitus 1024:stä 1048576:een 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: löytyi 1 prosessori, 1 työntekijäsäiettä käyttäen 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: käytössä 4096 socketsiin 5. heinäkuuta 18:15:05 dns-palvelimen nimi: ladataan konfiguraatiota osoitteesta "/etc/bind/named.conf" 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: käytetään oletusarvoista UDP/IPv4-porttialuetta: 5. heinäkuuta 18:15:05 dns-palvelin nimetty: käyttäen oletusarvoista UDP/IPv6-porttialuetta: 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: kuuntelee IPv4-liitännällä lo, 127. 0.0.1#53 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: kuuntelee IPv4-liitännällä eth1, 192.168.1.1#53 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: 254.169.IN-ADDR. ARPA 5. heinäkuuta 18:15:05 dns-palvelimen nimi: automaattinen tyhjä vyöhyke: 2.0.192.IN-ADDR.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: 100.51.198.IN-ADDR. ARPA 5. heinäkuuta 18:15:05 dns-palvelimen nimi: automaattinen tyhjä vyöhyke: 113.0.203.IN-ADDR.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: 255.255.255.255.IN-ADDR. ARPA 5. heinäkuuta 18:15:05 dns-palvelimen nimi: automaattinen tyhjä vyöhyke: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6 .ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimetty: automaattinen tyhjä vyöhyke: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelimen nimi: automaattinen tyhjä vyöhyke: D.F.IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelimen nimi: automaattinen tyhjä vyöhyke: 8.E.F.IP6.ARPA 5. heinäkuuta 18:15 :05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: 9.E.F.IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: A.E.F.IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltään: automaattinen tyhjä vyöhyke: B.E.F.IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltä: automaattinen tyhjä vyöhyke: 8.B.D.0.1.0.0.2.IP6.ARPA 5. heinäkuuta 18:15:05 dns-palvelin nimeltään: vyöhyke 0. in-addr.arpa/IN: ladattu sarja 1. heinäkuuta 18:15:05 dns-palvelimen nimi: vyöhyke 127.in-addr.arpa/IN: ladattu sarja 1. heinäkuuta 18:15:05 dns-palvelimen nimi: vyöhyke 255.in-addr.arpa/IN: ladattu sarja 1. heinäkuuta 5. 18:15:05 dns-palvelin nimeltä: zone localhost/IN: ladattu sarja 2. heinäkuuta 18:15:05 dns-palvelin nimeltä: käynnissä # käynnistys onnistui

Erinomainen diagnostiikkatyökalu on.

Jatkaa

Tässä artikkelissa kuvailin BIND-palvelimen DNS-peruskokoonpanojen määrittämistä. Artikkelin tarkoituksena oli antaa käsitys BIND-palvelimen toiminnasta UNIXissa. En käytännössä käsitellyt DNS-suojausasioita ja kosketin vähän sellaisia ​​erityisasetuksia kuin palvelimen toiminta reunatilassa, kun eri verkkoihin lähetetään eri tietoa vyöhykkeistä. Syvemmälle ymmärrykselle annan luettelon muista lähteistä, joista toivon, että voit saada tarvittavat tiedot. Teen lopun tälle. Ensi kerralla.

Domain Name System: http://citforum.ru/internet/dns/khramtsov/
orjapalvelin- Verkkotunnukset - Käsitteet ja tilat: http://tools.ietf.org/html/rfc1034
RFC 1035- Verkkotunnukset - Käyttöönotto ja määritykset: http://tools.ietf.org/html/rfc1035
RFC 1537- Yleiset DNS-datatiedoston määritysvirheet: http://tools.ietf.org/html/rfc1537
RFC 1591- Verkkotunnusjärjestelmän rakenne ja delegointi: http://tools.ietf.org/html/rfc1591
RFC 1713- DNS-virheenkorjaustyökalut: http://tools.ietf.org/html/rfc1713
RFC 2606- Varatut huipputason DNS-nimet: http://tools.ietf.org/html/rfc2606
DNS-suojaus (DNSSEC): http://book.itep.ru/4/4/dnssec.htm
BIND 9 Järjestelmänvalvojan viiteopas: http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.html
Suojattu BIND-malli: http://www.cymru.com/Documents/secure-bind-template.html
Konfig-parametrit on kuvattu hyvinvenäjäksi: http://www.bog.pp.ru/work/bind.html
Automaattinen vyöhyketiedoston luominen: http://www.zonefile.org/?lang=en#zonefile

Nykyään on mahdotonta kuvitella Internetiä ilman DNS:ää. Monet järjestelmänvalvojat eivät kuitenkaan käytä aikaa tämän palvelun määrittämiseen palvelimilleen, joten he eivät käytä kolmannestakaan sen täydestä tehosta.

Eli suunnitelmia tälle päivälle!

  1. Päävyöhykkeen asettaminen.
  2. Vyöhykkeiden yhdistäminen orjassa.
  3. Jokaiselle omansa. Konfiguroimme parametrit sen asiakasosoitteen mukaan, josta pyyntö tuli.
  4. Yhdistämme ulkoisen DNS-suodattimen.

Johdanto

Kun sain työn, verkostomme palveluiden määrä oli laskettavissa yhden käden sormilla. Aikaa kului, palveluiden määrä kasvoi. Siellä oli vain yksi palveleva DNS-palvelin ja se toimi isäntänä yhdelle vyöhykkeelle (kutsutaanko sitä xak.ru:ksi). Se yksinkertaisesti välitti kaikki muut pyynnöt Googlen DNS-palvelimelle (8.8.8.8). Ai, melkein unohdin lisätä: tämä palvelin oli virtuaalinen. Sitten eräänä päivänä palvelin kaatui fyysisesti. Vaihtamisen jälkeen järjestelmää nostettiin ja virtualisointi kiinnitettiin. Asensimme juuri asennetun Debianin ja BIND 9:n. Määritimme saman IP-osoitteen, joka DNS-palvelimella oli ennen kaatumista. Asetukset palautettiin varmuuskopiosta. Onnistuneen alun jälkeen he alkoivat miettiä, kuinka "pultit kiristetään".

Samanaikaisesti tämän työn kanssa asennettiin isännöinti, joka isännöi vyöhykettä (esimerkiksi) xaker.ru. Tietysti keskus-DNS:n on tiedettävä siitä, ja vielä parempi, sen on oltava tämän vyöhykkeen orja DNS-palvelin. Seuraavaksi tuli tarpeelliseksi ohjata DNS-pyynnöt keskuspalvelimelta uudelleenohjaajaan sen mukaan, mistä verkosta pyyntö tuli. Tämä tehtiin ulkoisten DNS-suodattimien yhdistämisen vuoksi, mutta ei kaikille. Mutta vain niille, jotka sitä tarvitsevat, nimittäin koulutuskaupunkiverkot - oppilaitosten alueet! Kaikesta tästä keskustellaan alla.

Vähän teoriaa

Jos haluat tutustua "uuteen" BINDiin, suosittelen lukemista. Pähkinänkuoressa: versio 9 oli viimeinen, versiolla 10 oikeudet siirretään yhteisölle, ja tämä ohjelmisto tunnetaan nyt nimellä Bundy.

Nopea asennus tai uudestaan ​​samasta asiasta

Joten kuinka BIND 9 asennetaan Debianiin/Ubuntuun, Internetissä on paljon materiaalia. Joten mennään nopeasti tämän kohdan läpi menemättä yksityiskohtiin. Ensin sinun on asennettava BIND 9 järjestelmääsi. MS Windows -käyttäjille on olemassa BIND 9 -versio heidän alustalleen.

$ sudo apt install bind9

Muille jakeluille on olemassa runsaasti käsikirjoja Internetin lähdekoodien kokoamiseen, nappaa ne nopeasti kiinni, kopioi ne muistilehtiöihin ennen kuin uusi "superhyödyllinen" laki kattaa koko Internetin tai kunnes sinua moititaan vierailemisesta tai vierailemisesta sivustolla. kielletyn kirjallisuuden kanssa. 😉

Asennuksen jälkeen siirry hakemistoon /etc/bind9/ ja katso siellä pääasetustiedosto named.conf ja loput named.conf.*-tiedostot. Jätämme mainitsematta päävyöhykkeen asettamisen, koska Internetissä olevat tiedot esitetään erittäin yksityiskohtaisesti. Lisätään rivi named.conf-tiedostoon

Sisällytä "/etc/bind/named.conf.acl";

sitten yhdistämme uuden tiedoston aliverkkosääntöjen konfiguraatioon. Luo seuraavaksi tiedosto /etc/bind/named.conf.acl ja lisää säännöt:

Acl "lan" (192.168.181.0/24; ); acl "do" (10.0.0.0/24; 192.168.253.0/24; ); acl "srv" (192.168.254.0/24; ); acl "kaikki" ( 10.10.0.0/16; ); acl "dou" (192.168.201.0/24; 192.168.202.0/24; 192.168.203.0/24; 192.168.204.0/24; 192.168.205.0/24; acl "koulu" ( 172.16.0.0/24; );

Täällä jaoimme verkot ryhmiin jatkokäsittelyä varten. Ennen kuin jatkamme, haluan selventää yhden asian. Jotta vyöhykkeet voidaan käsitellä oikein, sinun on lisättävä kaikki vyöhykkeet kuhunkin sääntöryhmään. Voit tehdä tämän yhdessä tiedostossa tai laittaa vyöhykeasetukset erilliseen tiedostoon ja sitten yksinkertaisesti liittää sen oikeisiin paikkoihin. Joten teemme muutoksia /etc/bind/named.conf.local-tiedostoon:

Näytä "edu" ( match-clients ( school; ); rekursio kyllä; salli-kysely ( koulu; ); huolitsijat ( 77.88.8.7; ); vyöhyke "xaker.ru" (tyyppi master; tiedosto "/etc/bind/xaker .ru_loc"; ); vyöhyke "254.168.192.in-addr.arpa." (tyyppi master; tiedosto "/etc/bind/xaker.rev"; ); vyöhyke "zone2.ru" (tyyppi slave; tiedosto "/ etc/bind/db.zone2.ru"; masters (192.168.254.5; ); ); );

Tässä määritämme ryhmän, jonka kanssa BIND työskentelee. Lisäämme tähän asiakkaat yllä määrittämiemme sääntöjen perusteella. Määritämme ylemmän tason palvelimen, jolle verkoista tulevat pyynnöt välitetään kuvattujen sääntöjen mukaisesti. Tämä on ainoa koulun osoitteiden ryhmä. Yandex DNS-palvelin asetettiin ylivoimaiseksi DNS-palvelimeksi, joka suodattaa "huonon" sisällön. Voit käyttää muita DNS-palveluita, kuten SkyDNS:ää, samalla tavalla.

Jatko on vain tilaajien saatavilla

Vaihtoehto 1. Tilaa Hacker lukeaksesi kaiken sivuston materiaalin

Tilauksen avulla voit lukea KAIKKI maksulliset materiaalit sivustolla määritetyn ajan kuluessa.

Harkitsemme esimerkillinen DNS-palvelimen määritystiedoston välimuistiin tallentamiseen erilliselle palvelimelle. Välimuistiin tallennettava nimipalvelin on nimipalvelin, joka ei ole vastuussa mistään vyöhykkeestä. Se yksinkertaisesti suorittaa kyselyitä puolestaan ​​ja tallentaa tulokset myöhempää käyttöä varten.
NOIN verkkopalvelu DNS ja BIND9:n asettaminen voidaan lukea myös FreeBSD-käsikirjan luvusta 25. Oletusarvoisesti FreeBSD käyttää yhtä BIND (Berkeley Internet Name Domain) -ohjelman versioista, joka on DNS-protokollan yleisin toteutus.

DNS on protokolla, joka ratkaisee nimet IP-osoitteiksi ja päinvastoin. FreeBSD:n mukana toimitetaan tällä hetkellä DNS-palvelin nimeltä BIND9, joka tarjoaa parannetut suojausasetukset, uuden konfigurointitiedoston asettelun ja automaattiset asetukset chrootille(8). Lisäksi BIND9:ää pidetään vähiten alttiimpana ulkoisille hyökkäyksille (FreeBSD toimii automaattisesti nimettynä rajoitetussa ympäristössä (chroot(8))). Tämä DNS-palvelimen versio tukee pääsynhallintaluetteloita kyselyille, vyöhykkeiden siirtoja alavirran (toissijaisille) DNS-palvelimille ja vyöhykkeiden dynaamisia päivityksiä ylävirran (ensisijaisista) DNS-palvelimista. Tämä versio tukee standardia dynaamisille päivityksille ja vyöhykemuutoksista ilmoittamiselle, ja se käyttää myös lisävyöhykkeen siirtomekanismia, jonka avulla alavirran DNS-palvelimet voivat pyytää vain vyöhyketietojen muutoksia ylävirran DNS-palvelimista. Tämä mahdollistaa paljon nopeamman vyöhykkeen siirron.

Kirjoittaessani olin perustamassa BIND 9.6.1-P1 käynnissä olevalla palvelimella FreeBSD 7.2-RELEASE.

# cat /etc/namedb/named.conf // tältä kommentti näyttää acl self ( 127.0.0.1; ); // aseta muuttuja self, jossa luetellaan palvelimemme IP-osoitteet\ johon bind acl trust ( self; ); // aseta muuttuja, jossa luetellaan IP-osoitteet, joista saa\ lähettää pyyntöjä DNS-palvelimemme kautta // globaalien parametrien osio (hakemisto "/etc/namedb"; // työhakemiston sidos, jonka suhteen alla määritämme muut hakemistot pid-file "/var/run/named/pid" // pid-tiedosto dump-file "/var/dump/named_dump.db" // juurivyöhykkeen vedostiedoston sijainti; tilapäinen pääsy kaikkiin pääpalvelimiin tilastotiedostoon "/var/stats/named.stats" // tilastotiedoston sijainti kuuntelu (self; // määritä sidos, missä käyttöliittymät toimivat). -v6 ( ei mitään; / ) IPv6-version käyttö "Hei, kaveri!" // tässä voit määrittää sidosversiosi (turvallisuussyistä ei suositella) salli-kysely ( itse); ; // keneltä sallimme vastaanottaa pyyntöjä ( 12.34.56.78 ; ; ...

Nyt suosittelen pitämään pienen tauon tiedoston määrittämisessä named.conf. Suosittelen harkitsemaan mielenkiintoista tapaa etähallita DNS-palvelintasi - apuohjelmaa rndc. Jotta voit aloittaa sen käytön, sinun on luotava sille määritystiedosto ja salainen avain, jonka kanssa se on vuorovaikutuksessa sidontasi kanssa. Tätä tehtävää varten on olemassa tiimi rndc-confgen.
Komennon suorittaminen:

# rndc-confgen

saat jotain tällaista:

# Rndc.conf-avaimen "rndc-key" alku (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; ); asetukset (oletusavain "rndc-avain"; oletuspalvelin 127.0.0.1; oletusportti 953; );

# Rndc.conf:n loppu # # Käytä seuraavan kanssa named.conf-tiedostossa säätämällä sallittujen luetteloa tarpeen mukaan: # avain "rndc-key" ( # algoritmi hmac-md5; # salaisuus "34f88008d07deabbe65bd01f1d233d47"; # ); # # säätimet ( # inet 127.0.0.1 portti 953 # salli ( 127.0.0.1; ) näppäimet ( "rndc-key"; ); # );

# Named.conf:n loppu

Aseta tulosteen kommentoimaton osa tiedostoon rndc-confgen laita se asetustiedostoon /etc/namedb/named.conf:

Avain "rndc-key" (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; ); säätimet (inet 127.0.0.1 portti 953 sallii ( 127.0.0.1; ) avaimet ( "rndc-key"; ); ); ...

Joukkueen työn tuloksena rndc-confgen luettelossa /etc/namedb/ tiedoston pitäisi näkyä rndc.key, jossa on seuraava sisältö:

# cat /etc/namedb/rndc.key-avain "rndc-avain" (algoritmi hmac-md5; salainen "34f88008d07deabbe65bd01f1d233d47"; );

Jos sinulla oli jo avain siellä, poista se ja vaihda se uuteen.
Kaikissa tapauksissa linja salainen "34f88008d07deabbe65bd01f1d233d47"; sinulla pitäisi olla sama! Merkitys salaisuus komennon luoma rndc-confgen.
Voit tarkistaa tekemäsi työn, kun olet määrittänyt DNS-palvelimesi kokonaan ja käynnistänyt sen. Sitten, kun suoritat komentoa:

# rndc-tila

jos näet jotain tällaista:

Versio: 9.6.1-P1 (Hei, ystävä!) Prosessorit löydetty: 2 työntekijäsäiettä: 2 vyöhykkeiden lukumäärä: 14 virheenkorjaustaso: 0 xfers käynnissä: 0 xfers lykätty: 0 soa-kyselyä käynnissä: 0 kyselyn kirjaaminen on OFF rekursiiviset asiakkaat : 0/0/1000 tcp-asiakkaat: 0/100 palvelin on käynnissä

- tarkoittaa hyödyllisyyttä rndc yhteyden muodostaminen onnistuneesti sidokseen, kirjautui sisään juuri luomallamme avaimella ja kysyi bindiltä DNS-palvelimen tilaa, jonka he näyttivät sinulle.

On monia hyödyllisiä avaimia, joilla tämä apuohjelma antaa sinun valvoa ja hallita DNS-palvelintasi. Suorita se vain ilman argumentteja ja näet käytettävissä olevat komennot ja ohjeet niille. (Suosittelen luomaan heti vedostiedoston komennolla rndc dumpdb).

Jatketaan asetustiedoston selitystä /etc/namedb/named.conf:

Alue "." (kirjoita vihje; tiedosto "named.root"; //kuinka nykyinen juurivyöhyketiedosto saadaan, on kirjoitettu alla); vyöhyke "0.0.127.in-addr.arpa" (tyyppi master; tiedosto "master/localhost.rev"; notify no; ); ...

Localhost.rev-tiedosto näyttää suunnilleen tältä:

# cat /etc/namedb/master/localhost.rev $TTL 3600 @ SOA:ssa host.your_domain.ru. root.host.your_domain.ru. (2009110601; Sarja 3600; Päivitä 900; Yritä uudelleen 3600000; Vanhene 3600) ; Minimi IN NS host.your_domain.ru. 1 PTR:ssä localhost.your_domain.ru.

Seuraavilla asetuksilla keräämme ja kirjoitamme sidoslokeja eri tiedostoihin. Kanavan kirjausosion muoto on seuraava:

Kanavan kanavan nimi ( (tiedoston tiedostonimi [ versiot (lukumäärä | rajoittamaton) ] [ koko enimmäiskoko ] | syslog syslog_facility | stderr | null); // tässä osoitamme tiedoston nimen, johon kirjoitamme lokit tämän kanavan (suhteessa\ työhakemistoon tiedostokoko, jolla lokitiedosto numeroidaan uudelleen), lokikirjaus\ pysähtyy, kun määritetty tiedostokoko on saavutettu |. debug [taso] |. vakavuus kyllä-tai-ei ] // kirjataanko tapahtuman "vakavuuden" tyyppi [ print-time yes-or-no ] // kirjataanko tapahtuman aika vai ei);

[ vakavuus (kriittinen | virhe | varoitus | huomautus | info | virheenkorjaus [ taso ] | dynaaminen); ] // lokisuodatin, tarkalleen mitä tietoja syötämme tälle kanavalle [ print-category yes-or-no; ] // kirjataanko tapahtumaluokkatyyppi [ print-severity yes-or-no; ] // kirjataanko ominaisuuden "vakavuuden" tyyppi [ print-time yes-or-no; ] // kirjataanko tapahtuman aika vai ei); /etc/namedb/named.conf:

Kirjaaminen ( // lokiparametrit kanavan oletus_ch ( // määritä lokikanavan oletus_ch-tiedosto "/var/log/named.log" versiot 3 koko 800k; vakavuustiedot; tulostusaika kyllä; tulostusluokka kyllä; ); kanavan turvallisuus_ch ( / / merkitsee kirjauskanavan security_ch-tiedostoa "/var/log/security.log" versiot 3, koko 800k .log" versiot 3 koko 800k; vakavuustiedot; tulostusaika kyllä; tulostusluokka kyllä; ); kanava lame-ch ( // merkitsee lokiin kirjautuvaa kanavaa lame-ch tiedostoa "/var/log/lamers.log" versiot 3 koko 800k; luokka lame-servers ( lame-ch; // kirjoittaa tapahtumat "crooked" DNS-palvelimesta oletusarvo (oletus_ch; // kirjoittaa oletus_ch-kanavaan); kanavaluokka turvallisuus ( security_ch; // kirjoita security_ch-kanavaan tietoturvatapahtumakategoriasta xfer-in ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vyöhykkeiden siirrosta kategoria xfer-out ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vastaanottovyöhykkeiden kategoriasta notify ( transfer_ch; ); // kirjoittaa ilmoituksia ja rekisteröintitietoja transfer_ch-kanavalle);

luokka turvallisuus ( security_ch; ); // kirjoittaa security_ch-kanavalle tietoturvatapahtumakategoriasta xfer-in ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vyöhykkeiden siirrosta kategoria xfer-out ( transfer_ch; ); // kirjoittaa transfer_ch-kanavalle vastaanottovyöhykkeiden kategoriasta notify ( transfer_ch; ); // kirjoittaa ilmoituksia ja rekisteröintitietoja transfer_ch-kanavalle);

Nyt, kun olet määrittänyt bindin, sinun tarvitsee vain käyttää wget- tai fetch-komentoa saadaksesi nykyinen juurivyöhyketiedosto (nimi.root) palvelimelta:

# hae ftp://ftp.internic.net/domain/named.root /etc/namedb/ nykyisen vaihdolla. On suositeltavaa toistaa tämä toimenpide säännöllisesti tai määrittää tämä toiminto cronin kautta.

Nyt on aika käynnistää DNS-palvelimemme:

/etc/rc.d/named aloitus

Apuohjelman toiminnan tarkistaminen rndc, kuten yllä on kuvattu.

Aloita suorittamalla komento:

# ps -ax | grep nimeltä 476 ?? Onko 0:01.19 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s 704? Onko 0:00.04 /usr/sbin/named -t /var/named -u bind 1022 p0 R+ 0:00.00 grep named

Jos näet jotain tällaista, prosessi on alkanut.
Voit olla varma, että voit suorittaa seuraavan komennon (jos sinulla on se):

# lsof -i tcp | grep KUUNTELE | grep nimeltään 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (KUUNTELU) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (KUUNTAUS) IP40x0c40t 2040c40t CP localhost:domain ) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (KUUNTELU) nimeltä 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (kuuntelu) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 IPv4 localhost:rndc 00 0t0 TCP localhost:domain (KUUNTELU) nimeltä 704 bind 21u IPv4 0xc449a740 0t0 TCP localhost:rndc (LISTEN) nimeltä 704 bind 20u IPv4 0xc845a000 0t0 TCP localhost:domain (LISTEN) nimeltä 704 bind 21u CP4cst0dc FI)

Nyt meidän on määritettävä palvelimemme toimimaan juuri asennetun DNS-palvelimen kanssa. Tätä varten sinun on tehtävä muutoksia tiedostoon /etc/resolv.conf. Pienennä se seuraavaan muotoon:

# cat /etc/resolv.conf domain your_domain.ru nimipalvelin 127.0.0.1

DNS-apuohjelmat sisältyvät BIND9-palvelimeen kaivaa, isäntä Ja nslookup tutkia domain-avaruutta. Heidän avullaan tarkistamme, kuinka juuri määrittämäsi ja käynnistämäsi DNS-palvelin toimii.

Apuohjelma isäntä voit saada tietyn tyyppiset RR-arvot määritetylle verkkotunnukselle. Puhelun muoto:
isäntä[ -ohjausnäppäimet ] [ -kyselynäppäimet] domain-nimi-tai-osoite [ kyselypalvelin ] .

Oletuksena käytetään asiakaskirjastoa määritettäessä kuvattua palvelinta. Verkkotunnuksia pidetään ehdottomina, eikä hakuluetteloa käytetä. Lisätietoja osoitteessa mies isäntä.

Apuohjelma kaivaa antaa sinun saada tietyn tyyppiset RR-arvot määritetylle verkkotunnukselle vyöhyketiedostomuodossa. Kommenttien muodossa tarjotaan paljon tukea, mm. vastauksena pyyntöön vastaanotetun paketin tulkinta. Puhelun muoto:
kaivaa[ @polled-palvelin ] [ -optiot-dig] verkkotunnus [ tietuetyyppinen ] [ ennätysluokkaa ] [ +kysely-asetukset ]

Oletuksena käytetään asiakaskirjastoa määritettäessä kuvattua palvelinta. Verkkotunnuksia pidetään ehdottomina, eikä hakuluetteloa käytetä. Vaadittavana tietuetyyppinä voidaan käyttää myös pseudotyyppejä AXFR (vyöhyke siirretty vain arvovaltaiselta palvelimelta), ixfr=reference-version-number ja ANY, oletusarvo: A. Samalla komentorivillä voidaan tehdä useita pyyntöjä.

Apuohjelma nslookup julistettu vanhentuneeksi ja muistuttaa siitä pakkomielteisesti joka kerta, kun käynnistät sen (edes dokumentaatiota ei toimiteta, ei ole ohjekomentoa ja joitain muita). Puhelun muoto:
nslookup [ - avaimet] verkkotunnus [ kyselypalvelin ]

Suorita komento:

# dig @127.0.0.1 ya.ru ;<<>> DiG 9.6.1-P1<<>> @127.0.0.1 ya.ru ; (1 palvelin löydetty) ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; >> OTSIKKO<< opcode: QUERY, status: NOERROR, id: 51090 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;ya.ru. IN A ;; ANSWER SECTION: ya.ru. 2843 IN A 213.180.204.8 ya.ru. 2843 IN A 77.88.21.8 ya.ru. 2843 IN A 93.158.134.8 ;; AUTHORITY SECTION: ya.ru. 2843 IN NS ns1.yandex.ru. ya.ru. 2843 IN NS ns5.yandex.ru. ;; ADDITIONAL SECTION: ns1.yandex.ru. 79700 IN A 213.180.193.1 ns5.yandex.ru. 79701 IN A 213.180.204.1 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Dec 4 14:04:11 2009 ;; MSG SIZE rcvd: 146

Jos sen toiminnan seurauksena näet suunnilleen saman asian, DNS-palvelin käsitteli komennon oikein.

Suorita nyt komento:

# isäntä ya.ru ya.ru:lla on osoite 77.88.21.8 ya.ru:lla on osoite 93.158.134.8 ya.ru:lla on osoite 213.180.204.8 ya.ru postia käsittelee 10 mx.yandex.ru.

Jos DNS-palvelimesi vastasi jotain tällaista, se tarkoittaa, että se toimii oikein!

Jos nämä komennot eivät palauttaneet tuloksia, sinun on katsottava lokia /var/log/messages virheistä, jotka sidos asettaa sinne. Analysoimalla niitä, yritä ymmärtää, mikä aiheuttaa DNS-palvelimen virheellisen toiminnan. Suurin huolimattomuus on verkon palomuurien väärä kokoonpano.

Lopuksi haluan puhua joistakin bindiin sisäänrakennetuista diagnostisista komennoista.

  • named-checkzone– tarkistaa vyöhyketiedostojen syntaksin ja eheyden. Samat tarkistukset suoritetaan joka kerta ennen kuin ne ladataan sidoksella. Mutta mielestäni on silti hyödyllistä tehdä tämä ennen kuin nimipalvelin lataa ne.
  • named-compilezone– suorittaa tiukempia tarkistuksia kuin named-checkzone, koska Sen toiminnan seurauksena syntyy nykyisten vyöhykkeiden kaatopaikka, jota puolestaan ​​käyttää named.
  • named-checkconf– apuohjelma määritystiedoston nimeltä.conf tarkistamiseen

Tässä aiheessa yritän kuvata BIND DNS -palvelimen koko kokoonpanon sopivan pienen organisaation tai pienen palveluntarjoajan tarpeisiin.

1. BIND-määritystiedosto nimeltä.conf:

Tiedoston sijainti BIND-asetukset voi vaihdella käyttöjärjestelmästä riippuen. Esimerkiksi FreeBSD:ssä se on tallennettu kansioon /etc/namedb/named.conf. Chroot-hakemisto: /var/named/.

# Tunnistusavain.
avain "rndckey" (
algoritmi hmac-md5;
salainen "945Gа8BNiQ+NvPeklas+Bu==";
};

vaihtoehdot (
# Määritä, mitä IPv6-osoitteita palvelin kuuntelee. Tässä esimerkissä "ei mitään;" – älä kuuntele IPv6:ta.
listen-on-v6 (ei mitään; );
# Määritä, mitä IPv4-osoitteita palvelin kuuntelee.
#127.0.0.1 – Loopback
# 192.168.0.1 – Paikallinen verkkoliitäntä. Paikalliset asiakkaat pääsevät siihen.
# 100.100.100.100 – Ulkoinen käyttöliittymä. Se käsittelee maailmanlaajuisen verkon pyynnöt.
kuunteluportti 53 (127.0.0.1; 192.168.0.1; 100.100.100.100; );
# Mitkä pyynnöt käsitellään. Tässä esimerkissä "mikä tahansa;" – kaikki pyynnöt käsitellään.
# Tarvittaessa voit määrittää verkot tai tietyt solmut, joiden pyynnöt voidaan käsitellä. Esimerkiksi määrittämällä "192.168.0.1/24; 127.0.0.1;" Sallimme vain 192.168.0.1/24-aliverkon asiakkaat ja itsemme takaisinsilmukkarajapinnan kautta.
salli-kysely (mikä tahansa; );
# Minne pyynnöt välitetään. Tarvittaessa voit välittää pyynnöt palveluntarjoajasi DNS-palvelimelle esimerkiksi liikenteen säästämiseksi. Tässä esimerkissä sitä käytetään vain juurivyöhykkeellä.
huolitsijat();
# Kiellemme vyöhyketaulukoiden muuttamisen (päivittämisen).
salli-päivitys(ei mitään;);
# Lisäasetukset. Työhakemiston, PID-tiedoston, dump-tiedoston ja tilastotiedoston sijainti. Voit muuttaa sitä tarvittaessa. Kaikki polut ovat suhteellisia Chroot-hakemistoon.
hakemisto "/etc/namedb";
pid-tiedosto "/var/run/named/pid";
dump-tiedosto "/var/dump/named_dump.db";
tilastotiedosto "/var/stats/named.stats";
# BIND-palvelimemme version piilottaminen.
versio "0";
};

# Kulunvalvontalista - kulunvalvontaluettelot
# ACL “käyttäjä” – paikalliset asiakkaamme.
acl "käyttäjä" (192.168.0.0/24; 127.0.0.1; );
# ACL "inet" - kaikki ne, jotka eivät sisälly ACL "käyttäjään"
acl “inet” ( !user; );

# Näytä - näkymät
# Käytämme ACL-luetteloita erottaaksemme pääsyn eri näkymiin.

# Näytä "kaikki" – katso kaikki pyynnöt.
katso "kaikki" (
# Osoitamme, että tämä näkymä on vain kaikille asiakkaille.
match-asiakkaat (mikä tahansa; );
# Poista rekursiiviset kyselyt käytöstä.
rekursio ei;

# Master zone test.com
vyöhyke "test.com" (
# "Orja"-vyöhyketyyppi on toissijainen DNS-palvelin "test.com"-verkkoaluevyöhykkeelle.
# Voit käyttää "stub". Tässä tapauksessa vyöhyketaulukoita ei tallenneta (vain NS-tietueet tallennetaan), ja pyynnöt ohjataan uudelleen mainostettuihin DNS-palvelimiin.
tyyppi orja;
# Aluetaulukkotiedosto.
tiedosto "slave/test.com.hosts";
# Määritä ensisijainen DNS-palvelin "test.com"-verkkoaluevyöhykkeelle.
mestarit ( 100.100.100.201; );
};

# DynDNS-vyöhyke dyn.example.com.
vyöhyke "dyn.example.com" (
# Päävyöhyketyyppi on tämän toimialueen vyöhykkeen ensisijainen DNS-palvelin.
tyyppi mestari;
tiedosto "dynamic/dyn.example.com.hosts";
# Salli vyöhyketaulukon muuttaminen (päivitys) avaimella.
salli-päivitys (avain “rndckey”; );
};

# Käänteinen vyöhyke globaalille aliverkolle "100.100.100.100/24".
vyöhyke "100.100.in-addr.arpa" (
tyyppi mestari;
tiedosto "master/100.100.rev.hosts";
};
}

# Näytä "käyttäjä" - näkymä paikallisille asiakkaillemme.
näytä "käyttäjä" (
# Osoitamme, että tämä näkymä on tarkoitettu vain "käyttäjän" ACL-luetteloon sisältyville asiakkaille
match-clients(käyttäjä;);
# Salli paikallisten asiakkaiden tehdä rekursiivisia kyselyitä.
rekursio kyllä;

# Kuvaa vyöhykkeet Näytä "käyttäjä"

# Vyöhyke “localhost”.
vyöhyke "localhost" in (
tyyppi mestari;
tiedosto "master/localhost.hosts";
};

# Master zone example.com.
vyöhyke "example.com" (
tyyppi mestari;
tiedosto "master/user/example.com.hosts";
};

# Käänteinen vyöhyke paikalliselle aliverkolle "192.168.0.0/24".
vyöhyke "0.168.192.in-addr.arpa" (
tyyppi mestari;
tiedosto "master/user/192.168.0.rev.hosts";
};

# Käänteinen vyöhyke "localhostille".
vyöhyke "0.0.127.in-addr.arpa" (
tyyppi mestari;
tiedosto "master/127.0.0.rev.hosts";
};

# DNS-juurialue.
vyöhyke "." (
# Vyöhyketyyppi "vihje" - välimuistipalvelin. Ei tallenna vyöhyketaulukoita.
tyyppi vihje;
tiedosto "named.root";
# Välitämme pyynnöt palveluntarjoajan DNS-palvelimelle (100.100.100.201 – palveluntarjoajan DNS-palvelin).
huolitsijat(100.100.100.201;);
};
};

# Näytä "inet" – näkymä globaalista verkosta tuleville pyynnöille.
näytä "inet" (
match-clients(inet;);
# Poista rekursiiviset kyselyt käytöstä.
rekursio ei;
ilmoittaa ei;

# Master zone example.com.
vyöhyke "example.com" (
tyyppi mestari;
tiedosto "master/inet/example.com.hosts";
};
};

2. Esimerkki.com-vyöhyketaulukko "käyttäjä"-näkymää varten:

$ ttl 38400

2011101101 ; Sarja - vyöhykkeen sarjanumero VVVVKKPPNN muodossa.
; VVVV - vuosi, KK - kuukausi, PP - päivä, NN - tämän päivän taulukon muutosten sarjanumero.
10800 ; Päivitä - Aika, joka ilmaisee, kuinka usein pääpalvelintaulukosta on tarkistettava päivityksen tarve.
3600 ; Uudelleenyritys – aika, joka ilmaisee, kuinka pian yrittää uudelleen, jos yhteys pääpalvelimeen epäonnistuu.
604800; Vanheneminen - aika, jolloin taulukko vanhenee tämän ajan jälkeen, taulukko katsotaan vanhentuneeksi ja luetaan uudelleen.
38400 ; TTL on aika, joka ilmaisee, kuinka kauan taulukkoa säilytetään välimuistissa. Kun tämä aika on kulunut umpeen, palvelin lukee taulukon uudelleen.
)

; Määritä nimipalvelin tälle vyöhykkeelle.
esimerkki.fi. IN NS:ssä ns.example.com.

; "suora" (muuntaa nimen osoitteeksi) merkintä.
ns.example.com. 100.100.100.100
# "mail" (osoittaa verkkotunnuksen sähköpostipalvelimia) -tietue. 10 – sekvenssi.

; Käytämme paikallisia osoitteita tallentaaksemme suoraan isäntäosoitteen example.com.
esimerkki.fi. IN A 192.168.0.2
sip.example.com. IN A 192.168.0.3
mx.example.com. IN A 192.168.0.4

; Osoitamme, että www.example.com on synonyymi osoitteelle example.com
www.example.com IN CNAME example.com.

; Ilmoitamme palveluiden sijainnin SIP-puhelimen esimerkin avulla.
; _sip._udp – palvelun tyyppi;
; SRV – tietuetyyppi;
; 0 – tallennuksen prioriteetti;
; 0 – kuorma, jonka järjestelmät voivat käsitellä (ei pakollinen parametri);
; 5060 – portin numero, johon SIP-palvelin vastaanottaa pyyntöjä;
; sip.example.com – SIP-palvelimen isäntänimi.

Sip._udp.sip.example.com. SRV 0 0 5060 sip.example.com.

3. Esimerkki.com-vyöhyketaulukot "inet"-näkymää varten (ulkoisilla asiakkailla ei ole pääsyä SIP-puheluihin)

$ ttl 38400
esimerkki.fi. SOA:ssa ns.example.com. root.example.com. (
2011101101 ; Sarja
10800 ; Päivitä
3600 ; Yritä uudelleen
604800; Vanheneminen
38400 ; TTL
)

esimerkki.fi. IN NS:ssä ns.example.com.
esimerkki.fi. IN NS ns.r01.ru.
esimerkki.fi. IN MX 10 mx.example.com.

ns.example.com. 100.100.100.100
; Käytämme ulkoisia osoitteita tallentaaksemme suoraan isäntäosoitteen example.com.
esimerkki.fi. A 100.100.100.101
mx.example.com. A 100.100.100.102

www.example.com IN CNAME example.com.

4. Paikallisen aliverkon 192.168.0.0/24 käänteisvyöhykkeiden taulukko

$ ttl 38400
0.168.192.in-addr.arpa. SOA:ssa ns.example.com. root.example.com. (
2011101101 ; Sarja
10800 ; Päivitä
3600 ; Yritä uudelleen
604800; Vanheneminen
38400 ; TTL
0.168.192.in-addr.arpa. IN NS ns.example.com.
; "käänteinen" merkintä (muuntaa osoitteen nimeksi)
1.0.168.192.in-addr.arpa. PTR:ssä ns.example.com.
2.0.168.192.in-addr.arpa. PTR:ssä www.example.com
3.0.168.192.in-addr.arpa. PTR:ssä sip.example.com.
4.0.168.192.in-addr.arpa. PTR:ssä mx.example.com.

Johtopäätös
Loput vyöhyketaulukot luodaan samalla tavalla kuin esimerkissä.
Ja lopuksi haluan sanoa: "Se on helpompaa kuin miltä ensi silmäyksellä näyttää". Asetetaan BIND valmiiksi.

Luettelo käytetyistä lähteistä:
subnets.ru/blog/?p=38
dlc.sun.com/osol/docs/content/SYSADV5/dnsref-13.html
sshd.su/pages/viewpage.action?pageId=5210143
ulsu-is.narod.ru/lab08.htm