Bindin konfigurointi Ubuntu 14.04:n auktoritatiiviseksi DNS-palvelimeksi

Esittely

DNS eli verkkotunnusjärjestelmä on usein vaikea komponentti, jota on vaikea saada oikein, kun opitaan konfiguroimaan verkkosivustoja ja palvelimia. Vaikka useimmat ihmiset todennäköisesti valitsevat hosting-yrityksensä tai verkkotunnusrekisterinpitäjänsä tarjoamat DNS-palvelimet, omien DNS-palvelimien luomisessa on joitain etuja.

Tässä oppaassa käsitellään Bind9 DNS-palvelimen asentamista ja konfigurointia vain auktoritatiivisiksi DNS-palvelimiksi Ubuntu 14.04 -koneissa. Asetamme nämä kaksi Bind-palvelinta toimialueellemme ensisijainen-sekundaarinen -konfiguraatiossa.

Edellytykset ja tavoitteet

Tämän oppaan loppuunsaattamiseksi sinun on ensin tunnettava joitakin yleisiä DNS-termejä. Tutustu tähän oppaaseen tutustuaksesi käsitteisiin, jotka toteutamme tässä oppaassa.

Tarvitset myös vähintään kaksi palvelinta. Toinen on ”ensisijainen” DNS-palvelin, josta verkkotunnuksemme vyöhyketiedostot tulevat, ja toinen on ”toissijainen” palvelin, joka vastaanottaa vyöhyketiedot siirtojen kautta ja on käytettävissä siinä tapauksessa, että toinen palvelin kaatuu. Näin vältetään se vaara, että DNS-palvelimissa on yksi vikaantumispiste.

Toisin kuin välimuistitallennus- tai edelleenlähetys-DNS-palvelimet tai monikäyttöiset DNS-palvelimet, vain auktoriteettipalvelimet vastaavat vain niiden vyöhykkeiden iteratiivisiin kyselyihin, joiden osalta ne ovat auktoriteettipalvelimia. Tämä tarkoittaa sitä, että jos palvelin ei tiedä vastausta, se vain kertoo asiakkaalle (yleensä jonkinlaiselle resolving DNS-palvelimelle), että se ei tiedä vastausta, ja antaa viittauksen palvelimelle, joka saattaa tietää enemmän.

Authoritative-only DNS-palvelimet ovat usein hyvä konfiguraatio, kun halutaan saavuttaa korkea suorituskyky, koska niillä ei ole yleiskustannuksia, joita aiheutuu asiakkaiden tekemien rekursiivisten kyselyjen ratkaisemisesta. Ne välittävät vain niistä vyöhykkeistä, joita ne on suunniteltu palvelemaan.

Tässä oppaassa viitataan itse asiassa kolmeen palvelimeen. Kahteen edellä mainittuun nimipalvelimeen sekä verkkopalvelimeen, jonka haluamme määrittää vyöhykkeemme isännäksi.

Käytämme tässä oppaassa dummy-verkkotunnusta example.com. Sinun tulisi korvata se määrittelemälläsi verkkotunnuksella. Nämä ovat niiden koneiden tiedot, jotka konfiguroimme:

Tarkoitus DNS FQDN IP-osoite
Primäärinen nimipalvelin ns1.example.com. 192.0.2.1
Sekundaarinen nimipalvelin ns2.example.com. 192.0.2.2
Web Server www.example.com. 192.0.2.3

Tämän ohjeen suorittamisen jälkeen sinulla pitäisi olla määritettynä kaksi auktoritatiivista nimipalvelinta verkkotunnusalueille. Yllä olevan taulukon keskimmäisessä sarakkeessa olevien nimien avulla voit tavoittaa eri isäntäsi. Tämän kokoonpanon avulla rekursiivinen DNS-palvelin pystyy palauttamaan toimialuetta koskevia tietoja asiakkaille.

Host-nimen asettaminen nimipalvelimille

Ennen kuin siirrymme nimipalvelimien konfigurointiin, meidän on varmistettava, että host-nimemme on konfiguroitu oikein sekä ensisijaisessa että toissijaisessa DNS-palvelimessamme.

Aloita tutkimalla /etc/hosts-tiedostoa. Avaa tiedosto sudo-oikeuksin tekstieditorilla:

sudo nano /etc/hosts

Meidän on määritettävä tämä niin, että se tunnistaa oikein kummankin palvelimen isäntänimen ja FQDN:n. Ensisijaisen nimipalvelimen osalta tiedosto näyttää aluksi jotakuinkin tältä:

127.0.0.1 localhost127.0.1.1 ns1 ns1. . .

Meidän on muutettava toista riviä niin, että se viittaa tiettyyn isäntä- ja verkkotunnusyhdistelmäämme ja osoittaa tämän julkiseen, staattiseen IP-osoitteeseemme. Voimme sitten lisätä määrittelemättömän nimen aliakseksi loppuun. Tämän esimerkin ensisijaisen palvelimen osalta muutetaan toinen rivi seuraavasti:

127.0.0.1 localhost192.0.2.1 ns1.example.com ns1. . .

Tallenna ja sulje tiedosto, kun olet valmis.

Meidän tulisi myös muuttaa /etc/hostname-tiedosto sisältämään määrittelemättömän isäntänimemme:

sudo nano /etc/hostname
ns1

Voitamme lukea tämän arvon tällä hetkellä käynnissä olevaan järjestelmään kirjoittamalla sen jälkeen:

sudo hostname -F /etc/hostname

Tahdomme suorittaa saman toimenpiteen toissijaisella palvelimella.

Aloitetaan tiedostosta /etc/hosts:

sudo nano /etc/hosts
127.0.0.1 localhost192.0.2.2 ns2.example.com ns2

Tallenna ja sulje tiedosto, kun olet valmis.

Muutetaan sitten tiedostoa /etc/hostname. Muista käyttää vain todellista isäntää (esimerkissämme vain ns2) tässä tiedostossa:

sudo nano /etc/hostname
ns2

Lue taas tiedosto muuttaaksesi nykyistä järjestelmää:

sudo hostname -F /etc/hostname

Palvelimillesi pitäisi nyt olla isäntämääritykset asetettu oikein.

Asenna Bind molemmille nimipalvelimille

Kummallekin nimipalvelimellesi voit nyt asentaa Bindin, DNS-palvelimen, jota tulemme käyttämään.

Bind-ohjelmisto on saatavilla Ubuntun oletusvarastoista, joten meidän tarvitsee vain päivittää paikallinen pakettihakemistomme ja asentaa ohjelmisto käyttämällä apt. Otamme mukaan myös dokumentaation ja joitakin yleisiä apuohjelmia:

sudo apt-get updatesudo apt-get install bind9 bind9utils bind9-doc

Ajoita tämä asennuskomento ensisijaisella ja toissijaisella DNS-palvelimellasi hankkiaksesi tarvittavat tiedostot.

Ensisijaisen Bind-palvelimen konfigurointi

Nyt kun ohjelmisto on asennettu, voimme aloittaa konfiguroimalla DNS-palvelimen ensisijaisella palvelimella.

Valintatiedoston konfigurointi

Ensimmäinen asia, jonka konfiguroimme aloittaaksemme, on named.conf.options-tiedosto.

Bind DNS-palvelin tunnetaan myös nimellä named. Pääasetustiedosto sijaitsee osoitteessa /etc/bind/named.conf. Tämä tiedosto kutsuu muita tiedostoja, joita tulemme varsinaisesti konfiguroimaan.

Avaa asetustiedosto sudo-oikeuksin editorissa:

sudo nano /etc/bind/named.conf.options

Alhaalla suurin osa kommentoiduista riveistä on poistettu lyhyyden vuoksi, mutta yleisesti ottaen tiedoston pitäisi näyttää asennuksen jälkeen tältä:

options { directory "/var/cache/bind"; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };};

Pääasiallinen asia, joka meidän täytyy konfiguroida tässä tiedostossa, on rekursio. Koska yritämme perustaa vain auktoriteettipalvelimen, emme halua ottaa rekursiota käyttöön tällä palvelimella. Voimme kytkeä tämän pois päältä options-lohkossa.

Hyväksymme myös oletusarvoisesti, että emme salli siirtoja. Ohitamme tämän myöhemmin yksittäisten vyöhykkeiden määrittelyissä:

options { directory "/var/cache/bind"; recursion no; allow-transfer { none; }; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };};

Kun olet valmis, tallenna ja sulje tiedosto.

Lähitiedoston konfigurointi

Seuraavana askeleena meidän on määriteltävä vyöhykkeet, joita haluamme hallita tällä palvelimella. Vyöhyke on mikä tahansa verkkotunnuksen osa, jonka hallinta on delegoitu nimipalvelimelle, jota ei ole edelleen delegoitu muille palvelimille.

Konfiguroimme example.com-verkkotunnuksen, emmekä aio edelleen delegoida vastuuta mistään verkkotunnuksen osasta muille palvelimille. Vyöhyke kattaa siis koko verkkotunnuksemme.

Konfiguroidaksemme vyöhykkeemme meidän on avattava tiedosto /etc/bind/named.conf.local sudo-oikeuksilla:

sudo nano /etc/bind/named.conf.local

Tämä tiedosto on aluksi tyhjä kommentteja lukuun ottamatta. On muitakin vyöhykkeitä, jotka palvelimemme tietää yleishallintaa varten, mutta ne määritetään named.conf.default-zones-tiedostossa.

Aluksi meidän on määritettävä example.com-verkkotunnuksemme forward-vyöhyke. Forward-vyöhyke on perinteinen nimen ja IP-osoitteen välinen resoluutio, jota useimmat meistä ajattelevat, kun puhumme DNS:stä. Luomme konfigurointilohkon, joka määrittelee toimialueen vyöhykkeen, jonka haluamme konfiguroida:

zone "example.com" {};

Huomaa: Monet DNS-työkalut, niiden konfigurointitiedostot ja dokumentaatio käyttävät termejä ”master” ja ”slave”, kun taas DigitalOcean suosii yleensä vaihtoehtoisia kuvaajia. Sekaannusten välttämiseksi olemme päättäneet käyttää termejä ”primary” ja ”secondary” kuvaamaan palvelinten välisiä suhteita ja käyttää ”master” tai ”slave” -termiä vain silloin, kun jokin konfiguraatiodirektiivi sitä vaatii.

Tässä lohkossa lisätään vyöhykkeen hallintatiedot. Määritämme tämän DNS-palvelimen suhteen vyöhykkeeseen. Tämä on type master; seuraavassa esimerkkivyöhykkeessä, koska määrittelemme tämän koneen kaikkien vyöhykkeidemme ensisijaiseksi nimipalvelimeksi. Osoitamme Bindille myös tiedoston, joka sisältää vyöhykkeen määrittelevät varsinaiset resurssitietueet.

Pidämme ensisijaiset vyöhyketiedostomme Bindin määrityshakemiston alihakemistossa zones. Kutsumme tiedostoamme db.example.com lainataksemme konventiota Bind-hakemiston muista vyöhyketiedostoista. Lohkomme näyttää nyt tältä:

zone "example.com" { type master; file "/etc/bind/zones/db.example.com";};

Haluamme sallia tämän vyöhykkeen siirtämisen toissijaiselle palvelimellemme, meidän on lisättävä tällainen rivi:

zone "example.com" { type master; file "/etc/bind/zones/db.example.com"; allow-transfer { 192.0.2.2; };};

Seuraavaksi määrittelemme verkkotunnuksemme käänteisvyöhykkeen.

Hieman käänteisvyöhykkeistä

Jos organisaatio, joka antoi sinulle IP-osoitteesi, ei antanut sinulle verkkoaluetta ja delegoinut vastuuta tästä alueesta sinulle, käänteisvyöhyketiedostoosi ei viitata, vaan se on organisaation itsensä hoitama.

Hosting-palveluntarjoajilla käänteisvyöhyketiedostosta huolehtii yleensä yritys itse. Esimerkiksi DigitalOceanilla käänteiskartoitukset palvelimillesi luodaan automaattisesti, jos käytät koneen FQDN:ää palvelimen nimenä ohjauspaneelissa. Esimerkiksi tämän opetusohjelman käänteiskartoitukset voitaisiin luoda nimeämällä palvelimet näin:

Tällaisissa tapauksissa kannattaa käyttää tätä strategiaa, koska sinulle ei ole varattu kappaletta osoitteita hallinnoitavaksi. Jäljempänä kuvattu strategia on käsitelty täydellisyyden vuoksi ja siksi, että sitä voidaan soveltaa, jos sinulle on delegoitu isompien vierekkäisten osoiteryhmien hallinta.

Käänteisiä vyöhykkeitä käytetään yhdistämään IP-osoite takaisin verkkotunnukseen. Verkkotunnusjärjestelmä suunniteltiin kuitenkin alun perin eteenpäin suuntautuvia yhdistämisiä varten, joten sen mukauttaminen käänteisten yhdistämisten mahdollistamiseksi vaatii jonkin verran pohdintaa.

Tietokappaleet, jotka sinun on pidettävä mielessäsi ymmärtäessäsi käänteisiä yhdistämisiä, ovat seuraavat:

  • Vasemmalla on verkkotunnuksessa osoitteen tarkin osa. IP-osoitteessa tarkin osa on oikealla.
  • Toimialueen määrittelyn tarkin osa on joko aliverkkotunnus tai isäntänimi. Tämä määritellään verkkotunnuksen vyöhyketiedostossa.
  • Jokainen aliverkkotunnus voi puolestaan määritellä lisää aliverkkotunnuksia tai isäntänimiä.

Kaikki käänteiset vyöhykekuvioinnit määritellään erityisessä verkkotunnuksessa in-addr.arpa, jota valvoo Internet Assigned Numbers Authority (IANA). Tämän verkkotunnuksen alla on puu, joka käyttää aliverkkotunnuksia IP-osoitteen jokaisen oktetin kartoittamiseen. Sen varmistamiseksi, että IP-osoitteiden tarkkuus vastaa tavallisten verkkotunnusten tarkkuutta, IP-osoitteiden oktetit käännetään päinvastaisiksi.

Siten ensisijainen DNS-palvelimemme, jonka IP-osoite on 192.0.2.1, olisi käännetty muotoon 1.2.0.192. Kun lisäämme tämän isäntämäärittelyn hierarkiana, joka on olemassa in-addr.arpa-verkkotunnuksen alla, tiettyyn isäntään voidaan viitata muodossa 1.2.0.192.in-addr.arpa.

Koska määrittelemme yksittäiset isännät (kuten johtava ”1” tässä) itse vyöhyketiedostossa DNS:ää käytettäessä, konfiguroimamme vyöhyke olisi 2.0.192.in-addr.arpa. Jos verkkopalveluntarjoajamme on antanut meille /24-osoitelohkon, esimerkiksi 192.0.2.0/24, hän on delegoinut tämän in-addr.arpa-osion meille.

Nyt kun tiedät, miten käänteisen vyöhykkeen nimi määritetään, varsinainen määritelmä on täsmälleen sama kuin eteenpäin suuntautuvan vyöhykkeen. Tee example.com-vyöhykemäärittelyn alle käänteinen vyöhyke sinulle annetulle verkolle. Tämäkin on luultavasti tarpeellista vain, jos sinulle on delegoitu osoitelohkon hallinta:

zone "2.0.192.in-addr.arpa" { type master; file "/etc/bind/zones/db.192.0.2";};

Olemme päättäneet nimetä tiedoston db.192.0.2. Tämä kertoo tarkemmin, mitä vyöhyke määrittää, ja se on luettavampi kuin käänteinen merkintä.

Tallenna ja sulje tiedosto, kun olet valmis.

Luo eteenpäin suuntautuvan vyöhyketiedoston

Olemme nyt kertoneet Bindille eteenpäin- ja taaksepäin suuntautuvista vyöhykkeistämme, mutta emme ole vielä luoneet tiedostoja, jotka määrittelevät nämä vyöhykkeet.

Jos muistat, määrittelimme tiedostojen sijaintipaikaksi alahakemiston nimeltä zones. Meidän on luotava tämä hakemisto:

sudo mkdir /etc/bind/zones

Nyt voimme käyttää joitakin Bind-hakemistossa jo olemassa olevia vyöhyketiedostoja malleina vyöhyketiedostoille, jotka haluamme luoda. Forward-vyöhykkeen osalta db.local-tiedosto on lähellä sitä, mitä tarvitsemme. Kopioi tämä tiedosto alihakemistoon zones tiedostossa named.conf.local käytetyllä nimellä.

sudo cp /etc/bind/db.local /etc/bind/zones/db.example.com

Kun teemme tämän, voimme kopioida mallin myös käänteisvyöhykettä varten. Käytämme db.127-tiedostoa, koska se vastaa hyvin sitä, mitä tarvitsemme:

sudo cp /etc/bind/db.127 /etc/bind/zones/db.192.0.2

Avaa nyt eteenpäin-vyöhyketiedosto sudo-oikeuksin tekstieditorilla:

sudo nano /etc/bind/zones/db.example.com

Tiedosto näyttää tältä:

$TTL 604800@ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;@ IN NS localhost.@ IN A 127.0.0.1@ IN AAAA ::1

Ensimmäinen asia, jonka haluamme tehdä, on muuttaa SOA-tietuetta (auktoriteetin alku), joka alkaa ensimmäisestä @-symbolista ja jatkuu aina sulkeutuvaan sulkeutuvaan sulkusulkuun asti.

Meidän on korvattava localhost. tämän koneen FQDN-nimellä. Tätä tietueen osaa käytetään määrittelemään mikä tahansa nimipalvelin, joka vastaa auktoritatiivisesti määriteltävälle vyöhykkeelle. Tämä on nyt konfiguroimamme kone, meidän tapauksessamme ns1.example.com. (huomaa perässä oleva piste. Tämä on tärkeää, jotta merkintämme rekisteröityy oikein!).

Haluamme myös muuttaa seuraavan osan, joka on itse asiassa erityisesti muotoiltu sähköpostiosoite, jossa @ on korvattu pisteellä. Haluamme, että sähköpostimme menevät verkkotunnuksen ylläpitäjälle, joten perinteinen sähköpostiosoite on [email protected]. Käännämme tämän niin, että se näyttää seuraavalta: admin.example.com.:

@ IN SOA ns1.example.com. admin.example.com. (

Seuraava muokattava osa on sarjanumero. Sarjanumeron arvosta Bind kertoo, pitääkö sen lähettää päivitetyt tiedot toissijaiselle palvelimelle.

Huomautus: Sarjanumeron lisäämisen laiminlyönti on yksi yleisimmistä virheistä, joka johtaa ongelmiin vyöhykepäivitysten kanssa. Joka kerta, kun teet muokkauksen, sinun on korotettava sarjanumeroa.

Yksi yleiseksi käytännöksi on yleissopimus numeron korottamiseen. Yksi lähestymistapa on käyttää päivämäärää VVVVVKKPP-muodossa sekä loppuun lisättyä päiväkohtaista versionumeroa. Näin ollen 05. kesäkuuta 2014 tehdyn ensimmäisen tarkistuksen sarjanumero voisi olla 2014060501 ja myöhemmin samana päivänä tehdyn päivityksen sarjanumero voisi olla 2014060502. Arvo voi olla 10-numeroinen luku.

Käytön helpottamiseksi kannattaa ottaa käyttöön jokin konventio, mutta jotta asiat pysyvät yksinkertaisina esittelyssä, asetamme toistaiseksi omamme arvoksi 5:

@ IN SOA ns1.example.com. admin.example.com. ( 5 ; Serial

Seuraavaksi voimme päästä eroon tiedoston kolmesta viimeisestä rivistä (alareunassa olevista riveistä, jotka alkavat kirjaimella @), koska teemme oman.

Ensimmäinen asia, jonka haluamme luoda SOA-rekisterin jälkeen, ovat vyöhykkeemme nimipalvelimet. Määritämme verkkotunnuksen ja sen jälkeen kaksi nimipalvelintamme, jotka ovat vyöhykkeen arvovaltaisia, nimeltä. Koska nämä nimipalvelimet ovat itse verkkotunnuksen sisällä olevia isäntiä, se näyttää hieman itseviittaukselliselta.

Oppaassamme se näyttää tältä. Jälleen kerran, kiinnitä huomiota loppupisteisiin!:

; Name serversexample.com. IN NS ns1.example.com.example.com. IN NS ns2.example.com.

Koska vyöhyketiedoston tarkoitus on pääasiassa kartoittaa isäntänimiä ja palveluita tiettyihin osoitteisiin, emme ole vielä valmiita. Kaikki tätä vyöhyketiedostoa lukevat ohjelmistot haluavat tietää, missä ns1– ja ns2-palvelimet ovat, jotta ne voivat käyttää arvovaltaisia vyöhykkeitä.

Seuraavaksi meidän on luotava A-tietueet, jotka yhdistävät nämä nimipalvelimien nimet nimipalvelimien todellisiin IP-osoitteisiin:

; A records for name serversns1 IN A 192.0.2.1ns2 IN A 192.0.2.2

Nyt kun meillä on A-tietueet, joilla nimipalvelimet on onnistuneesti selvitetty oikeisiin IP-osoitteisiinsa, voimme lisätä mahdolliset lisätietueet. Muista, että meillä on web-palvelin yhdellä isännistämme, jota haluamme käyttää sivustomme palvelemiseen. Osoitamme yleisen verkkotunnuksen (example.com meidän tapauksessamme) pyynnöt tälle isännälle, samoin kuin www-isännän pyynnöt. Se näyttää tältä:

; Other A records@ IN A 192.0.2.3www IN A 192.0.2.3

Voit lisätä muita määriteltäviä isäntiä luomalla lisää A-tietueita. Tutustu DNS:n perusteet -oppaaseemme tutustuaksesi joihinkin mahdollisuuksiisi lisätietueiden luomisessa.

Kun olet valmis, tiedostosi pitäisi näyttää jotakuinkin tältä:

$TTL 604800@ IN SOA ns1.example.com. admin.example.com. ( 5 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;; Name serversexample.com. IN NS ns1.example.com.example.com. IN NS ns2.example.com.; A records for name serversns1 IN A 192.0.2.1ns2 IN A 192.0.2.2; Other A records@ IN A 192.0.2.3www IN A 192.0.2.3

Tallenna ja sulje tiedosto, kun olet valmis.

Käänteisen vyöhyketiedoston luominen Käänteisen vyöhyketiedoston luominen

Nyt meillä on eteenpäin suuntautuva vyöhyke konfiguroituna, mutta meidän täytyy määrittää käänteinen vyöhyketiedosto, jonka määrittelimme konfiguraatiotiedostoon. Loimme tiedoston jo edellisen kappaleen alussa.

Avaa tiedosto tekstieditorissa sudo-oikeuksin:

sudo nano db.192.0.2

Tiedoston pitäisi näyttää tältä:

$TTL 604800@ IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;@ IN NS localhost.1.0.0 IN PTR localhost.

Kävimme läpi pitkälti saman toimenpiteen kuin menosuuntaisen vyöhykkeen kanssa. Säädä ensin verkkotunnus, ylläpitäjän sähköpostiosoite ja sarjanumero täsmälleen samoiksi kuin mitä edellisessä tiedostossa oli (sarjanumero voi olla erilainen, mutta sitä on lisättävä):

@ IN SOA example.com. admin.example.com. ( 5 ; Serial

Pyyhi myös SOA-tietueen sulkeutuvien sulkujen alla olevat rivit pois. Otamme verkkoalueemme jokaisen IP-osoitteen viimeisen oktetin ja yhdistämme sen takaisin kyseisen isännän FQDN:ään PTR-tietueen avulla. Jokaisella IP-osoitteella pitäisi olla vain yksi PTR-tietue ongelmien välttämiseksi joissakin ohjelmistoissa, joten sinun on valittava isäntänimi, johon haluat käänteiskartoituksen.

Jos sinulla on esimerkiksi sähköpostipalvelin, haluat luultavasti määrittää käänteiskartoituksen sähköpostin nimeen, koska monet järjestelmät käyttävät käänteiskartoitusta osoitteiden tarkistamiseen.

Ensin meidän on asetettava nimipalvelimet uudelleen:

; Name servers IN NS ns1.example.com. IN NS ns2.example.com.

Seuraavaksi käytät sen IP-osoitteen viimeistä oktettia, johon viittaat, ja osoitat sen takaisin täysin määritettyyn verkkotunnukseen, jolla haluat palata. Esimerkissämme käytämme tätä:

; PTR Records1 IN PTR ns1.example.com.2 IN PTR ns2.example.com.3 IN PTR www.example.com.

Kun olet valmis, tiedoston pitäisi näyttää suunnilleen tältä:

$TTL 604800@ IN SOA example.com. admin.example.com. ( 5 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;; Name servers IN NS ns1.example.com. IN NS ns2.example.com.; PTR records1 IN PTR ns1.example.com.2 IN PTR ns2.example.com.3 IN PTR www.example.com.

Tallenna ja sulje tiedosto, kun olet valmis.

Tiedostojen testaaminen ja palvelun uudelleenkäynnistäminen

Ensisijaisen palvelimen konfigurointi on nyt valmis, mutta meidän on vielä pantava muutoksemme täytäntöön.

Voit testata kaikki konfigurointitiedostot ennen palvelun uudelleenkäynnistämistä varmistaaksemme, että ne on määritetty oikein. Käytössämme on joitakin työkaluja, joilla voimme tarkistaa jokaisen tiedostomme syntaksin.

Ensin voimme tarkistaa named.conf.local– ja named.conf.options-tiedostot komennolla named-checkconf. Koska nämä molemmat tiedostot ovat lähteenä luurankotiedostosta named.conf, se testaa muuttamiemme tiedostojen syntaksin.

sudo named-checkconf

Jos tämä palaa ilman viestejä, se tarkoittaa, että named.conf.local– ja named.conf.options-tiedostot ovat syntaktisesti kelvollisia.

Seuraavaksi voit tarkastaa yksittäiset vyöhyketiedostosi välittämällä vyöhykkeen käsittelemän verkkotunnuksen (domain) ja vyöhyketiedostojen sijainnin komennolle named-checkzone. Oppaamme tapauksessa voit siis tarkistaa forward-vyöhyketiedoston kirjoittamalla:

sudo named-checkzone example.com /etc/bind/zones/db.example.com

Jos tiedostossasi ei ole ongelmia, sen pitäisi kertoa, että se on ladannut oikean sarjanumeron, ja antaa ”OK”-viesti;

zone example.com/IN: loaded serial 5OK

Jos törmäät mihinkään muuhun viestiin, se tarkoittaa, että vyöhyketiedostossasi on ongelma. Yleensä viesti on melko kuvaava siitä, mikä osa on virheellinen.

Voit tarkistaa käänteisen vyöhykkeen välittämällä in-addr.arpa-osoitteen ja tiedoston nimen. Demonstraatiossamme kirjoittaisimme näin:

sudo named-checkzone 2.0.192.in-addr.arpa /etc/bind/zones/db.192.0.2

Tämän pitäisi antaa samanlainen viesti oikean sarjanumeron lataamisesta:

zone 2.0.192.in-addr.arpa/IN: loaded serial 5OK

Jos kaikki tiedostosi kirjautuvat ulos, voit käynnistää Bind-palvelun uudelleen:

sudo service bind9 restart

Tarkista lokit näppäilemällä:

sudo tail -f /var/log/syslog

Katsele tätä lokia varmistaaksesi, ettei virheitä ole.

Toissijaisen sidontapalvelimen konfigurointi

Nyt kun ensisijainen palvelin on konfiguroitu, voimme siirtyä toissijaisen palvelimen määrittämiseen. Tämä on huomattavasti helpompaa kuin ensisijainen palvelin.

Configuring the Options File

Aloitamme jälleen named.conf.options-tiedostosta. Avaa se sudo-oikeuksin tekstieditorilla:

sudo nano /etc/bind/named.conf.options

Tehdään tähän tiedostoon täsmälleen samat muutokset kuin ensisijaisen palvelimen tiedostoon.

options { directory "/var/cache/bind"; recursion no; allow-transfer { none; }; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };};

Tallenna ja sulje tiedosto, kun olet valmis.

Lokaalin konfigurointitiedoston konfigurointi

Seuraavaksi konfiguroidaan toissijaisella palvelimella oleva named.conf.local-tiedosto. Avaa se sudo-oikeuksin tekstieditorilla:

sudo nano /etc/bind/named.conf.local

Tässä luomme jokaisen vyöhykemäärittelyn kuten ensisijaisella palvelimellamme. Arvot ja jotkin parametrit ovat kuitenkin erilaisia.

Käsittelemme ensin forward-vyöhykettä. Aloita se samalla tavalla kuin primääritiedostossa:

zone "example.com" {};

Tällä kertaa asetamme type:n arvoksi slave, koska tämä palvelin toimii tämän vyöhykkeen toissijaisena palvelimena. Tämä tarkoittaa yksinkertaisesti sitä, että se saa vyöhyketiedostot siirron kautta eikä paikallisessa järjestelmässä olevasta tiedostosta. Lisäksi annamme vain suhteellisen tiedostonimen vyöhyketiedoston absoluuttisen polun sijasta.

Syy tähän on se, että toissijaisten vyöhykkeiden osalta Bind tallentaa tiedostot /var/cache/bind. Bind on jo konfiguroitu etsimään tästä hakemistosijainnista, joten meidän ei tarvitse määrittää polkua.

Edelleenlähetysvyöhykkeellemme nämä tiedot näyttävät tältä:

zone "example.com" { type slave; file "db.example.com";};

Viimeiseksi määrittelemme allow-transfer-direktiivin sijasta ensisijaiset palvelimet IP-osoitteittain, joista tämä palvelin ottaa vastaan vyöhykesiirtoja. Tämä tehdään direktiivissä nimeltä masters:

zone "example.com" { type slave; file "db.example.com"; masters { 192.0.2.1; };};

Tämä viimeistelee vyöhykemäärittelymme. Voimme käyttää täsmälleen samaa muotoa huolehtiaksemme käänteisestä vyöhykemäärittelystä:

zone "2.0.192.in-addr.arpa" { type slave; file "db.192.0.2"; masters { 192.0.2.1; };};

Kun olet valmis, voit tallentaa ja sulkea tiedoston.

Tiedostojen testaaminen ja palvelun uudelleenkäynnistäminen

Meidän ei oikeastaan tarvitse tehdä mitään varsinaista vyöhyketiedostojen luontia toissijaisella koneella, koska, kuten aiemmin mainitsimme, tämä palvelin vastaanottaa vyöhyketiedostot ensisijaisesta palvelimesta. Olemme siis valmiita testaamaan.

Tarkistetaan vielä konfiguraatiotiedoston syntaksi. Koska meillä ei ole tarkistettavia vyöhyketiedostoja, meidän tarvitsee käyttää vain named-checkconf-työkalua:

sudo named-checkconf

Jos tämä palauttaa ilman virheitä, se tarkoittaa, että muokkaamissasi tiedostoissa ei ole syntaksivirheitä.

Jos näin on, voit käynnistää Bind-palvelun uudelleen:

sudo service bind9 restart

Tarkista sekä ensisijaisen että toissijaisen palvelimen lokit käyttämällä:

sudo tail -f /var/log/syslog

Tässä pitäisi näkyä merkintöjä, jotka viittaavat siihen, että vyöhyketiedostot on siirretty oikein.

Auktoriteetin siirtäminen nimipalvelimillesi

Valtuuspalvelimesi, jotka ovat vain auktoriteettipalvelimia (authoritative-only-nimipalvelimet), pitäisi nyt olla täysin määritetty. Sinun on kuitenkin vielä delegoitava verkkotunnuksesi valtuudet nimipalvelimille.

Tehdäksesi tämän sinun on mentävä verkkosivustolle, josta ostit verkkotunnuksesi. Käyttöliittymä ja ehkä terminologia on erilainen riippuen käyttämästäsi verkkotunnusrekisterinpitäjästä.

Etsi verkkotunnuksesi asetuksista vaihtoehto, jonka avulla voit määrittää haluamasi nimipalvelimet. Koska nimipalvelimemme ovat verkkotunnuksemme sisällä, tämä on erikoistapaus.

Sen sijaan, että rekisterinpitäjä yksinkertaisesti delegoi vyöhykkeen valtuudet NS-tietueiden avulla, sen on luotava glue-tietue. Glue-tietue on A-tietue, joka määrittää nimipalvelimien IP-osoitteet sen jälkeen, kun se on määritellyt nimipalvelimet, joille se delegoi valtuuksia.

Tavanomaista on, että delegoinnissa luetellaan vain ne nimipalvelimet, jotka käsittelevät verkkotunnuksen valtuuksia, mutta kun nimipalvelimet ovat itse verkkotunnuksen sisällä, tarvitaan A-tietue vanhemman vyöhykkeen nimipalvelimia varten. Jos näin ei tapahtuisi, DNS-resolverit juuttuisivat silmukkaan, koska ne eivät koskaan löytäisi verkkotunnuksen nimipalvelimien IP-osoitteita, jotta ne voisivat seurata delegoinnin polkua.

Siitä varten sinun on löydettävä verkkotunnusrekisteröijän ohjauspaneelista osio, jossa voit määrittää nimipalvelimet ja niiden IP-osoitteet.

Esimerkkinä voidaan mainita, että rekisterinpitäjällä Namecheap:lla on käytössäsä kaksi erilaista nimipalvelinosiota.

Täällä on osio nimeltä ”Nameserver Registration”, jonka avulla voit määrittää verkkotunnuksen nimipalvelimien IP-osoitteet:

Sisään voit syöttää verkkotunnuksessa olevien nimipalvelimien IP-osoitteet:

Tällöin luodaan A-rekisteröintitietueet, jotka toimivat ylimmässä vyöhyketiedostossa tarvitsemiesi liimapistetietueina.

Kun olet tehnyt tämän, sinun pitäisi pystyä vaihtamaan aktiiviset nimipalvelimet verkkotunnuksesi palvelimiin. NameCheapissa tämä tehdään käyttämällä ”Domain Name Server Setup” -valikkovaihtoehtoa:

Tässä voit käskeä sitä käyttämään lisäämiäsi nimipalvelimia sivustosi auktoriteettipalvelimina:

Muutosten eteneminen saattaa kestää jonkin aikaa, mutta sinun pitäisi nähdä nimipalvelimesi tiedot käytettävän seuraavien 24-48 tunnin aikana useimmilla rekisterinpitäjillä.

Johtopäätös

Sinulla pitäisi nyt olla kaksi vain auktoritatiivista DNS-palvelinta määritettynä palvelemaan verkkotunnuksiasi. Niitä voidaan käyttää vyöhyketietojen tallentamiseen lisää verkkotunnuksia hankkiessasi lisää.

Oman DNS-palvelimesi konfigurointi ja hallinta antaa sinulle suurimman kontrollin siihen, miten DNS-tietueita käsitellään. Voit tehdä muutoksia ja olla varma siitä, että kaikki olennaiset DNS-tiedot ovat ajan tasalla lähteessä. Vaikka muut DNS-ratkaisut saattavat helpottaa tätä prosessia, on tärkeää tietää, että sinulla on vaihtoehtoja, ja ymmärtää, mitä paketoidummissa ratkaisuissa tapahtuu.

Vastaa

Sähköpostiosoitettasi ei julkaista.