Dynamic DNS dengan BIND dan DHCP
Dynamic DNS dengan BIND dan DHCP
Andi Mappesona <ona[at]its.ac.id>
Pendahuluan
Dynamic DNS merupakan sebuah sistem dalam jaringan yang memungkinkan untuk memberikan alamat IP dan nama domain pada
client secara otomatis. Konfigurasi sistem seperti ini banyak dilakukan oleh pihak-pihak yang memberikan layanan
hosting-hosting domain, sehingga administrator tidak perlu repot-repot mengupdate DNS-server setiap kali ada permintaan
domain baru.
Untuk implementasi sistem Dynamic DNS dibutuhkan paket BIND, DHCP-Server dan DHCP-Client. Versi paket yang
digunakan :
- bind-9.3.4
- dhcp3-server
- dhcp3-client
Sistem operasi yang digunakan Debian 4.0 Etch.
Skenario Percobaan
Pada sebuah jaringan yang ingin mengimplementasikan Dynamic DNS, terdapat sebuah server dhcp dengan IP 167.200.17.65,
sebuah DNS server dengan IP 167.200.17.66 dan beberapa komputer client. Domain yang digunakan adalah gerhana.edu.
Host client yang akan dikonfigurasi sebagai contoh memiliki hostname eclipse.
Instalasi Paket
Intalasi paket pada debian cukup mudah dengan menggunakan apt-get.
root@ns:~$ apt-get install bind9
root@dhcp:~$ apt-get install dhcp3-server
root@eclipse:~$ apt-get install dhcp3-client
Konfigurasi DNS-Server
Konfigurasi yang dibutuhkan pada DNS-server dilakukan pada file named.conf dan file db yang menangani
zone domain gerhana.edu.
Konfigurasi named.conf
Konfigurasi untuk zone file tidak ada perbedaan dari konfigurasi DNS-server yang biasa. Contoh konfigurasi named.conf :
zone "gerhana.edu" { //deklarasi zone domain.
type master; //tipe dari zone ini adalah master.
file "/etc/bind/db.gernaha"; //file konfigurasi db dari zone ini.
allow-update { key wind-key; }; //Mengijinkan update dengan menggunakan key yang sudah ada.
};
//Key yang digunakan untuk update, key ini harus sama dengan key yang ada pada dhcp server
key "wind-key" {
algorithm hmac-md5;
secret "J5A3SaVGipZNa0LPT8BWHQ==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; 167.200.17.65;} keys { "wind-key"; };
};
Generate key dapat dilakukan dengan dnssec-keygen atau rndc-confgen.
Konfigurasi Zone File
Zone file yang akan dibuat adalah file db.gerhana yang contoh isinya seperti berikut :
$TTL 15m
@ IN SOA ns.gerhana.edu. root.ns.gerhana.edu (
2007042401
2h
15m
2h
2h)
IN NS ns.gerhana.edu.
IN A 167.200.17.66
$ORIGIN gerhana.edu.
ns IN A 167.200.17.66
dhcp IN A 167.200.17.65
Kita hanya menentukan nama untuk komputer-komputer server yang memiliki static IP, sedangkan untuk client-client akan
diupdate sesuai dengan kondisi. Setelah selesai restartlah service bind dengan perintah :
root@ns:~# /etc/init.d/bind9 restart
Note : Jangan lupa untuk memberikan hak write user dan group bind pada direktori /etc/bind agar
daemon bind dapat melakukan update.
Konfigurasi DHCP-Server
DHCP-Server hanya butuh melakukan konfigurasi pada file dhcp.conf. Konfigurasi yang akan dilakukan adalah :
- Nama Domain : gerhana.edu.
- IP DNS sever : 167.200.17.66.
- IP Gateway : 167.200.17.65.
- Range IP yang ditangani DHCP : 167.200.17.67-167.200.17.78
Contoh konfigurasi file dhcpd.conf :
//Key yang digunakan untuk update ke dns server, sama dengan key yang ada di dns server.
key wind-key {
algorithm hmac-md5;
secret "J5A3SaVGipZNa0LPT8BWHQ==";
};
server-identifier dhcp.gerhana.edu;
authoritative;
ddns-update-style interim;
ddns-updates on;
subnet 167.200.17.64 netmask 255.255.255.240 {
//Deklarasi zone yang dipakai, sama dengan zone yang ada pada dns server
zone gerhana.edu. {
primary 167.200.17.66;
key wind-key;
}
option domain-name "gerhana.edu"; //Domain yang akan diberikan kepada client.
option domain-name-servers 167.200.17.66; //IP dns server
range 167.200.17.67 167.200.17.78; //Range IP yang digunakan untuk DHCP
option subnet-mask 255.255.255.240; //Subnet mask domain yang akan diberikan ke client
option broadcast-address 167.200.17.79; //Alamat broadcast yang akan diberikan kepada client
option routers 167.200.17.65; //Alamat gateway yang diberikan kepada client
option ip-forwarding off;
one-lease-per-client on;
default-lease-time 14400;
max-lease-time 14401;
}
Setelah itu restartlah service dhcp dengan perintah :
root@dhcp:~# /etc/init.d/dhcp3-server restart
Konfigurasi Client
Pada client kita hanya butuh manambahkan konfigurasi ini pada file dhclient.conf :
send host-name "eclipse"; //hostname yang dikirimkan client dan yang akan di tambahkan ke dns-server.
send dhcp-client-identifier MAC-address; //Mengirimkan identifier MAC Address dari lan card
Dengan tambahan konfigurasi diatas maka client akan mengirimkan request IP DHCP-Server, sekaligus mengirimkan
hostname-nya agar DHCP-Server melakukan update ke DNS server dengan informasi kalau di subnet ini ada tambahan
client baru dengan nama eclipse.gerhana.edu dan IP yang sesuai dengan alokasi DHCP-Server
Setelah melakukan konfigurasi client, konfigurasilah client tersebut untuk mendapatkan IP dari DHCP. Konfigurasinya
dilakukan pada file /etc/network/interfaces. Contoh konfigurasinya :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Setelah itu restartlah konfigurasi network client dengan perintah :
root@eclipse~$ /etc/init.d/networking restart
Untuk mengetahui ada error atau tidak dapat diamati melalui pesan syslog dengan perintah tail -f /var/log/syslog
pada masing-masing server.
Referensi :
- O’ Reilly - DNS and BIND 4th Edition
- O’ Reilly - DNS & BIND Cookbook
- Mbah Google
Entries (RSS)