brotherindo.files.wordpress.com file · Web viewyang notabene merupakan server-mail yang punya...
Transcript of brotherindo.files.wordpress.com file · Web viewyang notabene merupakan server-mail yang punya...
BIND dan DNS
Konsep dan Gambaran DNS/BIND
Domain Name System (DNS)Sebelum berkenalan dengan BIND, kita harus tahu mengenai DNS. DNS merupakan sistem berbentuk
database terdistribusi yang akan memetakan/mengkonversikan nama host/mesin/domain ke alamat IP
(Internet Protocol) dan sebaliknya dari alamat IP ke nama host yang disebut dengan reverse-mapping. DNS
sangat berguna sekali dalam jaringan terutama Internet, sistem ini akan memetakan nama mesin misal
pikachu.indolinux.com ke alamat IP misal 202.123.45.6 selain itu juga penggunaannya sangat luas misal,
untuk routing e-mail, telnet, ftp, web, dan lain-lain.
Bagaimana jika tidak ada DNS, kepala kita bisa pecah jika harus mengingat ratusan, ribuan, bahkan jutaan
alamat IP di Internet. Kita manusia lebih mudah untuk mengingat nama daripada alamat IP dengan panjang
32 bit itu. Komputer menggunakan alamat IP untuk berkomunikasi dan berinteraksi. Bagaimana
menjembataninya? Disitulah gunanya Domain Name System (DNS).
Dengan adanya DNS, informasi host menjadi mungkin untuk diakses oleh komputer di jaringan maupun
Internet. Implementasi DNS pada sistem operasi Linux yang sering digunakan adalah BIND meskipun ada
juga salah satu implementasi yang cukup baru dan juga banyak dipakai yaitu djbdns (DJBDNS adalah DNS
Server dari D.J Bernstein yang dapat dijalankan pada mesin *NIX).
Walaupun banyak sejarah mengenai isu keamanan dan vulnerability-nya, banyak server DNS di dunia masih
menggunakan BIND. Alasan yang mungkin adalah kebanyakkan para administrator server DNS tersebut
lebih familiar dengan BIND daripada server DNS lain. Seperti halnya dengan penggunaan sendmail yang
notabene merupakan server-mail yang punya konfigurasi cryptic daripada server-mail lain tetapi masih
tetap digunakan dengan alasan familiar dan kebiasaan administratornya. Pandangan mengenai hal ini saya
kembalikan pada administrator masing-masing lembaga atau perusahaan.
Sejarah DNS
Sebelum adanya DNS, pertama kali tepatnya tahun 1970-an dalam jaringan ARPAnet (cikal bakal jaringan
Internet yang ada sekarang) digunakan pemetaan dengan bentuk tabel host pada berkas HOSTS.TXT.
Jaringan dengan HOSTS.TXT pada tiap host-nya
Berkas ini berisi nama host dan alamat IP serta pemetaannya dari seluruh mesin/komputer yang terhubung
dalam jaringan. Ketika ada komputer lain yang terhubung ke jaringan ARPAnet maka masing-masing
komputer dalam jaringan tersebut harus memperbaharui berkas HOSTS.TXT-nya. Pada saat itu cara meng-
update berkas HOSTS.TXT dengan menggunakan ftp setiap satu atau dua minggu sekali. Masalah muncul
ketika jaringan ARPAnet yang tadinya kecil tersebut kemudian menjadi Internet yang semakin hari semakin
besar. Kesulitan meng-update isi berkas HOSTS.TXT karena jumlah nama mesin/komputer yang harus
dituliskan ke berkas tersebut sudah terlalu besar dan tidak efisien. Lalu muncul ide untuk membuat sistem
database terdistribusi yang mempunyai data mengenai pemetaan nama host ke alamat IP dan sebaliknya.
Dengan adanya pendistribusian database nama host dan alamat IP, maka tiap organisasi yang memiliki
jaringan di dalam domain tertentu hanya bertanggung jawab terhadap database informasi pemetaan nama
host dan alamat IP pada jaringannya saja yang biasa disebut zone. Administrasi domain tersebut dilakukan
secara lokal tetapi informasi itu dapat diakses oleh semua komputer di Internet. Karena sifat database yang
terdistribusi ini, maka dibutuhkan suatu mekanisme pengaksesan informasi bagi host lain pada database
yang terdistribusi untuk menemukan informasi host atau jaringan yang dipunyai oleh suatu organisasi.
Dan pada tahun 1984, Paul Mockapetris mengusulkan sistem database terdistribusi ini dengan Domain
Name System (DNS) yang dideskripsikan dalam RFC 882 dan 883. Sistem ini digunakan sampai sekarang
pada jaringan khususnya Internet.
Sistem DNS yang terdistribusi
Struktur dan Cara Kerja DNS
Struktur database DNS sangat mirip dengan sistem-berkas/filesystem UNIX yaitu berbentuk hierarki atau
pohon. Tingkat teratas pada DNS adalah root yang disimbolkan dengan titik/dot (.) sedangkan pada sistem
berkas UNIX, root disimbolkan dengan slash (/). Setiap titik cabang mempunyai label yang
mengidentifikasikannya relatif terhadap root (.). Tiap titik cabang merupakan root bagi sub-tree/tingkat
bawahnya. Tiap sub-tree merupakan domain dan dibawah domain terdapat sub-tree lagi bernama
subdomain. Setiap domain mempunyai nama yang unik dan menunjukkan posisinya pada pohon DNS,
pengurutan/penyebutan nama domain secara penuh dimulai dari domain paling bawah menuju ke root (.).
Masing-masing nama yang membentuk suatu domain dipisahkan dengan titik/dot (.) dan diakhiri dengan
titik yang merupakan nama absolut relatif terhadap root (.).
Contoh: raichu.cs.mit.edu.
"." merupakan root domain
edu merupakan Top Level Domain
mit merupakan Second Level Domain
cs merupakan Third Level Domain
raichu merupakan nama komputer/mesin yang bersangkutan
Sistem penulisan nama secara absolut dan lengkap ini disebut FQDN (Fully Qualified Domain Name).
Hierarki/pohon DNS dan sistem berkas UNIX Tiap organisasi yang telah mendaftar ke Network Information Center(NIC) akan mendapatkan nama domain
sesuai dengan organisasi tersebut. Nama domain tersebut bisa dibagi lagi menjadi subdomain sesuai
dengan kebutuhan organisasi tersebut sesuai dengan otorisasi domain. Contoh: InterNIC mempunyai
semua Top Level Domain termasuk com, perusahaan indolinux akan mendaftarkan nama domain
indolinux.com (komersial), maka indolinux diberikan/didelegasikan oleh InterNIC untuk mengelola domain
indolinux.com yang merupakan sub domain dari com. Indolinux dapat membagi lagi domain indolinux.com
ke beberapa sub domain misal pikachu.indolinux.com, raichu.indolinux.com. Setiap server DNS pada suatu
jaringan mempunyai informasi tentang host-host dalam jaringan tersebut yaitu alamat IP, routing email,
server ftp, server web, dsb. Selain itu tiap host dalam otorisasi suatu domain juga bisa mendapatkan alias
dari nama host-nya dalam domain di atasnya. misal: iwan.indolinux.com bisa saja mempunyai alias
(canonical name) pikachu.indolinux.com, dimana kedua domain tersebut mengacu ke mesin/host yang
sama.
Dengan adanya sistem berbentuk hierarki/pohon ini maka tidak ada nama host yang sama pada
domain/subdomain yang sama, karena masing-masing dari node/titik-cabang mempunyai nama unik dan
tidak boleh ada yang menyamainya kecuali berbeda sub-tree/sub pohon. Tidak akan ada konflik antar
organisasi karena masing-masing organisasi mempunyai domain yang berbeda-beda dan ini diatur oleh
InterNIC untuk TLD. Misal: indolinux menginginkan nama mesin/host di bawah domain indolinux.com
dengan nama pikachu (pikachu.indolinux.com), sedang 5leaps Software juga menginginkan nama yang
sama untuk salah satu host-nya dengan domain 5leaps.org. Disini tidak akan terjadi konflik karena masing-
masing mempunyai domain sendiri-sendiri. Indolinux mempunyai pikachu.indolinux.com dan 5leaps
Software mempunyai pikachu.5leaps.org.
Seperti dijelaskan di atas, tidak boleh suatu nama/label sama yang berada dalam domain sama atau
mempunyai parent atau sub-tree atas yang sama karena ini akan membuat konflik pada penamaan domain.
Coba bayangkan jika orang tua yang sama mempunyai dua orang anak dengan nama yang sama. Bagaimana
mereka memanggil satu dari dua anak tersebut? anda pasti tahu jawabannya. Ini sangat menyulitkan.
Konflik domain Kedalaman pohon dibatasi sampai level 127, akankah anda menembus batas ini untuk domain anda?
sepertinya tidak. Sebuah nama domain adalah nama sub-tree dari domain name-space. Suatu host diwakili
dengan nama domain yang full/penuh termasuk nama mesin/komputer tersebut, dan host mengacu pada
suatu host/komputer secara individu. Sedangkan domain berisi semua host yang berada dibawahnya.
Individual host yang berada pada suatu domain menunjukkan informasi mengenai alamat jaringan,
perangkat keras, routing mail, dsb. Untuk membedakan nama domain dan subdomain kita ambil contoh:
pikachu.indolinux.com adalah subdomain dari indolinux.com.
stwn.raichu.domain.net adalah subdomain dari raichu.domain.net.
dst.
Top Level Domain (TLD)
Top Level Domain adalah domain pada level teratas di bawah root (.). Ada tiga pengelompokkan Top Level
Domain:
1. Domain Generik Terdiri atas 7 domain yaitu :
1. com
Untuk organisasi komersial. contoh: ibm.com, sun.com.
2. net
Untuk organisasi/perusahaan penyedia layanan jaringan/Internet. contoh: internic.net,
nsf.net.
3. gov
Untuk lembaga/organisasi pemerintahan. contoh: whitehouse.gov, nasa.gov.
4. mil
Untuk badan/organisasi militer. contoh: army.mil.
5. org
Untuk organisasi non-komersial. contoh: linux.org.
6. edu
Untuk lembaga pendidikan. contoh: mit.edu, berkeley.edu.
7. int
Untuk organisasi Internasional. contoh: nato.int.
Selain 7 domain di atas ada lagi 7 domain baru dari ICANN (www.icann.org) yaitu:
8. aero
Untuk industri atau perusahaan udara.
9. biz
Untuk perusahaan atau lembaga bisnis.
10. coop
Untuk perusahaan atau lembaga kooperatif
11. info
Untuk penggunaan umum.
12. museum
Untuk museum.
13. name
Untuk registrasi bagi penggunaan individual/personal.
14. pro
Untuk para profesional seperti: akuntan, dan lain-lain.
2. Domain Negara
Merupakan standar pembagian geografis berdasarkan kode negara. Contoh: id untuk Indonesia, au
untuk Australia, uk untuk Inggris, dan lain-lain. Domain negara ini dapat dan umumnya diturunkan
lagi ke level-level di bawahnya yang diatur oleh NIC dari masing-masing negara, untuk Indonesia
yaitu IDNIC. Contoh level bawah dari id yaitu net.id, co.id, web.id.
3. Domain Arpa
Merupakan domain untuk jaringan ARPAnet. Tiap domain yang tergabung ke Internet berhak
memiliki name-space .in-addr.arpa sesuai dengan alamat IP-nya.
Name-Server dan Zone
Name-server adalah program server yang memiliki informasi mengenai host di bawah domain tertentu.
Name-server mempunyai bagian-bagian informasi mengenai domain name-space yang dikenal dengan
zone. Zone ini akan dimuat dari berkas yang disimpannya atau dari server DNS lain. Sebagai contoh domain
id bisa dibagi menjadi beberapa zone yaitu ac.id, net.id dan dari zone tersebut bisa dibagi lagi menjadi zone-
zone yang lebih kecil misal undip.ac.id, dst. Disini yang bertanggung jawab ialah organisasi/lembaga yang
memiliki domain tersebut.
Pembagian zone Ada dua tipe dari name-server yaitu:
1. Primary Master, Primary Master name-server bertanggung jawab terhadap suatu zone dengan
memuat informasi dari berkas database pada dirinya sendiri.
2. Secondary Master (Slave), Secondary Master name-server memuat informasi zone dari server lain
yang otoritatif pada suatu zone yang disebut Master Server. Secondary Master akan melakukan
zone-transfer dari Master Server untuk mendapatkan data/informasi pada suatu zone yang
dikelolanya.
Primary Master dan Secondary Master server DNS
Untuk dapat bekerja name-server membutuhkan resource-record untuk domain yang dikelola. Resource-
record adalah data yang mengacu/menunjukkan pada informasi mengenai host pada jaringan atau domain
tertentu.
Komponen DNS
DNS sebenarnya merupakan suatu sistem server-client, jadi ada suatu mekanisme dari client untuk
meminta informasi dari server yang akan memberikan informasi yang diminta sang client. Seperti yang
disebutkan di atas program pada server tersebut sering disebut dengan name-server. Pada client sering
disebut dengan resolver.
DNS mempunyai beberapa komponen yaitu:
1. Resolver
Resolver yaitu suatu rutin pustaka yang akan membuat suatu permintaan/query dan
mengirimkannya lewat jaringan ke sebuah name-server. Program tersebut berjalan pada host yang
menginginkan informasi mengenai suatu host di Internet. Resolver juga menginterpretasikan
respon dari name-server apakah informasi yang diminta merupakan record ataupun kesalahan.
2. Resolution
Resolution yaitu proses pencarian name-server yang mempunyai tanggung jawab terhadap suatu
domain yang akan diminta. Setelah name-server yang dicari ditemukan maka server akan
memberikan informasi name-server yang bersangkutan kepada pemintanya.
3. Caching
Caching yaitu suatu rutin yang akan menyimpan hasil pencarian domain dalam database dari name-
server yang pernah diminta. Time To Live (TTL) merupakan batas waktu dimana server DNS dapat
menyimpan/caching infomasi yang pernah dicari.
Resolver, caching, dan resolution
BIND (Berkeley Internet Name Domain)
BIND merupakan salah satu implementasi dari DNS yang paling banyak digunakan pada server di Internet.
Implementasi DNS pertama adalah JEEVES buatan Paul Mockapetris. BIND dibuat untuk sistem operasi BSD
UNIX 4.3 oleh Kevin Dunlap, tapi kemudian banyak di-porting ke banyak turunan UNIX termasuk Linux.
BIND sampai sekarang masih dikoordinasi oleh Internet Software Consortium. Program utama dari BIND
adalah bernama named yaitu sebuah daemon yang bila dijalankan akan menunggu koneksi pada port 53
(default). Koneksi pada port 53 ini adalah koneksi permintaan informasi pemetaan dari nama
domain/mesin ke alamat IP dan sebaliknya. Jika sebuah server DNS mempunyai otorisasi terhadap suatu
domain maka si server DNS tersebut akan memberikan informasi mengenai nama-nama mesin/domain
yang berada di bawah domain yang dipegangnya. Misal: server DNS penulis mempunyai otorisasi terhadap
domain indolinux.com, maka ketika ada sebuah komputer dari Internet ingin mengakses
pikachu.indolinux.com, maka sang komputer itu akan menghubungi server DNS penulis untuk mengetahui
informasi alamat IP dari pikachu.indolinux.com. Sang server DNS akan menjawab permintaan/query dari
komputer peminta tersebut dengan alamat IP yang sesuai kemudian komputer tersebut dapat mengakses
pikachu.indolinux.com melalui alamat IP yang diberikan oleh name-server tersebut.
Pencarian host pikachu.indolinux.com
Versi terakhir pada saat artikel ini dibuat adalah BIND versi 9.2.1. Sebagian besar distribusi Linux
menyertakan paket BIND. Jadi anda tinggal konfigurasi dan aktifkan saja jika sudah terinstal.
BIND secara umum terdiri dari beberapa berkas yang mendukung yaitu:
1. /etc/resolv.conf
Berkas konfigurasi berisi domain atau alamat IP name-server yang pertama dicari oleh resolver
ketika sebuah domain/nama mesin diminta untuk dipetakan ke alamat IP.
2. /etc/nsswitch.conf
Berkas konfigurasi sistem untuk melakukan mekanisme switch sistem database dan name-service.
Switch dapat melalui berkas, name-server, atau NIS server.
3. /etc/named.conf
Berkas konfigurasi dari BIND yang utama, berisi informasi mengenai bagaimana klien DNS
mengakses port 53, letak dan jenis berkas database yang diperlukan. Umumnya berisi letak berkas
konfigurasi name-server root, domain, localhost/loopback, dan reverse-mapping.
4. /var/named/named.ca
Berkas database name-server root yang bertanggung jawab terhadap Top Level Domain di Internet.
Digunakan untuk mencari domain di luar domain lokal. Nama berkas ini bisa anda definisikan
sendiri tetapi tetap harus mengacu ke named.conf sebagai berkas konfigurasi utama dari BIND.
5. /var/named/named.local
Berkas database name-server untuk alamat loopback/host lokal/alamat diri sendiri. Nama berkas ini
bisa anda definisikan sendiri tetapi tetap harus mengacu ke named.conf sebagai berkas konfigurasi
utama dari BIND.
6. /var/named/db.domain-kita.com
Berkas database name-server untuk domain domain-kita.com yang berisi resource record, informasi
nama host dan alamat IP yang berada di bawah domain domain-kita.com. Berkas ini bisa lebih dari
satu tergantung jumlah domain yang kita kelola. Nama berkas ini bisa anda definisikan sendiri
tetapi tetap harus mengacu ke named.conf sebagai berkas konfigurasi utama dari BIND.
7. /etc/rndc.conf
Berkas konfigurasi program rndc yaitu suatu program untuk administrasi dan kontrol operasi name-
server BIND.
Nama Domain
Pertama kita harus mempunyai nama domain yang sudah didaftarkan ke InterNIC untuk Top Level Domain
(TLD) atau IDNIC untuk TLD-ID (.id): net.id, co.id, or.id, web.id.
Pendaftaran dapat secara langsung atau melalui ISP dan penyedia layanan pendaftaran dan pembelian
nama domain. Jika anda belum mau untuk mendaftarkan domain dan ingin membuat domain main-main,
penulis ingatkan untuk menambahkan baris notify no pada zone di berkas named.conf. Tujuannya
adalah agar named tidak memberikan pencarian dan pemberitahuan ke server yang terdaftar sebagai NS
record pada berkas zone dan secondary-master/slave name-server (jika ada) untuk meng-update database
cache name-server domain anda itu. Karena record dengan domain-main-main Anda tidak ada dalam
jaringan atau Internet. Contoh penambahan baris notify no:
zone "domain-belum-daftar.org" {
type master;
notify no;
file "db.domain-belum-daftar.org";
};
Konfigurasi
Untuk mudahnya penulis buat skenario pembuatan server DNS dengan domain sebagai berikut:
Nama domain yang sudah kita daftarkan adalah my-server.com.
Alamat IP publik yang diberikan oleh ISP kita adalah 202.234.5.67 s.d 202.234.5.72. Pada server DNS akan
digunakan IP 202.234.5.67.
Domain dan IP di atas adalah 'fiktif' jadi dalam named.conf perlu ditambahkan baris notify no pada bagian
zone. Untuk Anda yang mempunyai domain dan alamat IP resmi tinggal mengganti domain my-server.com
dan IP-nya.
Seperti biasa kita harus mengkonfigurasi berkas-berkas:
1. named.conf
Tambahkan baris zone untuk domain anda pada berkas ini (my-server.com).
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default. query-source address * port 53;
*/
};
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "my-server.com" IN {
type master;
notify no;
file "db.my-server.com";
};
zone "5.234.202.in-addr.arpa" IN {
type master;
notify no;
file "db.202.234.5";
};
key "key" {
algorithm hmac-md5;
secret "jggRewTTCgdTOUvWPd0cqPoRiQfKvoYYJnhpVqWcWpfrgSRedgKlpyjbmlsd";
};
Baris zone "my-server.com" adalah menunjukkan zone yang otoritatif untuk nama domain my-
server.com dan diikuti dengan dengan tipe name-server yaitu master karena kita akan membuat
primary-master name-server. Selanjutnya diikuti nama berkas database zone yaitu db.my-
server.com, letaknya berada di direktori /var/named/ sesuai dengan options pada baris directory.
Baris zone "5.234.202.in-addr.arpa" adalah menunjukkan zone reverse-mapping. Pemetaan alamat
IP ke nama domain di bawah my-server.com.
2. named.ca
Berkas ini berisi daftar name-server root di Internet. Isinya identik dengan named.ca pada
konfigurasi BIND untuk resolving-caching juga cara meng-update-nya.
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; temporarily housed at ISI (IANA)
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; housed in Japan, operated by WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File
3. named.local
Berkas ini berisi database untuk localhost fungsinya untuk alamat loopback.
$TTL 86400
@ IN SOA ns1.my-server.com. root.ns1.my-server.com. (
2002081219 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns1.my-server.com.
1 IN PTR localhost.
4. resolve.conf
Berisi domain pertama yang akan dicari dan name-server yang akan dituju untuk permintaan
resolving nama domain.
search ns1.my-server.com my-server.com
nameserver 127.0.0.1
nameserver 202.234.5.67
5. Berkas zone
Berkas ini berisi database-cache untuk domain tertentu misal: my-server.com. Berkas ini
merupakan berkas yang penting dari suatu domain karena di dalamnya terdapat data dan informasi
yang penting untuk nama host/subdomain/domain dan alamat IP serta server mana yang otoritatif
untuk domain tersebut.
$TTL 86400
@ IN SOA ns1.my-server.com. root.ns1.my-server.com. (
2002081219 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
; Name Servers
@ IN NS ns1.my-server.com.
; MX records
IN MX 10 mx.my-server.com.
ns1 IN A 202.234.5.67
mx IN A 202.137.7.68
www IN A 202.137.7.69
my-server.com. IN CNAME ns1.my-server.com.
squirtle IN CNAME ns1.my-server.com.
Berkas reverse-mapping
Berkas ini berisi pemetaan alamat IP ke host/sub domain di bawah domain my-server.com.
$TTL 86400
@ IN SOA ns1.my-server.com. root.ns1.my-server.com. (
2002081219 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns1.my-server.com.
IN PTR ns1.my-server.com.
IN PTR mx.my-server.com.
IN PTR www.my-server.com.
Entri pada berkas database dikenal dengan DNS resource record. Beberapa resource record yang ada pada
berkas database domain, sebagai berikut:
1. SOA
2. NS record
3. Record lain
Komentar
Komentar pada berkas konfigurasi akan diabaikan oleh name-server. Untuk memulai sebuah komentar bisa
digunakan sebuah semikolon jika anda menggunakan BIND versi 4. Pada BIND 8 dan versi selanjutnya, kita
dapat menggunakan 3 gaya komentar, yaitu C, C++, atau shell.
/* Komentar Gaya C */
// Komentar Gaya C++
# Komentar Gaya Shell
Berkas konfigurasi DNS mudah untuk dibaca karena terdapat komentar yang memberikan petunjuk untuk
pengeditan kembali di lain waktu. Pada berkas database-cache name-server root, loopback/localhost, zone,
reverse-mapping digunakan semikolon (;) untuk memberikan komentar di dalamnya.
SOA (Start Of Authority)
SOA mengindikasikan otoritas name-server pada zone data atau informasi nama host/domain pada
zone yang bersangkutan (my-server.com).
@ menunjukkan bahwa zone yang bersangkutan adalah zone domain yang ditunjukkan berkas
named.conf ke berkas database-cache tersebut atau origin zone yaitu my-server.com. Karakter @
dapat kita gantikan dengan my-server.com tapi umumnya berkas database menggunakan notasi @.
IN singkatan dari Internet. Semua informasi Internet digunakan IN dan untuk informasi non-
Internet digunakan kode lain.
Nama setelah SOA adalah primary-master name-server yang bertanggung jawab terhadap domain
my-server.com.
Selanjutnya adalah email dari administrator DNS yaitu [email protected], pada berkas
database ditulis dengan root.ns1.my-server.com. Jika anda menggunakan email
[email protected] maka pada berkas database ditulis hostmaster.ns1.my-server.com.
Ketika kita mendapatkan masalah dengan host/sub-domain di bawah domain my-server.com kita
bisa mengirimkan pesan ke e-mail ini.
TTL pada awal database-cache merupakan Time To Live, yaitu waktu yang diperlukan server DNS
untuk menyimpan hasil resolving ke cache-nya.
2002081219 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
Serial adalah nomor seri database-cache domain my-server.com. Jika ada perubahan data pada
berkas zone my-server.com misal: menambahkan domain iwan.my-server.com, maka anda harus
merubah/menambah nomor serinya. Sebaiknya digunakan format tahun-bulan-tanggal-jam untuk
nomor serialnya. Pada berkas database untuk zone domain my-server.com tersebut terakhir di-
update tanggal 12 Agustus 2002 jam 19. Fungsi dari serial ini adalah untuk memberitahukan kepada
secondary-master name-server untuk meng-update database-cache-nya jika ada perubahan pada
primary-master name-server yaitu dengan melakukan pengecekan nomor serial. Jika nomor serial
berubah/bertambah maka secondary-master name-server akan segera melakukan zone-transfer
dari primary-master name-server.
Refresh adalah selang waktu yang diperlukan (dalam detik) secondary-master name-server untuk
melakukan pengecekan perubahan database-cache pada primary-master name-server.
Retry adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk menunggu
pengulangan cek berkas zone jika pada saat proses refresh primary-master name-server tidak
memberikan respon.
Expire adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk
mempertahankan berkas zone jika tidak dapat melakukan zone-refresh. Jika setelah waktu expire
telah habis tapi secondary-master name-server tidak dapat melakukan zone-refresh maka berkas
zone pada secondary-master name-server akan dihapus.
Minimum adalah nilai waktu (TTL) default untuk semua resource-record yang ada dalam berkas
zone.
NS record
NS record yaitu daftar name-server yang otoritatif untuk zone bersangkutan. Pada database domain my-
server.com name-servernya adalah ns1.my-server.com.
MX record
Baris MX (Mail Exchanger) adalah record routing email untuk domain my-server.com dalam hal ini akan
diarahkan ke mx.my-server.com. Host yang ditunjuk sebagai mail exchanger akan memproses atau
meneruskan mail untuk domain my-server.com.
IN MX 10 mx.my-server.com.
Baris di atas menunjukkan bahwa mx.my-server.com sebagai mail exchanger untuk mail domain my-
server.com yang umumnya sebagai server mail. Angka 10 adalah angka nilai preferensi (preference value)
untuk menunjukkan tingkat prioritas mail exchanger yang digunakan untuk memproses atau meneruskan
mail yang menuju domain my-server.com.
Proses routing mail
Untuk lebih jelas kita gunakan mail exchanger lebih dari satu, misal:
IN MX 10 mx1.my-server.com.
IN MX 20 mx2.my-server.com.
Ketika ada mail untuk domain my-server.com maka mail tersebut akan dikirimkan terlebih dahulu ke
mx1.my-server.com untuk diproses, jika gagal maka mail akan diarahkan ke mx2.my-server.com sesuai
dengan nilai preferensi.
Record Lain
Record lain berupa data tentang host atau subdomain yang ada pada domain (my-server.com) dan
pemetaan ke alamat IP-nya masing-masing.
A (address) yaitu pemetaan nama ke alamat IP.
PTR (pointer) yaitu pemetaan alamat IP ke nama.
CNAME yaitu canonical name fungsinya untuk alias, jadi suatu host dapat mempunyai nama lebih dari satu.
Pada berkas database tersebut terdapat domain dan subdomain: ns1.my-server.com, mx.my-server.com,
www.my-server.com, my-server.com, squirtle.my-server.com. My-server.com dan squirtle.my-server.com
adalah alias dari ns1.my-server.com.