Pendahuluan
Konfigurasi yang akan dibicarakan di sini adalah versi 8.1.2, bukan 4.x. Kedua versi ini sedikit mempunyai perbedaan. Konfigurasi ini akan dibagi-bagi lagi menjadi jenis-jenis DNS yaitu cache, primary dan secondary.
Secara umum file-file yang perlu dibuat adalah :
· Named.conf
File ini merupakan file konfigurasi utama dari named. Di file inilah akan dinyatakan file-file database yang akan digunakan untuk menterjemahkan IP address ke Hostname atau sebaliknya.
· File database domain
File ini berisikan nama-nama host dari sebuah domain yang di mapping ke ip addressnya .
· File database reverse domain
Kebalikan dari file database domain, file ini memuat daftar ip address yang dimapping ke host name dari domain tertentu.
Ketiga file ini mutlak dibutuhkan untuk membuat name server. Untuk DNS tipe cache, hanya file pertama yang dibutuhkan. Sedangkan file kedua dan ketiga diperlukan untuk primary dan secondary server.
Konfigurasi File Named.conf
File ini merupakan file utama dan yang pertama dibaca sewaktu memulai named. File ini berisikan jenis server apa yang akan dibuat, apa saja nama-nama file database domain dan reverse-nya ( kebalikannya ). Berikut diterangkan beberapa optionsnya :
1. Letak file konfigurasi
Syntax :
options {
directory /nama/direktori ;
};
Contoh : options {
directory /var/named;
};
2. Pengaturan zone
Syntax :
zone "nama.zone.com" {
type jenis_type_server;
file "nama_file_database_host" ;
};
Contoh :
zone "salman.itb.ac.id" {
type master;
file "db.salman.itb.ac.id ";
};
Jika jenis server yang akan digunakan adalah secondary atau dalam versi 8 ini disebut slave, maka sintaks yang digunakan :
zone "salman.itb.ac.id" {
type slave;
masters {
167.205.206.100;
};
};
IP address yang disebutkan diatas merupakan IP address Domain Name Service
Untuk zone root atau dengan kata lain ".", cara penggunaannya :
zone "." {
type hint;
file "named.root";
};
Zone-zone resolve, dapat dituliskan sebagai berikut :
zone "9.205.167" {
type master;
file "9.205.167.in-addr.arpa";
};
Pada contoh di atas, zone “9.205.167” merupakan kumpulan ip address yang berada pada ip kelas C 167.205.9.x, mulai dari 167.205.9.0-167.205.9.255.
3. ACL (Access Control List)
ACL adalah daftar alamat ip atau host. Daftar ini diperlukan bila ada rule yang mengharuskan. Misalnya DNS server ini hanya boleh dipakai oleh sekelompok tertentu saja, sisanya di tolak. Hal ini diperlukan untuk membuat DNS server yang diquery dari dalam firewall
acl name {
daftar_list_nama;
};
Query
Dengan query ini, named dapat di set untuk memenuhi permintaan query dari host-host dengan ip tertentu saja. Selain ip-ip tersebut akan ditolak.
allow-query {
167.205/16;
}
Transfer
Seperti sudah dibicarakan sedikit di atas, hubungan antara primary ( master ) dengan secondary ( slave ) diperlukan sebuah sinkronisasi. Untuk melakukan transfer zone , master harus memberikan izinnya kepada slave seperti demikian :
allow-transfer {
167.205.15.7;
}
CONTOH FILE NAMED.CONF
Dalam contoh kali ini kita mengunakan domain salman.itb.ac.id, dan diasumsikan jaringan pada domain salman.itb.ac.id mempunyai network address 167.205.206.96.
options {
directory “/var/named/”;
fetch-glue no;
recursion no;
allow-query {167.205.206.96/26;127.0.0/8;};
allow-transfer {167.205.206.99;};
zone "." {
type hint;
file "db.cache";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "db.127.0.0";
};
zone “salman.itb.ac.id” in {
type master;
file “db.salman.itb.ac.id”;
};
zone “206.205.167.in-addr.arpa” in{
type master ;
file “db.167.205.206”;
};
Option “fetch-glue no” digunakan bersama dengan option “recursion no” untuk menjaga cache server dari “pertambahan” atau “terkorupsi”. Selain itu men-disable recursion membuat server kita menjadi mode pasif, tidak pernah mengirim request ke name server yang lain. Mode ini sulit di-spoof.
Option “allow-query” menyebutkan bahwa hanya komputer pada network address 167.205.206.96 dan komputer local saja yang bisa mengakses DNS server.
Option “allow-transfer “ menyebutkan IP address host yang menjadi secondary name server.
Pada konfigurasi diatas kita terlihat bahwa kita mempunyai 4 file database yang terletak dibawah direktori /var/named/. File tersebut antara lain:
1. db.cache
Berisi daftar root DNS yang ada di seluruh dunia.
2. db.127.0.0
Berisi mapping local hostname ke IP address
3. db.salman.itb.ac.id
Berisi mapping IP address ke hostname pada domain salman.itb.ac.id
4. db.167.205.206
Berisi mapping hostname ke IP address pada domain salman.itb.ac.id
Konfigurasi File Database Name Server
Selain membuat file named.conf, file yang perlu kita buat adalah file database domain dan file reverse database domain Pada modul kali in akan dibahas tentang kedua file tersebut.
Konfigurasi File Database Domain
Dalam file ini terdapat satu set informasi untuk setiap domain. Set informasi untuk suatu domain bisa berupa IP address, nama alias , nama sever yang bertanggung jawab atas domain tersebut dan lain-lain.
Masing-masing informasi dalam satu set informasi disebut “resource record”.
Format standart untuk setiap resource record dalam file database domain adalah :
<hostname atau zona> <ttl> <address class> <tipe> <catatan spesifik>
Keterangan :
1. Field pertama ialah nama domain atau bisa juga namat host yang akan diresolve. Penulisan field ini selalu dimulai pada kolom pertama.
Untuk semua resource record selain resource record pertama dalam suatu file, field ini boleh dikosongkan. Jika field ini dikosongkan maka domain yang tidak disebutkan ini akan merujuk ke resource record pertama.
2. ttl (time to live) adalah waktu lamanya data boleh disimpan dalam file database ini. Bila field ini dikosongkan maka TTL dipakai adalah TTL yang disebutkan dalam resourch record SOA (Start Of Autority). SOA akan diterangkan setelah ini.
3. address class . hanya satu class yang di support, yaitu IN, untuk Internet class.
4. Type resource record :
Beberapa tipe yang banyak dipakai adalah
A. SOA (Start of Authority)
Untuk mendeklarasikan suatu zona dan pengaturnya. Record ini mutlak diperlukan dalam suatu name server. Setiap zona hanya memiliki sebuah zona.
<zona> IN SOA <origin> <contact> (
serial
refresh
retry
expire
minimum
)
-Zona : Mendefinisikan zona DNS
-Origin : Primary DNS server
- Contact : email address dari administrator/penanggung jawab dari Name Server ini. Tanda @ pada email address diganti dengan tanda . ( titik).
-Serial : Nomor seri zona file yang merupakan salah satu acuan bagi secondary server, apakah record yang ada lebih baru. Sebaiknya disesuaikan dengan saat pembuatan file, sintak yang dianjurkan adalah YYYYMMDDHHmm (tahun-bulan-tanggal-jam-menit). Sintak seperti di atas akan membantu dalam melacak perubahan.
-Refresh : Selang waktu untuk secondary server mengecek data di primary server.
-Retry : Lama waktu tunggu bagi secondary server untuk mengulangi pengecekan jika usaha pengecekan sebelumnya gagal.
-Expire : Lama waktu data di secondary server kadaluarsa sejak kegagalan refresh.
-Minimum : nilai time to live untuk semua record.
B. Name Server Record
Merupakan identifikasi DNS server untuk sebuah domain.
Format yang umunya dipakai :
[domain} IN NS dns_server
Keterangan:
· domain : domain yang ditangani oleh dns server yang disebutkan dalam field dns_server
· .dns_server : Hostname dari server yang bertanggung jawab atas domain tersebut di depan.
C. Mail Exchanger
Mail exchanger adalah sebuah server yang menyediakan service untuk menerima atau meneruskan mail untuk / dari host lainnya. Mirip dengan sebuah relay untuk meneruskan mail. Pada MX record ini terdapat sebuah angka prioritas, yang semakin rendah angkanya berarti semakin tinggi prioritasnya. Priorotas di sini dimaksudkan untuk host yang mempunyai beberapa MX record.
Format:
name IN MX prioritas host
Keterangan:
· name : hostname atau domai tujuan pengiriman email
· prioritas : tingkat prioritas mail exchanger yang akan digunakan untuk me-redirect mail ke ‘name’. Hal ini diperlukan karena suatu mail server bisa saja mempunyai mail exchanger lebih ar satu.
· Host : hostname dari mail exchanger.
D. Aliasing
Seperti arti katanya, aliasing berfungsi untuk memberikan nama lain kepada sebuah host yang sudah punya nama. Jenis record yang digunakan bernama CNAME ( Canonical Name ).
Format :
alias IN CNAME host
Keterangan:
- alias : nama alias
- host : nama asli host asli
E. Address record
Untuk memetakan hostname ke IP address. Format:
hostname IN A address
Keterangan:
Host : nama suatu host. Hostname ini ditulis secara relatif terhadap domain host tersebut. Misalakn host students.ee.itb.ac.id akan ditulis students saja pada file database untuk zona ee.itb.ac.id
Address : IP address dari host tersebut diatas.
Contoh lengkap untuk domain salman.itb.ac.id
Nama file : “/var/named/db.salman.itb.ac.id”. File ini merupakan file yang dideklarasikan di file named.conf pada zona “salman.itb.ac.id”.
@ IN SOA ns.salman.ac.id. admin.ns.salman.itb.ac.id.(
2001090100 ;serial thblntglnomor
86400 ;refresh setiap 12 jam
3600 ; retry 1 jam
3600000 ; expire 1000 jam
86400 ) ;TTL
IN NS ns.salman.itb.ac.id.
gtw IN A 167.205.207.27
IN A 167.205.206.97
ns IN A 167.205.206.100
localhost IN A 127.0.0.1
attaqwa IN A 167.205.206.109
attaubah IN A 167.205.206.110
unit IN A 167.205.206.101
IN MX 10 unit
IN MX 20 gtw
IN MX 50 mx.itb.ac.id.
Host yang bernama unit mempunyai beberapa MX record yaitu unit, gtw dan mx.itb.ac.id. Angka-angka 10 20 dan 50 tersebut menyalakan bahwa apabila ada mail datang untuk host unit.salman.itb.ac.id, harap mail tersebut disampaikan ke unit.itb.ac.id pada usaha pertama, Bila usaha pertama gagal ( unit.salman.itb.ac.id sedang crash, down ) , pengantaran email dilanjutkan ke gtw.salman.itb.ac.id dan apabila gagal juga diantarkan ke mx.itb.ac.id. Demian arti dari multiple MX record pada host unit.
Konfigurasi file /var/named/db.cache
File ini menginformasikan kepada server, dimana letak server zone “root”. Untuk mendapatan file ini, anda harus melakukan ftp ke rs.internic.net, dengan lokasi direktori /domain/named.root. ubah nama file ini menjadi db.cache dan letakkan dibawah direktori /etc/namedb
Jangan lupa untuk mencopy file tersebut ke direktori /var/named.
Cara lain adalah dengan mengcopy file cache-default yang biasanya ada dalam source program named ke file db.cache.
# cp cache-default /var/named/db.cache
Format dari file db.cache ialah sebagai berikut.
; 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
Konfigurasi File Reverse Database
File ini berisikan database kebalikan dari database domain. Dalam database domain sebelumnya dinyatakan dari nama host ke alamat ip sedangkan pada reverse database sebaliknya yaitu dari nomor ip ke nama host. Untuk keperluan pemetaan ini diperlukan tipe resouce record yang berupa pointer (PTR) Format:
[oktet] IN PTR hostname
Keterangan :
oktet : oktet terakhir ip addres
hostname : nama host yang akan di resove.
Berikut contoh lengkapnya :
Nama file : "db.167.205.206” . File ini merupakan file yang dideklarasikan di file named.conf pada zona “206.205.167.in-addr.arpa”
@ IN SOA ns.salman.itb.ac.id. admin.ns.salman.itb.ac.id. (
2001090100 ; Serial
86400 ; Refresh every 24 hours
3600 ; Retry every 1 hours
2592000 ; Expire after 1 month
25200 ) ; Minimum ttl of 7 Hours
IN NS ns.salman.itb.ac.id.
97 IN PTR gtw.salman.itb.ac.id.
100 IN PTR ns.salman.itb.ac.id.
101 IN PTR unit.salman.itb.ac.id.
109 IN PTR attaqwa.salman.itb.ac.id.
110 IN PTR attaubah.salman.itb.ac.id
Konfigurasi file /var/named/db.127.0.0
Konfigurasi file ini sama untuk semua jenis server, baik itu primary, secondary, ataupun cache-only server.
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
Menjalankan Named
Setelah file named.conf, database domain dan reverse sudah selesai dibuat, maka named tinggal dijalankan. Untuk menjalankannya ada beberapa pilihan command. Cara pertama yang paling umum :
# named –b /etc/namedb/named.conf
Atau command kedua yang merupakan sebuah interface yang memudahkan user untuk menjalankan, memberhentikan, melihat status, mereload dari proses named. Command ini bernama ndc ( named daemon control ).
Untuk menjalankan named :
# ndc start
Untuk memberhentikan named :
# ndc stop
Cara ketiga yang bisa digunakan untuk menjalankan ataupun menstop named adalah engan mengeksekusi script program pad file /etc/rc.d/init.d/named
# /etc/rc.d/init.d/named start
Untuk menghentikannya :
# /etc/rc.d/init.d/named stop
Biasanya ada permintaan untuk menambahkan host baru pada domain yang telah ada. Maka file database domain perlu diedit sewaktu named masih berjalan. Setelah di edit selanjutnya named perlu di stop dan dimulai lagi atau dengan kata lain di reload. Untuk melakukannya :
# ndc reload
atau
# named.reload
Untuk detailnya silahkan baca manualnya.
Setelah named dijalankan, berarti DNS server kita sudah siap untuk menerima request dari client. Nah, bagi client yang akan melakukan request ke DNS server, sebelumnya perlu untuk mensetting ke DNS server mana dia akan melakukan request. Untuk itu tambahkan nama DNS server yang kita inginkan pada file /etc/resolve.conf
Contoh isi file /etc/resolve.conf:
domain salman.itb.ac.id
server 167.205.206.100
File diatas menunjukkan bahwa untuk domain salman.itb.ac.id, host kita menggunakan DNS server yang punya IP address 167.205.206.100
Testing
Selanjutnya, setelah named berjalan perlu juga di test untuk melihat apakah service sudah berjalan semestinya. Tool untuk testingnya ialah nslookup.
# nslookup
Default Server: ns.salman.itb.ac.id
Address: 0.0.0.0
>
Setelah prompt “ > “ keluar, maka server siap untuk ditanyai. Untuk memilih server yang akan ditanyai tinggal ketik :
> server ns.server.baru.co.id
Default Server: ns.server.baru.co.id
Address: 167.205.22.123
Untuk menanyakan ip address dari host, tinggal ketik nama host.
> attaqwa.salman.itb.ac.id
Server: ns.salman.itb.ac.id
Address: 167.205.206.100
Name: attaqwa.salman.itb.ac.id
Address: 167.205.206.109
Begitu pula untuk menanyakan nama host dari ip address
> 167.205.206.109
Server: ns.salman.itb.ac.id
Address: 167.205.206.100
Name: attaqwa.salman.itb.ac.id
Address: 167.205.206.109
Perintah tambahan:
· host –a domain_name
Untuk melihat host apa saja yang terdaftar dalam DNS server yang menangani suatu domain.
· host –l domain_name
Untuk melihat daftar server yang menangani domain tertentu.
Petunjuk pengerjaan
Kita tahu bahwa ada 3 fasilitas untuk “name resolving“. Ketiganya bisa digunakan semua oleh satu host. Nah, tentunya perlu cara untuk membuat urutan prioritas fasilitas mana yang akan kita pakai terlebih dahulu.
Prioritas ini diatur pada file /etc/nsswitch.
Tidak ada komentar:
Posting Komentar