Nimeserveri seadistamine BIND9 näitel
Autorid
- Tuuli Zahvatkin
- Nils Tammann
Viimase muutmise aeg
23. November 2009
Sissejuhatus
Eeldused
- Peab oskama Linuxit käsurealt hallata
- Peab olema installeeritud Ubuntu server 9.10
- Masinasse peab olema paigaldatud programmid dig ja nslookup
- Masinal kuhu konfigureeritakse DNS peab olema staatiline IP-aadress. Meie näite puhul on selleks:
IP aadress: 192.168.145.128 Võrgumask: 255.255.255.0 Vaikelüüs: 192.168.145.2 ISP DNS: 192.168.145.2
- Tulemüüris peab olema avatud tcp/udp port 53
Nõuded
- Konfigureerida kaks domeeni ja üks alamdomeen.
- Reverse peaks toimima.
- Domeeni teenindava meiliserveri mx kirjed ja spf kirjed peavad olema nimeserveri domeenides.
- Ilma www-ta aadressis peab saama veebisaidile ligi.
- Nimeserveri varundamine/taastamine.
- BIND serveri turvavead.
Installeerimine
BIND9 installeerimiseks sisestada järgmine käsk:
sudo -i apt-get install bind9
Seadistamine
Minna juurkasutajaks:
sudo -i
Algul tuleb muuta faili /etc/bind/named.conf.options
nano /etc/bind/named.conf.options
Kommentaar tuleb eemaldada forwarders eest ja sinna sulgude vahele kirjutada ISP DNS server. Muudetud fail peaks välja nägema järgmine:
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 192.168.145.2; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
Peale seda tuleb muuta /etc/bind/named.conf.local
nano /etc/bind/named.conf.local
Sellesse faili tuleb lisada järgmised tsoonid:
zone "145.168.192.in-addr.arpa" IN { type master; file "/etc/bind/db.145.168.192.in-addr.arpa"; }; zone "too.ee" IN { type master; file "/etc/bind/db.too.ee"; }; zone "koht.ee" IN { type master; file "/etc/bind/db.koht.ee"; }; zone "arendus.koht.ee" IN { type master; file "/etc/bind/db.arendus.koht.ee"; };
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.
cp /etc/bind/db.127 /etc/bind/db.145.168.192.in-addr.arpa cp /etc/bind/db.local /etc/bind/db.too.ee cp /etc/bind/db.local /etc/bind/db.koht.ee cp /etc/bind/db.local /etc/bind/db.arendus.koht.ee
Nüüd muudame db.too.ee faili
nano /etc/bind/db.too.ee
Muudetud fail näeb välja järgmine:
; ; BIND data file for too.ee ; $ORIGIN too.ee. $TTL 604800 @ IN SOA ns.too.ee. root.too.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; too.ee. IN NS ns.too.ee. too.ee. IN MX 10 mail.too.ee. too.ee. IN SPF "v=spf1 a mx -all" ns.too.ee. IN A 192.168.145.128 mail.too.ee. IN A 192.168.145.129 www.too.ee. IN CNAME too.ee. too.ee. IN A 192.168.145.130
Nüüd muudame db.koht.ee faili:
nano /etc/bind/db.koht.ee
Muudetud fail peaks välja nägema järgmine:
; ; BIND data file for zone koht.ee ; $ORIGIN koht.ee. $TTL 604800 @ IN SOA ns.too.ee. root.koht.ee. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; koht.ee. IN NS ns.too.ee. koht.ee. IN MX 10 mail.koht.ee. koht.ee. IN SPF "v=spf1 a MX -all" mail.koht.ee. IN A 192.168.145.129 fail.koht.ee. IN A 192.168.145.131 masin.koht.ee. IN A 192.168.145.132
Nüüd muudame db.arendus.koht.ee faili:
nano /etc/bind/db.arendus.koht.ee
Muudetud fail peaks välja nägema järgmine:
; ; BIND data file for local loopback interface ; $TTL 604800 $ORIGIN arendus.koht.ee. @ IN SOA ns.too.ee. root.arendus.koht.ee. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; arendus.koht.ee. IN NS ns.too.ee. arendus.koht.ee. IN MX 10 mail.arendus.koht.ee. arendus.koht.ee. IN SPF "v=spf1 a MX -all" test.arendus.koht.ee. IN A 192.168.145.133 mail.arendus.koht.ee. IN A 192.168.145.129
Nüüd muudame db.145.168.192.in-addr.arpa faili:
nano /etc/bind/db.145.168.192.in-addr.arpa
Muudetud fail peaks välja nägema järgmine:
; ; BIND reverse data file for local loopback interface ; $TTL 604800 $ORIGIN 145.168.192.in-addr.arpa. @ IN SOA ns.too.ee. root.too.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; 145.168.192.in-addr.arpa. IN NS ns.too.ee. 128.145.168.192.in-addr.arpa. IN PTR ns.too.ee. 129.145.168.192.in-addr.arpa. IN PTR mail.too.ee. 130.145.168.192.in-addr.arpa. IN PTR too.ee. 131.145.168.192.in-addr.arpa. IN PTR fail.koht.ee. 132.145.168.192.in-addr.arpa. IN PTR masin.koht.ee. 133.145.168.192.in-addr.arpa. IN PTR test.arendus.koht.ee.
Kui tsoonifailid on loodud, siis tuleb muuta resolve.conf faili:
nano /etc/resolve.conf
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks. Fail näeb peale muutmist välja järgmine:
#domain localdomain #search localdomain nameserver 192.168.145.128
Testimine
Esiteks tuleks kontrollida kas tsoonifailid vastavad nõuetele ja tsoonile:
named-checkzone too.ee /etc/bind/db.too.ee named-checkzone koht.ee /etc/bind/db.koht.ee named-checkzone arendus.koht.ee /etc/bind/db.arendus.koht.ee named-checkzone 145.168.192.in-addr.arpa /etc/bind/db.145.168.192.in-addr.arpa
Sinu tsoonifailid on õiged kui said vastuseks järgneva:
zone <sinu tsooni nimi>/IN: loaded serial <tsooni faili serial> OK
Vastasel juhul kontrollida tsoonifailide konfiguratsiooni.
Teiseks kasutada programme dig ja nslookup, et kontrollida kas nimeserver vastab päringutele õigesti.
dig ns.too.ee ; <<>> DiG 9.6.1-P1 <<>> ns.too.ee ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4663 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;ns.too.ee. IN A ;; ANSWER SECTION: ns.too.ee. 604800 IN A 192.168.145.128 ;; AUTHORITY SECTION: too.ee. 604800 IN NS ns.too.ee. ;; Query time: 2 msec ;; SERVER: 192.168.145.128#53(192.168.145.128) ;; WHEN: Mon Nov 23 15:15:30 2009 ;; MSG SIZE rcvd: 57
Kindluse mõttes korrata tegevust ka teiste domeeninimede puhul.
Kui dig programmi vastusest puudub answer sektsioon tuleks kontrollida tsoonifailide konfiguratsiooni. Kui tsoonifailid on õiged, aga vastus ikka puudub tuleks kontrollida ka named.conf.local faili ning sealt kontrollida kas tsooninimed on õiged ja kas tsoonifailide asukohad on korrekselt määratud.
Nüüd kontrollida kas toimub pöördteisendus. Selleks käivitada nslookup ja sisestada ip aadressid ning vaadata kas ip aadress vastab õigele masina nimele.
Näiteks:
nslookup > 192.168.145.129 Server: 192.168.145.128 Address: 192.168.145.128#53 129.145.168.192.in-addr.arpa name = mail.too.ee.
Kindluse mõttes korrata tegevust ülejäänud ip-aadresside puhul.