Instalasi dan Konfigurasi pdnsd Pada Ubuntu Server

Copas dari note saya di facebook.

Sekilas tentang pdnsd

pdnsd merupakan alternatif lain untuk DNS resolver seperti BIND atau sejenisnya. Selain lebih kompak, pdnsd juga sangat mudah untuk dikonfigurasi dibandingkan dengan keluarga BIND. pdnsd mampu melakukan DNS caching dengan baik, sehingga dapat mengurangi latensi jaringan.

Kekurangan dan Kelebihan

Kelebihan :
– Ukuran yang sangat kecil dan kompak.
– Sangat mudah dikonfigurasi, sehingga cocok untuk pemula.
– Penggunaan memory yang lebih kecil.
– DNS cache yang permanen – sesuai dengan konfigurasi.
– Pengaturan cache, runtime, dan timeouts yang mudah.

Kekurangan :
Tidak ada! Namun yang perlu diperhatikan adalah, pdnsd ideal untuk lingkungan kerja kecil dan menengah. Untuk penggunaan dalam skala besar – misalnya untuk melayani lebih dari 100 klien – saya sendiri menganjurkan BIND.

Installasi
Saya mengasumsikan server yang akan digunakan untuk instalasi pdnsd memiliki spesifikasi berikut :
– Menggunakan sistem operasi Ubuntu Server – versi yang saya pakai adalah 8.04.3 LTS.
– Menggunakan 2 kartu jaringan dan sudah dikonfigurasi dengan baik dan benar.
– Menggunakan ISP Speedy. :)
– Shoreline Firewall / Shorewall yang sudah dikonfigurasi dan berjalan baik.

Kartu jaringan pertama / eth0 langsung tersambung ke internet dengan IP 10.10.10.1
Kartu jaringan kedua / eth1 terhubung ke jaringan lokal dengan IP 10.10.10.2

ps. prosedur installasi ini mungkin juga berlaku untuk keluarga Debian yang lainnya yang berbasis aptitude untuk penanganan paket installasinya.

1. Login ke konsol server dengan akses root. Kemudian lakukan pengambilan paket dan tunggu sampai instalasi selesai.

root@proxies:~# apt-get install pdnsd

2. Edit file /etc/hosts, kemudian sesuaikan hostname untuk masing-masing kartu jaringan.

root@proxies:~# vim /etc/hosts
# berikut adalah contoh konfigurasinya.
127.0.0.1 localhost
10.10.10.1 inet.mylocal.net mylocal.net
10.10.10.2 proxy.mylocal.net mylocal.net

Simpan perubahan konfigurasi.

3. Edit 2 file konfigurasi pdnsd – /etc/pdnsd.conf dan /etc/default/pdnsd

root@proxies:~# vim /etc/pdnsd.conf
# contoh konfigurasi yang disesuaikan.
# untuk baris-baris yang lain, tidak perlu di sesuaikan.
global {
perm_cache=1024;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = any;
status_ctl = on;
paranoid=on;
min_ttl=15m;
max_ttl=3d;
timeout=10;
}
# tambahkan dns telkom.
server {
label="telkom";
root_server=on;
ip=202.134.0.155, 61.94.192.12, 202.134.1.10, 202.134.1.5, 202.130.196.6;
timeout=5;
uptest=query;
interval=30m;
ping_timeout=300;
}

Seperti biasa, gunakan perintah :wq untuk menyimpan perubahan.

root@proxies:~# vim /etc/default/pdnsd
# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
AUTO_MODE=
# optional CLI options to pass to pdnsd(8)
START_OPTIONS=

Simpan perubahan konfigurasi.

4. Restart service pdnsd dan networking.

root@proxies:~# /etc/init.d/pdnsd restart
root@proxies:~# /etc/init.d/networking restart

Edit file resolv.conf, agar dns query melewati localhost.

root@proxies:~# vim /etc/resolv.conf
search my-local.net
nameserver 127.0.0.1

Simpan perubahan.

Installasi pdnsd selesai! Untuk memastikan pdnsd berjalan dengan baik, test dns service di localhost.

2vrvr7n

Dari gambar diatas terlihat waktu DNS query pertama 36 miliseconds, sedangkan query kedua 0 miliseconds. Hal tersebut berarti DNS caching juga berjalan dengan baik.

Langkah terakhir adalah mengizinkan klien dari jaringan lokal (LAN) melakukan DNS query melewati server.

root@proxies:~# vim /etc/shorewall/rules

# Tambahkan baris ini – dengan tab sebagai pemisah.

DNS(ACCEPT) $FW net
DNS(ACCEPT) loc $FW

Simpan konfigurasi.

Restart shorewall.

root@proxies:~# /etc/init.d/shorewall restart

Disisi klien, gunakan nameserver 10.10.10.2, kemudian test menggunakan nslookup lewat dos.

C:\Documents and Settings\Client-01>nslookup
Default Server: proxy.mylocal.net
Address: 10.10.10.2

Selamat! Instalasi selesai, dan server anda siap untuk digunakan. :)

Referensi : http://www.phys.uu.nl/~rombouts/pdnsd/index.html

Feedback dan koreksi saya terima dengan lapang dada… :D

8 Comments

  1. Sore Ndan, kalau kartu jaringan 2/ eth1 sudah digunakan untuk squid, apakah bisa digunakan juga untuk pdnsd? bentrok apa tidak? karena alamat kartu jaringan 2 sudah digunakan untuk proxy jaringan.
    Trims, atas jawabannya

    • fazar

      Bisa ndan… nggak masalah. Selain pdnsd, agan juga bisa pake dnsmasq.

      • Trims atas respon jawabannya.
        Mohon pencerahannya, speedy menggunakan transparent dns. Yang jadi Masalah, nawala yang saya gunakan jadi tidak berfungsi. Bisa tidak pdnsd mereroute transparent dns-nya speedy agar nawala tetap berjalan? klo bisa, tolong konfigurasinya seperti apa?

        • fazar

          Mas pake mikrotik nggak? Kalo pake mikrotik silakan cek postingan terbaru saya yang membahas instalasi unbound pada windows. Silakan contek config nya atau copas script mikrotik nya. :)

          • Saya tidak pakai Mikrotik, karena memang tidak bisa .. (-:
            Jadi Server saya hanya digunakan untuk squid yang sejajar dengan client satu ethernet. router menggunakan bawaan modem. saya berencana mau nambahin server dns pakai pdnsd,karena terganggu dengan transparent dns-nya speedy.

          • fazar

            pdnsd bisa di set 1 mesin dengan squid, nggak perlu di buat server terpisah kok. jika demikian, rubah sedikit config nya menjadi seperti ini :

            server {
            label="OpenNIC";
            ip=128.199.248.105, 106.186.17.181;
            port=5353;
            timeout=5;
            uptest=query;
            interval=3m;
            ping_timeout=300;
            }

            dns klien silakan arahkan ke IP address mesin squid/pdnsd tsb. good luck! :)

  2. komandan

    klo ada setingan iptables di mesin ubuntunya
    kira2 bentrok gak yahhh dengan shorewall nya

    • fazar

      tidak masalah. saya menggunakan beberapa rules iptables, dan tidak pernah mendapatkan masalah. :)

Leave a Reply

Your email address will not be published. Required fields are marked *