Ero sivun ”Bind9” versioiden välillä
(39 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
− | Bind9 on yleisin | + | <languages/> |
− | Esimerkissämme käytämme verkkoa 192.168.0.0/24 ja | + | <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--> |
− | + | <!--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. | 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 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 | ||
− | = | + | <!--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--> | |
+ | <!--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: | 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'' | + | <!--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 | + | $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 | + | <!--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 | + | $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 | ||
+ | |||
+ | <!--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. | ||
+ | |||
+ | <!--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]] | ||
+ | |||
+ | === 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 === <!--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: | ||
− | |||
− | |||
− | dig | + | <!--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--> | ||
+ | |||
+ | <!--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
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.
Sisällysluettelo
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.