|
Second DNS dengan djbdns
Setelah hampir seminggu ngutak-atik akhirnya jadi juga nih ns2.yogya.pesat.net.id. Ini sedikit dokumentasi yang saya lakukan mulai dari awal sampai testing akhir. Akan saya berikan dalam bentuk poin-poin untuk memudahkan tracing jika ada kesalahan kelak.
1. Yang pertama saya lakukan tentu saja baca2 dokumentasi mulai yang bahasa Indonesia sampe English, diantaranya adalah:
http://tf.itb.ac.id/~eryan/Linux/InstallDJBDNS.html http://www.fefe.de/djbdns/ http://www.tinydns.org/ http://www.geocrawler.com/mail/msg.php3?msg_id=7409689&list=514 http://www.google.com
2. Ambil dulu source djbdns dan daemontools
wget http://cr.yp.to/djbdns/djbdns-1.02.tar.gz
wget http://cr.yp.to/daemontools/daemontools-0.70.tar.gz
3. Yak. …., mulai install:
tar xzvf djbdns-1.02.tar.gz
cd djbdns-1.02
make setup
tar xzvf daemontools-0.70.tar.gz
cd daemontools-0.70
make setup
mkdir /var/service
4. Buat user-user yang akan menjalankan ns kita, ringkasnya file /etc/passwd kita seharusnya bentuknya kira2 spt ini:
dnscache:x:1009:99::/home/dnscache:/bin/false
tinydns:x:1010:99::/home/tinydns:/bin/false
axfrdns:x:1011:99::/home/axfrdns:/bin/false
dnslog:x:1012:99::/home/dnslog:/bin/false
5. Pertama-tama mari kita membuat dnscache yang berfungsi untuk caching localhost (127.0.0.1), demikian:
dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1
Setelah mengeksekusi perintah di atas seharusnya tercipta direktori /etc/dnscache, bener nggak ?
6. Buat link :
ln -s /etc/dnscache /service/dnscache
svstat /service/* ln -s
/service/dnscache:
up (pid 141) 10 seconds
Jadi deh dnscache-nya, nggak percaya, coba :
nslookup
>server 127.0.0.1
Default server: mail
Address: 127.0.0.1#53
> localhost
Server:mail
Address:127.0.0.1#53
Non-authoritative answer:
Name: localhost.yogya.pesat.net.id
Address: 127.0.0.1 7.
Okeh, sekarang membuat dnscachex untuk caching nameserver:
dnscache-conf dnscache dnslog /etc/dnscachex 202.95.156.13
Sama seperti dnscache di atas, perintah ini akan menciptakan direktori /etc/dnscachex Untuk memperbolehkan siapa saja yang boleh melakukan query ke server kita ini sumonggo kita buat file2 berikut:
touch /etc/dnscachex/root/ip/202.95.155
touch /etc/dnscachex/root/ip/202.95.156
touch /etc/dnscachex/root/ip/202.95.157
touch /etc/dnscachex/root/ip/202.95.158
touch /etc/dnscachex/root/ip/202.95.159
8. Lakukan link :
ln -s /etc/dnscachex /service/dnscachex
svstat /service/*
/service/dnscache:
up (pid 141) 28127 seconds
/service/dnscachex: up (pid 1944) 38 seconds
Sampai langkah ini seharusnya anda sudah bisa melakukan querry untuk domain2 populer semisal yahoo.com, google.com, termasuk ke domain kita sendiri dsb. 9. Setelah selesai membuat caching nameserver mari selanjutnya kita membuat secondary DNS dengan transfer zone. Untuk ini kita menggunakan tinydns:
tinydns-conf tinydns dnslog /etc/tinydns 202.95.156.12
Perlu diketahui bahwa dnscache(x) dan tinydns tidak bisa dijalankan pada nomor IP yang sama, karena keduanya jalan bareng di lapisan UDP. Lalu terciptalah direktori /etc/tinydns. Karena kita membuat 2nd-ary DNS kita tinggal melakukan transfer zone domain2 yang ada di 1st DNS dengan tool axfrdns. Tentu saja 1st DNS server harus memperbolehkan kita melakukan transfer-zone.
Untuk memudahkan, saya telah memodifikasi sedikit script yang saya dapat dari internet (silahkan ikuti apa yang diperintahkan dalam script ini):
------start zone-transfer.sh
#!/bin/sh
# This script was taken from http://flounder.net/djbdns/bind-to-djbdns.html
# Modified by :fier@pesat.net.id 04 June 2003
# First, make a list of all your zones in a file called "zone", then you can execute this file.
# Steps : [root@localhost]#./zone-transfer.sh
# [root@localhost]# cd /etc/tinydns/root; make
# The BIND data files are moved to "dir-zone" directory
PATH=$PATH:/usr/local/bin
if [ ! -d dir-zone ]; then
mkdir dir-zone
fi
rm -rf dir-zone/*
MASTER=202.95.156.6 # The IP address of the server we're getting the zones from
for ZONE in `cat zone` ; do
tcpclient "$MASTER" 53 axfr-get "$ZONE" "$ZONE" "$ZONE".tmp
cat "$ZONE" | sort -ur > "$ZONE".tmp
mv "$ZONE".tmp dir-zone/"$ZONE"
rm "$ZONE"
mv /etc/tinydns/root/data /etc/tinydns/root/data-lama
cat dir-zone/* > /etc/tinydns/root/data
done
-------eof
Contoh isi file zone yang saya maksud adalah:
155.95.202.in-addr.arpa
156.95.202.in-addr.arpa
157.95.202.in-addr.arpa
158.95.202.in-addr.arpa
159.95.202.in-addr.arpa
yogya.pesat.net.id
map.ugm.ac.id
ph-gmu.or.id
ph.ugm.ac.id
fetp.org
sscintersolusi.com
10. Setelah kita meng-compile file /etc/tinydns/root/data akan tercipta file /etc/tinydns/root/data.cdb. File inilah nantinya yang akan dibaca oleh tinydns untuk menjalankan Authorative DNS Server
11. Langkah terakhir yang kita lakukan terhadap Authorative DNS Server ini adalah menjalankan daemon tinydns:
ln -s /etc/tinydns /service/tinydns
svstat /service/*
/service/dnscache:
up (pid 141) 30127 seconds
/service/dnscachex: up (pid 1944) 4938 seconds
/service/tinydns: up (pid 1924) 53 seconds
12. Testing:
nslookup
> server 202.95.156.12
Default server: 202.95.156.12
Address: 202.95.156.12#53
> yogya.pesat.net.id
Server:
202.95.156.12
Address:
202.95.156.12#53
Name:
yogya.pesat.net.id
Address: 202.95.156.6
13. Dan sebagai sentuhan terakhir, mari kita melakukan setting agar dnscachex melakukan querry ke 202.95.156.12 atas domain-domain yang ada di server kita:
----start dnscachex-root.sh
#!/bin/sh
# Making files in /etc/dnscachex/root/servers
# Created by : fier@pesat.net.id 12 June 2003
# First, make a list of all your zones in a file called "zone", then you can execute this file.
# Your tinydns server IP
TINYDNS_SERV=202.95.156.12
PATH=$PATH:/usr/local/bin
for ZONE in `cat zone` ; do
echo $TINYDNS_SERV > /etc/dnscachex/root/servers/"$ZONE"
done
------eof
14. Sebagai bukti bahwa querry atas domain-domain yang ada di server kita larinya ke Authorative DNS Server (202.95.156.12) mari kita lakukan testing berikut di 2 console yang berbeda secara bersamaan:
tail -f /etc/tinydns/log/main/current
@400000003ee8b01d3798047c ca5f9c0c:c9ea:57dc + 0001
yogya.pesat.net.id
@400000003ee8b05e07d6eb7c ca5f9c0c:82e3:63f9 + 0001
ftp.yogya.pesat.net.id
@400000003ee8b05e07e0903c ca5f9c0c:5de3:7b69 + 0001
petruk.yogya.pesat.net.id
nslookup
> server 202.95.156.13
Default Server: mail.yogya.pesat.net.id
Address:
202.95.156.13
> yogya.pesat.net.id
Server:
mail.yogya.pesat.net.id
Address: 202.95.156.13
Non-authoritative answer:
Name: yogya.pesat.net.id
Address: 202.95.156.6
> ftp
Server:
mail.yogya.pesat.net.id
Address: 202.95.156.13
Non-authoritative answer:
Name: petruk.yogya.pesat.net.id
Address:202.95.157.190
Aliases: ftp.yogya.pesat.net.id
15. Demikian, semoga bermanfaat.
|
|