Mainos / Advertisement:

Ero sivun ”Bind9” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(28 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Bind9 on yleisin linuxissa nimipalvelinohjelmisto. Sen asennus ja konfigurointi on helppoa ja siitä voi tehdä varanimipalvelimen windows-palvelimen rinnalle.
+
<languages/>
Esimerkissämme käytämme verkkoa 192.168.0.0/24 ja linuxpalvelimen nimi on LNXSRV ja ip on verkon ensimmäinen osoite.
+
<translate>
 +
<!--T:1-->
 +
Bind9 on yleisin Linuxissa käytetty nimipalvelinohjelmisto. Sen asennus ja konfigurointi on helppoa ja siitä voi tehdä varanimipalvelimen Windows palvelimen rinnalle.
 +
Esimerkissämme käytämme verkkoa 192.168.0.0/24 ja Linux palvelimen nimi on LNXSRV ja IP on verkon ensimmäinen osoite.
  
== Asennus ==
+
== Asennus == <!--T:2-->
  
aptitude install bind9
+
<!--T:3-->
 +
Asennetaan bind9. Tämä paketti löytyy sekä verkosta, että Debianin asennuslevyltä DVD1.
  
== Konfigurointi ==
+
<!--T:4-->
 +
[[aptitude]] install bind9
  
=== Verkko ===
+
== Konfigurointi == <!--T:5-->
  
 +
=== Verkko === <!--T:6-->
 +
 +
<!--T:7-->
 
Määritä nimipalvelimeen staattiset IP-osoitteet. DNS palvelimen kanssa tulee ongelmia jos IP-osoite on dynaaminen.
 
Määritä nimipalvelimeen staattiset IP-osoitteet. DNS palvelimen kanssa tulee ongelmia jos IP-osoite on dynaaminen.
  
   nano /etc/network/interfaces
+
   <!--T:8-->
 +
nano /etc/network/interfaces
  
   auto eth0
+
   <!--T:9-->
 +
auto eth0
 
       address 192.168.0.1
 
       address 192.168.0.1
 
       netmask 255.255.255.0
 
       netmask 255.255.255.0
 
       gateway 192.168.1.254
 
       gateway 192.168.1.254
  
 +
<!--T:10-->
 
Tallenna tiedosto ja käynnistä verkkopalvelu uudelleen. Varmista, että verkkoyhteys toimii.
 
Tallenna tiedosto ja käynnistä verkkopalvelu uudelleen. Varmista, että verkkoyhteys toimii.
  
=== DNS Asiakas (Client) ===
+
=== DNS Asiakas (Client) === <!--T:11-->
  
 +
<!--T:12-->
 
Palvelimen tulee käyttää itseään nimipalvelimena joten /etc/resolv.conf tiedostoon pitää asettaa linuxin oma ip-osoite.
 
Palvelimen tulee käyttää itseään nimipalvelimena joten /etc/resolv.conf tiedostoon pitää asettaa linuxin oma ip-osoite.
  
  nano /etc/resolv.conf
+
  <!--T:13-->
 +
nano /etc/resolv.conf
  
  nameserver 192.168.0.1
+
  <!--T:14-->
 +
nameserver 192.168.0.1
 
  search testaus.local
 
  search testaus.local
  
=== Ensisijainen DNS palvelin ===
+
<!--T:15-->
 +
nameserver 192.168.0.1 = Nimipalvelimen IP-osoite, eli tässä tapauksessa oma IP.
 +
 
 +
<!--T:16-->
 +
search testaus.local = Vain jos on domain
 +
 
 +
=== Ensisijainen DNS palvelin === <!--T:17-->
  
Seuraavaksi tehdään tiedosto ''/etc/bind/named.conf.local'', jonne kopioidaan /''etc/bind/named.conf.default-zones'' tiedostosta mallit kahdesta ensimmäisestä zonesta.
+
<!--T:18-->
 +
Seuraavaksi tehdään tiedosto ''/etc/bind/named.conf.local'', jonne kopioidaan ''/etc/bind/named.conf.default-zones'' tiedostosta mallit kahdesta ensimmäisestä zonesta.
  
  nano /etc/bind/named.conf.local
+
  <!--T:19-->
 +
nano /etc/bind/named.conf.local
  
 +
<!--T:20-->
 
Lisää tiedostoon:
 
Lisää tiedostoon:
  
  zone "testaus.local" {
+
  <!--T:21-->
 +
zone "testaus.local" {
 
             type master;                            ''<small>#Tähän slave, jos haluat tehdä linuxista toissijaisen dnspalvelimen</small>''
 
             type master;                            ''<small>#Tähän slave, jos haluat tehdä linuxista toissijaisen dnspalvelimen</small>''
 
             file "/etc/bind/db.testaus.local";      ''<small>#Slavea käyttäessä: file "db.testaus.local"; </small>''
 
             file "/etc/bind/db.testaus.local";      ''<small>#Slavea käyttäessä: file "db.testaus.local"; </small>''
Rivi 48: Rivi 72:
 
  };
 
  };
  
 +
<!--T:22-->
 
* zone "testaus.local" = verkkosi toimialue.
 
* zone "testaus.local" = verkkosi toimialue.
 
* zone "0.168.192.in-addr.arpa" Käänteinen nimipalvelu, eli verkko-osoite väärinpäin kirjoitettuna = 192.168.0.X -> 0.168.192
 
* zone "0.168.192.in-addr.arpa" Käänteinen nimipalvelu, eli verkko-osoite väärinpäin kirjoitettuna = 192.168.0.X -> 0.168.192
Rivi 53: Rivi 78:
 
* file = tiedostopolku, missä on nimipalvelun tietokannat.
 
* file = tiedostopolku, missä on nimipalvelun tietokannat.
  
Db. tiedostojen nimillä ei ole kummempaa merkitystä, mutta tiedostojen pitää olla sen nimiset kuin ''named.conf.local'' tiedostossa ne on.
+
<!--T:23-->
 +
Db. tiedostojen nimillä ei ole kummempaa merkitystä, mutta tiedostojen pitää olla sen nimiset kuin ne on tiedostossa ''named.conf.local'' .
  
 +
<!--T:24-->
 
Slavea käyttäessä muista muuttaa tiedostopolkua. Näin tallennetaan cacheen, /var/cache/bind/ hakemistoon.
 
Slavea käyttäessä muista muuttaa tiedostopolkua. Näin tallennetaan cacheen, /var/cache/bind/ hakemistoon.
  
==== Forward DNS ====
+
==== Forward DNS ==== <!--T:25-->
  
 +
<!--T:26-->
 
Nyt editoidaan ''/etc/bind/db.local'' tiedostoa ja tallennetaan se uudelleen ''db.testaus.local'' nimellä.
 
Nyt editoidaan ''/etc/bind/db.local'' tiedostoa ja tallennetaan se uudelleen ''db.testaus.local'' nimellä.
  
  $TTL    3600
+
  <!--T:27-->
  @      IN      SOA    LNXSRV.testaus.local. root.testaus.local. (
+
$TTL    3600
 +
  @      IN      SOA    testaus.local. root.testaus.local. (
 
                               2        ; Serial
 
                               2        ; Serial
 
                         604800        ; Refresh
 
                         604800        ; Refresh
Rivi 70: Rivi 99:
 
  ;
 
  ;
 
  @      IN      NS      LNXSRV.testaus.local.
 
  @      IN      NS      LNXSRV.testaus.local.
 +
@      IN      A      192.168.0.1
 
  LNXSRV  IN      A      192.168.0.1
 
  LNXSRV  IN      A      192.168.0.1
 
  www    IN      CNAME  LNXSRV                                                   
 
  www    IN      CNAME  LNXSRV                                                   
  
  
* NS records -> Nimipalvelimet (Varmista että on piste, esim. ns.domain.local. , sillä tämä tekee siitä FQDN (Fully Qualified Domain Name))
+
<!--T:28-->
 +
* NS records -> Nimipalvelimet (Varmista että on piste, esim. ns.domain.local. , sillä tämä tekee siitä FQDN:än (Fully Qualified Domain Name))
 
* A records -> IPv4-osoite, johon nimi osoitetaan
 
* A records -> IPv4-osoite, johon nimi osoitetaan
 
* AAAA records -> IPv6-osoite, johon nimi osoitetaan
 
* AAAA records -> IPv6-osoite, johon nimi osoitetaan
Rivi 81: Rivi 112:
  
  
VINKKI! Voit määrittää useita CNAME:
+
<!--T:29-->
 +
VINKKI! Voit määrittää useita CNAMEja:
  
  @      IN      NS      LNXSRV.testaus.local.
+
  <!--T:30-->
 +
@      IN      NS      LNXSRV.testaus.local.
 
  LNXSRV  IN      A      192.168.0.1
 
  LNXSRV  IN      A      192.168.0.1
 
  WINSRV  IN      A      192.168.0.2
 
  WINSRV  IN      A      192.168.0.2
Rivi 90: Rivi 123:
 
  admin  IN      CNAME  WINSRV
 
  admin  IN      CNAME  WINSRV
  
==== Reverse DNS ====
+
==== Reverse DNS ==== <!--T:31-->
  
 +
<!--T:32-->
 
Seuraavaksi vuorossa on ''/etc/bind/db.127'' tiedosto ja se tulee tallentaa nimellä ''db.0.168.192.in-addr.arpa.''
 
Seuraavaksi vuorossa on ''/etc/bind/db.127'' tiedosto ja se tulee tallentaa nimellä ''db.0.168.192.in-addr.arpa.''
  
  $TTL    3600
+
  <!--T:33-->
  @      IN      SOA    ns.example.com. root.example.com. (
+
$TTL    3600
 +
  @      IN      SOA    testaus.local. root.testaus.local. (
 
                               2        ; Serial
 
                               2        ; Serial
 
                         604800        ; Refresh
 
                         604800        ; Refresh
Rivi 102: Rivi 137:
 
                         604800 )      ; Negative Cache TTL
 
                         604800 )      ; Negative Cache TTL
 
  ;
 
  ;
  @      IN      NS      LNXSRV.testaus.local.
+
             
 +
  @      IN      NS      LNXSRV. testaus.local.                              
 +
1      IN      PTR    testaus.local.                              #
 
  1      IN      PTR    LNXSRV.testaus.local.
 
  1      IN      PTR    LNXSRV.testaus.local.
  
 +
 +
 +
<!--T:34-->
 +
Reverse DNS ei laiteta koko IP-osoitetta. Verkostamme (192.168.0.0/24) vain viimeinen numero IP-osoitteesta merkitään bind9 konfiguraatioon, esimerkiksi palvelimemme (LNXSRV) IP-osoite on 192.168.0.1 joten merkitsemme vain numeron 1.
 +
 +
<!--T:35-->
 
Käynnistetään lopuksi bind9 uudelleen
 
Käynnistetään lopuksi bind9 uudelleen
  
  service bind9 restart
+
  <!--T:36-->
 +
service bind9 restart
 +
 
 +
<!--T:37-->
 +
TAI
  
  /etc/init.d/bind9 restart
+
  <!--T:38-->
 +
/etc/init.d/bind9 restart
  
=== Toissijainen DNS palvelin ===
+
=== Toissijainen DNS palvelin === <!--T:39-->
  
Avaa konfigurointi tiedosto:
+
<!--T:40-->
 +
Avaa konfigurointitiedosto:
  
  nano /etc/bind/named.conf.local
+
  <!--T:41-->
 +
nano /etc/bind/named.conf.local
  
  
  zone "testaus.local" {
+
  <!--T:42-->
 +
zone "testaus.local" {
 
         type slave;
 
         type slave;
 
         file "db.testaus.local";
 
         file "db.testaus.local";
Rivi 129: Rivi 180:
 
  };
 
  };
  
 +
<!--T:43-->
 
* Type = Slave (toissijainen)
 
* Type = Slave (toissijainen)
* File = Tiedosto, johon tallentetaan DNS tietueet
+
* File = Tiedosto, johon tallennetaan DNS tietueet
 
* Masters = Ensisijainen DNS palvelin, josta haetaan DNS tietueet
 
* Masters = Ensisijainen DNS palvelin, josta haetaan DNS tietueet
  
 +
<!--T:44-->
 
Varmista että ensisijainen nimipalvelimesi sallii tietojen lähetyksen toissijaiselle nimipalvelimelle.
 
Varmista että ensisijainen nimipalvelimesi sallii tietojen lähetyksen toissijaiselle nimipalvelimelle.
  
Konfigurointi ohje Windows ensisijaisen nimipalvelimena, joka lähettää tiedot toissijaiselle nimipalvelimelle:
+
<!--T:45-->
 +
Konfigurointiohje kuinka konfiguroida Windows DNS palvelin niin, että se lähettää tiedot toissijaiselle nimipalvelimelle:
 +
 
 +
<!--T:46-->
 +
[[DNS_Server#Bind_Secondaries | Windows ensisijaisena DNS palvelimena]]
  
[[DNS_Server#Bind_Secondaries]]
+
=== Forwarders ===
  
=== Troubleshooting ===
+
Voit määrittää DNS palvelimelle forwarders palvelimen IP-osoitteen konffeihin. Kun paikallisesta palvelimesta ei löydy vastausta dns kyselyihin, se lähtetetään eteenpäin toiselle nimipalvelimelle, joka määritetty forwarders palvelimena. Jos ei ole määritetty, käytetään root palvelimia, jotka on ennalta määritetty.
  
Ajamalla Debianin terminaalissa seuraava komento:
+
  nano /etc/bind/named.conf.options
  
  named-checkconf
+
Määritä forwarders dns palvelimen IP-osoite.
  
Tulostumalla tyhjä niin kaikki on OK.
+
  forwarders {
 +
    0.0.0.0;
 +
  };
  
Seuraava komento testaa
+
=== Allow-query ===
  
 +
Allow-query määrittää miten bind9 vastaa kyselyihin. Oletuksena bind9 ei forwardoi DNS kyseitä, jotka ovat tulleet toisesta aliverkosta.
  
 +
Suosittelemme määrittämään näin:
 +
 +
  allow-query {
 +
    any;
 +
  };
 +
 +
=== Ongelmanratkaisua === <!--T:47-->
 +
 +
<!--T:48-->
 +
Ajamalla Debianin terminaalissa seuraava komento, joka tarkistaa konfigurointitiedostot:
 +
 +
  <!--T:49-->
 +
named-checkconf -z
 +
 +
<!--T:50-->
 +
Jos tulostaa tyhjää niin kaikki on OK.
 +
 +
<!--T:51-->
 +
Seuraava komento testaa zonet.
 +
 +
  <!--T:52-->
 +
named-checkzone -z
 +
 +
<!--T:53-->
 
Muita komentoja:
 
Muita komentoja:
  
named-checkzone -z
 
  
dig domain.com
 
  
  dig 8.8.8.8
+
  <!--T:54-->
 +
dig domain.com
  
Asiakaskoneella:
+
<!--T:55-->
 +
dig 8.8.8.8
  
nslookup
+
<!--T:56-->
 +
Asiakaskoneella voit testata DNS palvelun toimivuutta
  
== DDNS - Dynaaminen DNS päivitys ==
+
<!--T:57-->
 +
nslookup
  
 +
<!--T:58-->
 +
Esimerkiksi Forward DNS:
 +
 +
<!--T:59-->
 +
nslookup www.google.com
 +
 +
<!--T:60-->
 +
Esimerkiksi Reverse DNS:
 +
 +
<!--T:61-->
 +
nslookup 8.8.8.8
 +
 +
== DDNS - Dynaaminen DNS päivitys == <!--T:62-->
 +
 +
<!--T:63-->
 
Dynaaminen DNS päivitys mahdollistaa IP-osoitteiden automaattisen päivityksen nimipalveluun.
 
Dynaaminen DNS päivitys mahdollistaa IP-osoitteiden automaattisen päivityksen nimipalveluun.
  
 +
<!--T:64-->
 
https://wiki.debian.org/DDNS
 
https://wiki.debian.org/DDNS
  
  
== Lähteet ==
+
== Lähteet == <!--T:65-->
  
 +
<!--T:66-->
 
https://wiki.debian.org/Bind9
 
https://wiki.debian.org/Bind9
 +
 +
</translate>
 +
 +
[[Category:Linux]]
 +
[[Category:DNS Server]]

Nykyinen versio 8. toukokuuta 2015 kello 13.53

Muut kielet:
English • ‎suomi

Bind9 on yleisin Linuxissa käytetty nimipalvelinohjelmisto. Sen asennus ja konfigurointi on helppoa ja siitä voi tehdä varanimipalvelimen Windows palvelimen rinnalle. Esimerkissämme käytämme verkkoa 192.168.0.0/24 ja Linux palvelimen nimi on LNXSRV ja IP on verkon ensimmäinen osoite.

Asennus

Asennetaan bind9. Tämä paketti löytyy sekä verkosta, että Debianin asennuslevyltä DVD1.

aptitude install bind9

Konfigurointi

Verkko

Määritä nimipalvelimeen staattiset IP-osoitteet. DNS palvelimen kanssa tulee ongelmia jos IP-osoite on dynaaminen.

 nano /etc/network/interfaces
 auto eth0
     address 192.168.0.1
     netmask 255.255.255.0
     gateway 192.168.1.254

Tallenna tiedosto ja käynnistä verkkopalvelu uudelleen. Varmista, että verkkoyhteys toimii.

DNS Asiakas (Client)

Palvelimen tulee käyttää itseään nimipalvelimena joten /etc/resolv.conf tiedostoon pitää asettaa linuxin oma ip-osoite.

nano /etc/resolv.conf
nameserver 192.168.0.1
search testaus.local
nameserver 192.168.0.1 = Nimipalvelimen IP-osoite, eli tässä tapauksessa oma IP.
search testaus.local = Vain jos on domain

Ensisijainen DNS palvelin

Seuraavaksi tehdään tiedosto /etc/bind/named.conf.local, jonne kopioidaan /etc/bind/named.conf.default-zones tiedostosta mallit kahdesta ensimmäisestä zonesta.

nano /etc/bind/named.conf.local

Lisää tiedostoon:

zone "testaus.local" {
            type master;                            #Tähän slave, jos haluat tehdä linuxista toissijaisen dnspalvelimen
            file "/etc/bind/db.testaus.local";      #Slavea käyttäessä: file "db.testaus.local"; 
       };
zone "0.168.192.in-addr.arpa" {
       type master;                                 #Tähän slave, jos haluat tehdä linuxista toissijaisen dnspalvelimen
       notify no;
       file "/etc/bind/db.0.168.192.in-addr.arpa"; #Slavea käyttäessä: file "db.0.168.192.in-addr.arpa"; 
};
  • zone "testaus.local" = verkkosi toimialue.
  • zone "0.168.192.in-addr.arpa" Käänteinen nimipalvelu, eli verkko-osoite väärinpäin kirjoitettuna = 192.168.0.X -> 0.168.192
  • type master = DNS-palvelimen tyyppi, ensisijainen (master) tai toissijainen (slave).
  • file = tiedostopolku, missä on nimipalvelun tietokannat.

Db. tiedostojen nimillä ei ole kummempaa merkitystä, mutta tiedostojen pitää olla sen nimiset kuin ne on tiedostossa named.conf.local .

Slavea käyttäessä muista muuttaa tiedostopolkua. Näin tallennetaan cacheen, /var/cache/bind/ hakemistoon.

Forward DNS

Nyt editoidaan /etc/bind/db.local tiedostoa ja tallennetaan se uudelleen db.testaus.local nimellä.

$TTL    3600
@       IN      SOA     testaus.local. root.testaus.local. (
                             2         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
@       IN      NS      LNXSRV.testaus.local.
@       IN      A       192.168.0.1
LNXSRV  IN      A       192.168.0.1
www     IN      CNAME   LNXSRV                                                  


  • NS records -> Nimipalvelimet (Varmista että on piste, esim. ns.domain.local. , sillä tämä tekee siitä FQDN:än (Fully Qualified Domain Name))
  • A records -> IPv4-osoite, johon nimi osoitetaan
  • AAAA records -> IPv6-osoite, johon nimi osoitetaan
  • CNAME -> Alias nimi joka osoitetaan A tai AAAA records.


VINKKI! Voit määrittää useita CNAMEja:

@       IN      NS      LNXSRV.testaus.local.
LNXSRV  IN      A       192.168.0.1
WINSRV  IN      A       192.168.0.2
www     IN      CNAME   LNXSRV
mail    IN      CNAME   LNXSRV
admin   IN      CNAME   WINSRV

Reverse DNS

Seuraavaksi vuorossa on /etc/bind/db.127 tiedosto ja se tulee tallentaa nimellä db.0.168.192.in-addr.arpa.

$TTL    3600
@       IN      SOA     testaus.local. root.testaus.local. (
                             2         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
             
@       IN      NS      LNXSRV. testaus.local.                                
1       IN      PTR     testaus.local.                              #
1       IN      PTR     LNXSRV.testaus.local.


Reverse DNS ei laiteta koko IP-osoitetta. Verkostamme (192.168.0.0/24) vain viimeinen numero IP-osoitteesta merkitään bind9 konfiguraatioon, esimerkiksi palvelimemme (LNXSRV) IP-osoite on 192.168.0.1 joten merkitsemme vain numeron 1.

Käynnistetään lopuksi bind9 uudelleen

service bind9 restart

TAI

/etc/init.d/bind9 restart

Toissijainen DNS palvelin

Avaa konfigurointitiedosto:

nano /etc/bind/named.conf.local


zone "testaus.local" {
       type slave;
       file "db.testaus.local";
       masters {192.168.0.250;};
 };
zone "0.168.192.in-addr.arpa" {
      type slave;                                
      file "db.0.168.192.in-addr.arpa";
      masters {192.168.0.250;};
};
  • Type = Slave (toissijainen)
  • File = Tiedosto, johon tallennetaan DNS tietueet
  • Masters = Ensisijainen DNS palvelin, josta haetaan DNS tietueet

Varmista että ensisijainen nimipalvelimesi sallii tietojen lähetyksen toissijaiselle nimipalvelimelle.

Konfigurointiohje kuinka konfiguroida Windows DNS palvelin niin, että se lähettää tiedot toissijaiselle nimipalvelimelle:

Windows ensisijaisena DNS palvelimena

Forwarders

Voit määrittää DNS palvelimelle forwarders palvelimen IP-osoitteen konffeihin. Kun paikallisesta palvelimesta ei löydy vastausta dns kyselyihin, se lähtetetään eteenpäin toiselle nimipalvelimelle, joka määritetty forwarders palvelimena. Jos ei ole määritetty, käytetään root palvelimia, jotka on ennalta määritetty.

 nano /etc/bind/named.conf.options

Määritä forwarders dns palvelimen IP-osoite.

 forwarders {
   0.0.0.0;
 };

Allow-query

Allow-query määrittää miten bind9 vastaa kyselyihin. Oletuksena bind9 ei forwardoi DNS kyseitä, jotka ovat tulleet toisesta aliverkosta.

Suosittelemme määrittämään näin:

 allow-query {
   any;
 };

Ongelmanratkaisua

Ajamalla Debianin terminaalissa seuraava komento, joka tarkistaa konfigurointitiedostot:

 named-checkconf -z

Jos tulostaa tyhjää niin kaikki on OK.

Seuraava komento testaa zonet.

 named-checkzone -z

Muita komentoja:


dig domain.com
dig 8.8.8.8

Asiakaskoneella voit testata DNS palvelun toimivuutta

nslookup

Esimerkiksi Forward DNS:

nslookup www.google.com

Esimerkiksi Reverse DNS:

nslookup 8.8.8.8

DDNS - Dynaaminen DNS päivitys

Dynaaminen DNS päivitys mahdollistaa IP-osoitteiden automaattisen päivityksen nimipalveluun.

https://wiki.debian.org/DDNS


Lähteet

https://wiki.debian.org/Bind9

Mainos / Advertisement: