Bind9
Bind9 on yleisin linuxissa 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 linuxpalvelimen nimi on LNXSRV ja ip on verkon ensimmäinen osoite.
Sisällysluettelo
Asennus
Asennetaan bind9. Tämä paketti löytyy Debianin 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 named.conf.local tiedostossa ne on.
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 (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 CNAME:
@ 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. 1 IN PTR testaus.local. # 1 IN PTR LNXSRV.
Reverse DNS laitetaan ei laiteta koko IP-osoitetta. Verkkomme 192.168.0.0/24, vain viimeinen numero IP-osoitteesta merkitään bind9 konfiguraatioon, esimerkiksi palvelimemme (LNXSRV) IP-osoite 192.168.0.1 merkitään vain numero 1.
Käynnistetään lopuksi bind9 uudelleen
service bind9 restart
TAI
/etc/init.d/bind9 restart
Toissijainen DNS palvelin
Avaa konfigurointi tiedosto:
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 tallentetaan DNS tietueet
- Masters = Ensisijainen DNS palvelin, josta haetaan DNS tietueet
Varmista että ensisijainen nimipalvelimesi sallii tietojen lähetyksen toissijaiselle nimipalvelimelle.
Konfigurointi ohje Windows ensisijaisen nimipalvelimena, joka lähettää tiedot toissijaiselle nimipalvelimelle:
Windows ensisijaisena DNS palvelimena
Ongelmanratkaisua
Ajamalla Debianin terminaalissa seuraava komento, joka tarkistaa konfigurointitiedostot:
named-checkconf -z
Tulostumalla 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.