KORVIT Corporation

Linux DNS -palvelin

25.01.2012 - Debian Linux 6

Tagit: how to setup linux dns server using bind named, bind secondaries, secondary name server

BIND9 DNS-palvelin asennetaan komennolla apt-get install bind9 .

Ensisijainen palvelin (master)

Tehdään palvelimesta autoritäärinen uudelle verkkotunnukselle. Tämä palvelin on verkkotunnuksen master (ensisijainen nimipalvelin).

Zone-tiedostot sijaitsevat /var/cache/bind -kansiossa, jonne BINDillä on kirjoitusoikeudet.

Zonet lisätään /etc/bind/named.conf.local -tiedostoon. Esimerkkimäärittely löytyy named.conf.default-zones -tiedostosta ja tarkka asetuslistaus ohjeesta komennolla man named.conf ZONE-kappaleesta. Tässä yksinkertainen zonen määrittely (kts. kuva 1):

zone "verkkotunnus.fi" {
    type master;
    file "/var/cache/bind/verkkotunnus.fimaster";
    allow-transfer { 10.0.0.153; };
};

Nyt BIND on määritelty palvelemaan verkkotunnusta. Itse palvelutieto kirjoitetaan äskeiseen file-kohdassa määriteltyyn tiedostoon. Allow-transferin aaltosulkeiden sisälle laitetaan toissijaisten nimipalvelimien IP-osoitteet puolipisteellä eroteltuina.

Luodaan verkkotunnuksen zone-tiedosto valmiista pohjasta komennolla cp /etc/bind/db.empty /var/cache/bind/verkkotunnus.fimaster . Avataan kopioitu tiedosto editoriin ja muokataan sitä. SOA:a seuraava kohta on ensisijaisen nimipalvelimen osoite (tämän palvelimen). Osoitteiden perässä on piste, joka kertoo, että osoite loppuu siihen, eikä nimipalvelimen osoite ole esimerkiksi ns1.verkkotunnus.fi.verkkotunnus.fi. @-merkillä aloitetaan nimipalvelimet: esimerkin localhost korvataan nimipalvelimen osoitteella. Tehdään niin monta tällaista riviä kuin nimipalvelimia on.

Itse osoitteet lisätään muodossa alidomainnimi IN A 172.16.243.10 (A-tietue, alidomainnimi.verkkotunnus.fi osoittaa IP-osoitteeseen 172.16.243.10) tai alidomainnimi IN CNAME korv.fi. (CNAME-tietue, alidomainnimi.verkkotunnus.fi osoittaa verkkotunnukseen korv.fi - huomaa piste ulkopuolisen verkkotunnuksen lopussa, jos halutaan osoittaa toiseen tässä verkkotunnuksessa olevaan nimeen, kirjoitetaan vain esim. ns1) (kts. kuva 1). Nimipalvelimen osoitteet täytyy myös määritellä muiden joukossa. Juuritietueen tulee olla A-tietue (verkkotunnus.fi). Katso kuva 2.

Named.conf.local ja "verkkotunnus.fimaster" -tiedostojen muokkauksen jälkeen suoritetaan komento /etc/init.d/bind9 reload . Kun "verkkotunnus.fimaster" -tiedostoa muokataan, täytyy Serial-arvoa kasvattaa, jotta muutokset päivittyvät toissijaisissa palvelimissa (slave). Zone-tiedoston oikeellisuuden voi tarkistaa komennolla named-checkzone verkkotunnus.fi /var/cache/bind/verkkotunnus.fimaster . Seuraava testi on laittaa jokin tietokone, esimerkiksi tämä palvelin, käyttämään tätä palvelinta nimipalvelimena ja koittaa pingata verkkotunnus.fi:tä.

Toissijainen palvelin (slave)

Verkkotunnuksella on hyvä olla useampi kuin yksi DNS-palvelin, ja esimerkiksi Viestintävirasto vaatii vähintään kahta nimipalvelinta .fi-verkkotunnukselle. Muokataan toisella palvelimella /etc/bind/named.conf.local -tiedostoa. Lisätään hieman erilainen verkkotunnuksen määritelmä:

zone "verkkotunnus.fi" {
    type slave;
    file "/var/cache/bind/verkkotunnus.fislave";
    masters { 10.0.0.150; };
};

Korvaa masters-kohdan IP-osoite DNS-palvelun pääkoneen IP-osoitteella. IP-osoite voi olla sisäinen tai ulkoinen - sisäinen ei varmasti olisi pahitteeksi. Tässä ohjeessa kaikki osoitteet ovat sisäisiä, asian laita ei toki ole näin tuotantopalvelimella. Zone-tiedostoa ei tarvitse erikseen tehdä, vaan se luodaan automaattisesti.

Ladataan verkkotunnuksen tiedot kommennolla /etc/init.d/bind9 reload . Siirron onnistumista voi kokeilla lukemalla DNS-tiedoston komennolla cat /var/cache/bind/verkkotunnus.fislave .

kuva1kuva1kuva2kuva2
Kuva 1Kuva 2

DNS-palvelimet ovat nyt toiminnassa, mutta BIND kertoo palvelinohjelmiston versionumeron sitä kysyttäessä, mikä on tietoturvariski. Versionumerokyselyn vastausta voidaan muuttaa /etc/bind/named.conf.options -tiedostosta lisäämällä tiedoston loppuun, kuitenkin aaltosulkujen sisään, määritys version "vastaus kyselyyn";. Tallennuksen jälkeen käynnistetään BIND uudelleen komennolla sudo /etc/init.d/bind9 restart .

.fi-verkkotunnuksen nimipalvelimien toimintaa voi testata kattavasti osoitteessa www.dnstest.fi .