Mainos / Advertisement:

Ero sivun ”Bind9” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(64 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.
  
aptitude install bind9
+
== Asennus == <!--T:2-->
  
=== Konfigurointi ===
+
<!--T:3-->
 +
Asennetaan bind9. Tämä paketti löytyy sekä verkosta, että Debianin asennuslevyltä DVD1.
  
 +
<!--T:4-->
 +
[[aptitude]] install bind9
 +
 +
== Konfigurointi == <!--T:5-->
 +
 +
=== Verkko === <!--T:6-->
 +
 +
<!--T:7-->
 +
Määritä nimipalvelimeen staattiset IP-osoitteet. DNS palvelimen kanssa tulee ongelmia jos IP-osoite on dynaaminen.
 +
 +
  <!--T:8-->
 +
nano /etc/network/interfaces
 +
 +
  <!--T:9-->
 +
auto eth0
 +
      address 192.168.0.1
 +
      netmask 255.255.255.0
 +
      gateway 192.168.1.254
 +
 +
<!--T:10-->
 +
Tallenna tiedosto ja käynnistä verkkopalvelu uudelleen. Varmista, että verkkoyhteys toimii.
 +
 +
=== 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
  
Seuraavaksi tehdään tiedosto ''/etc/bind/named.conf.local'', jonne kopioidaan /''etc/bind/named.conf.default-zones'' tiedostosta mallit kahdesta ensimmäisestä zonesta.
+
<!--T:15-->
 +
nameserver 192.168.0.1 = Nimipalvelimen IP-osoite, eli tässä tapauksessa oma IP.
  
  nano /etc/bind/named.conf.local
+
  <!--T:16-->
 +
search testaus.local = Vain jos on domain
  
Tiedosta tulee siis löytyä:
+
=== Ensisijainen DNS palvelin === <!--T:17-->
  
  zone "testaus.local" {
+
<!--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.
 +
 
 +
  <!--T:19-->
 +
nano /etc/bind/named.conf.local
 +
 
 +
<!--T:20-->
 +
Lisää tiedostoon:
 +
 
 +
<!--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>''
 
         };
 
         };
 
  zone "0.168.192.in-addr.arpa" {
 
  zone "0.168.192.in-addr.arpa" {
 
         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>''
 
         notify no;
 
         notify no;
         file "/etc/bind/db.0.168.192.in-addr.arpa"; ''<small>#Slavea käyttäessä: file:db.0.168.192.in-addr.arpa </small>''
+
         file "/etc/bind/db.0.168.192.in-addr.arpa"; ''<small>#Slavea käyttäessä: file "db.0.168.192.in-addr.arpa"; </small>''
 
  };
 
  };
  
Db. tiedostojen nimillä ei ole kummempaa merkitystä, mutta tiedostojen pitää olla sen nimiset kuin ''named.conf.local'' tiedostossa ne on.
+
<!--T:22-->
 +
* 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.
  
 +
<!--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.
 +
 +
==== 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 42: Rivi 99:
 
  ;
 
  ;
 
  @      IN      NS      LNXSRV.testaus.local.
 
  @      IN      NS      LNXSRV.testaus.local.
  1       IN      A      192.168.0.1
+
  @      IN      A      192.168.0.1
 +
LNXSRV  IN      A      192.168.0.1
 +
www    IN      CNAME  LNXSRV                                                 
  
 +
 +
<!--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
 +
* AAAA records -> IPv6-osoite, johon nimi osoitetaan
 +
* CNAME -> Alias nimi joka osoitetaan A tai AAAA records.
 +
 +
 +
 +
<!--T:29-->
 +
VINKKI! Voit määrittää useita CNAMEja:
 +
 +
<!--T:30-->
 +
@      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 ==== <!--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 54: Rivi 137:
 
                         604800 )      ; Negative Cache TTL
 
                         604800 )      ; Negative Cache TTL
 
  ;
 
  ;
  @      IN      NS      LNXSRV.testaus.local.
+
             
  LNXSRV IN      PTR    192.168.0.1
+
  @      IN      NS      LNXSRV. testaus.local.                              
 +
  1      IN      PTR    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
 +
 
 +
<!--T:38-->
 +
/etc/init.d/bind9 restart
 +
 
 +
=== Toissijainen DNS palvelin === <!--T:39-->
 +
 
 +
<!--T:40-->
 +
Avaa konfigurointitiedosto:
 +
 
 +
<!--T:41-->
 +
nano /etc/bind/named.conf.local
 +
 
 +
 
 +
<!--T:42-->
 +
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;};
 +
};
 +
 
 +
<!--T:43-->
 +
* Type = Slave (toissijainen)
 +
* File = Tiedosto, johon tallennetaan DNS tietueet
 +
* Masters = Ensisijainen DNS palvelin, josta haetaan DNS tietueet
 +
 
 +
<!--T:44-->
 +
Varmista että ensisijainen nimipalvelimesi sallii tietojen lähetyksen toissijaiselle nimipalvelimelle.
  
/etc/init.d/bind9 restart
+
<!--T:45-->
 +
Konfigurointiohje kuinka konfiguroida Windows DNS palvelin niin, että se lähettää tiedot toissijaiselle nimipalvelimelle:
  
=== Troubleshooting ===
+
<!--T:46-->
 +
[[DNS_Server#Bind_Secondaries | Windows ensisijaisena DNS palvelimena]]
  
Ajamalla Debianin terminaalissa seuraava komento:
+
=== Forwarders ===
  
  named-checkconf
+
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.
  
Tulostumalla tyhjä niin kaikki on OK.
+
  nano /etc/bind/named.conf.options
  
Seuraava komento testaa
+
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 === <!--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
 
  
  dig domain.com
+
  <!--T:54-->
 +
dig domain.com
 +
 
 +
<!--T:55-->
 +
dig 8.8.8.8
 +
 
 +
<!--T:56-->
 +
Asiakaskoneella voit testata DNS palvelun toimivuutta
 +
 
 +
<!--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-->
  
dig 8.8.8.8
+
<!--T:63-->
 +
Dynaaminen DNS päivitys mahdollistaa IP-osoitteiden automaattisen päivityksen nimipalveluun.
  
== Lähteet ==
+
<!--T:64-->
 +
https://wiki.debian.org/DDNS
  
 +
 +
== 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: