I. Pendahuluan
Domain Name System (DNS) merupakan mekanisme untuk melakukan translasi IP
addres ke nama domain atau sebaliknya dari nama domain ke IP address. Server DNS
merupakan server yang memiliki fungsi untuk mentranslasikan nama domain ke IP
address atau sebaliknya. Dalam jaringan komputer satu komputer dapat dikenali oleh
komputer lain karena masing-masing komputer memiliki alamat yang unik yang disebut
dengan alamat IP/IP address. Alamat IP merupakan kumpulan angka misalnya
192.168.0.1 dan lain-lain. Bagi seorang pengguna terlalu sulit untuk mengingat-ingat
deretan angka dibandingkan dengan mengingat-ingat nama misalnya www.uii.net.id. Di
satu sisi komputer hanya mengenal alamat komputer lain berdasarkan IP address pada
sisi pengguna lebih mudah mengingat-ingat alamat bersarkan nama tertentu. Sehingga
DNS bekerja untuk mempermudah user mengingat nama suatu komputer tertentu.
User dengan Browser -> Request www.uii.net.id Server DNS Lokal -> Server DNS
root(.) -> Server DNS net.id -> Server DNS uii.net.id ->info diberikan ke browser yang
meminta.
DNS secara umum memiliki tiga komponen yaitu :
Resolver
Ialah bagian aplikasi klien yang mengakses name server. Semua program yang
membutuhkan DNS, memakai resolver. Proses resolving :Mengajukan permintaan
terhadap name server Menginterpretasikan permintaan (resolve), dan memberikan
response Mengembalikan informasi kepada program yang memintanya. Resolver
akan menjawab dengan dua cara yaitu melihat isi dari cache yang pernah
ditanyakan sebelumnya, serta menanyakan kepada DNS Server untuk mendapatkan
hasilnya. Resolver yang biasa dipergunakan untuk mencari informasi tentang DNS
adalah nslookup.
Resolution
Dalam menjawab permintaan terhadap sebuah domain, name server akan mencari
name server yang bertanggung jawab terhadap domain yang diminta . Selain
mencari, name server juga memberikan informasi tentang server yang
bersangkutan. Proses ini disebut name resolution, atau disingkat resolution.
Caching
Setiap permintaan terhadap sebuah domain, memaksa name server untuk
mengakses databasenya, dan mencari name server yang bertanggung jawab. Untuk
itu name server melakukan caching terhadap domain-domain yang pernah diminta.
Karena tidak bisa dicaching untuk selamanya, maka name server mendefinisikannya
dengan Time to Live (TTL).
};
zone "." {
type hint;
file "named.root";
};
zone "localhost" {
type master;
file "db.localhost";
allow-update { none; };
};
zone "latihan.net" {
type master;
file "db.latihan";
allow-update { none; };
};
Option Direktori
Berisi informasi letak direktori yang menyimpan file domain atau zone-file. Pada contoh
diatas file domain atau zone-file disimpan pada direktori /var/named.
options {
directory "/var/named";
pid-file "/var/named/named.pid";
};
Zone Statement
Zone statement harus dikonfigurasi pada file named.conf. Zone statement
mendefinisikan nama-nama domain yang dikelola oleh server DNS yang
bersangkutan.Tiga buah Zone statement yang paling umum diberikan adalah zone
statement dengan type master, type slave dan hint(.)
zone "." {
type hint;
file "db.root";
};
zone "localhost" {
type master;
file "db.localhost";
allow-update { none; };
zone "latihan.org" {
type master;
file "db.latihan";
allow-update { none; };
};
zone "slave-latihan.org" {
type slave ;
master(IP address DNS Master}
file "db.slavelatihan";
};
Type hint dipergunakan oleh DNS Server untuk menghubungi beberapa name server.
Pada konfigurasi seperti di atas daftar server root disimpan pada file /var/name/db.root.
Isi dari file db.root adalah :
; 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 . <file>"
; 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
Master Zone, zone dengan tipe master digunakan apabila DNS server akan dijadikan
primary DNS Server . Pada contoh di atas zone latihan.org bertipe master file resource
rocord DNS disimpan pada file /var/named/db.pelatihan.
zone "latihan.org" {
type master;
file "db.latihan";
allow-update { none; };
Slave Zone, tipe slave dipergunakan apabila DNS Server akan dijadikan secondary
DNS. Pada contoh di bawah zone slave-latihan.org merupakan zone bertipe slave. Pada
Tipe slave option master harus diberikan, master merupakan option IP address Primary
DNS Server. File resource record disimpan pada /var/named/db.slave-pelatihan
zone "slave-latihan.org" {
type slave ;
master(IP address DNS Master}
file "db.slave-pelatihan";
allow-update { none; };
Konfigurasi named.conf
Setelah BIND diinstall, lankah selanjutnya adalah melakukan konfigurasi pada file
named.conf. Isi file tersebut dengan editor text misalnya mcedit :
Melalui editor text mcedit isikan file named.conf tersebut sebagai berikut :
options {
directory "/var/named";
pid-file "/var/named/named.pid";
};
zone "localhost" {
type master;
file "db.localhost";
allow-update { none; };
};
zone "." {
type hint;
file "db.root";
};
[root@localhost]#mcedit /var/named/db.localhost
Langkah selanjutnya adalah melakukan konfigurasi pada file db.root yang isinya
adalah seperti pada penjelasan type hint di atas. File ini harus diubah apabila ada
perubahan pada root name server. Jika komputer terkoneksi dengan internet file ini
bisa melalui download via ftp dengan perintah wget:
Hasilnya adalah
1.0.0.127.in-addr.arpa domain name pointer localhost.
Hasilnya adalah :
localhost has address 127.0.0.1
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 86207 IN PTR localhost.
;; AUTHORITY SECTION:
0.0.127.in-addr.arpa. 86207 IN NS localhost.
;; ADDITIONAL SECTION:
localhost. 86400 IN A 127.0.0.1
Hasilnya adalah :
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: localhost
Address: 127.0.0.1
Apabila DNS server yang telah dikonfigurasi terhubung ke internet dapat dilakukan test
melakukan query DNS pada nama domain tertentu misalnya yahoo.com, perintah yang
diberikan adalah :
zone "." {
type hint;
file "db.root";
};
};
zone "latihan.org" {
type master;
file "db.latihan";
};
Simpan hasil konfigurasi di atas. Konfigurasi di atas hampir sama sama dengan
konfigurasi pada caching-only name server, hanya ditambahkan zone untuk
latihan.org. Langkah selanjutnya adalah melakukan konfigurasi pada zone file untuk
domain latihan.org, dimana file zone berada pada file db.latihan. Langkahnya adalah
sebagai berikut :
[root@localhost]#mcedit /var/named/db.latihan
IN NS ns1.latihan.org.
IN NS ns2.latihan.org.
IN MX 10 mail.latihan.org.
IN A 192.168.0.13
ns1 IN A 192.168.0.13
ns2 IN A 192.168.0.58
www IN A 192.168.0.13
mail IN A 192.168.0.13
Simpan file tersebut. Setiap perubahan pada file zone record ini nomor serial selalu
dinaikkan. Dan setelah perubahan diberikan restart named dengan memberikan
perintah :
[root@localhost]# killall –HUP named
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
Isikan dari mulai # Start of rndc.conf sampai dengan # End of rndc.conf pada file
/etc/rndc.conf
[root@localhost]# mcedit /etc/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "zRH6y+aYaeaaNCq2KCtk5Q==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
key "rndc-key" {
algorithm hmac-md5;
secret "zRH6y+aYaeaaNCq2KCtk5Q==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
IN NS ns1.
1 IN PTR tes01-latihan17.org.
2 IN PTR tes02-latihan17.org.
$TTL 86400
@ IN SOA latihan.org. admin.latihan.org. (
2004022555 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ; minimum
)
IN NS ns1.latihan.org.
1 IN PTR gate-latihan.org.
13 IN PTR tes13-latihan.org.
Setelah DNS server restart maka server DNS siap berjalan dengan konfigurasi
yang baru, testing denga memberikan perintah :
;; QUESTION SECTION:
;1.0.10.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.10.172.in-addr.arpa. 86400 IN PTR tes01-
latihan17.org.
;; AUTHORITY SECTION:
0.10.172.in-addr.arpa. 86400 IN NS
ns1.latihan.org.
;; ADDITIONAL SECTION:
ns1.latihan.org. 86400 IN A 192.168.0.13
logging {
category lame-servers {null;};
};
zone "." IN {
type hint;
file "/var/named/db.root";
};
zone "localhost" IN {
type master;
file "/var/named/db.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "/var/named/db.127.0.0";
};
zone "latihan.org" {
type slave;
file "/var/named/db.slavelatihan.org";
masters {192.168.0.13;};
};
zone "0.10.172.in-addr.arpa" {
type slave;
file "/var/named/db.slave172.10.0";
masters{192.168.0.13;};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "/var/named/db.slave192.168.0";
masters{192.168.0.13;};
};