DNS adalah ... DNS
merupakan singkatan dari Domain Name Service, fungsi utamanya adalah
menerjemahkan alamat ip komputer dengan alamat yang lebih manusiawi
atau bahasa daerahnya “humanable”. Seperti yang kita ketahui, setiap
komputer yang terhubung ke internet harus punya ip address. Namun tidak
semua orang bisa menghapalkan 66.94.234.13 (saya saja cuma copy paste
ji itu hehehe), lebih mudah menghapalkan www.yahoo.com.
Siapa yang butuh DNS? Seperti
yang disinggung sebelumnya, setiap pengakses internet membutuhkan DNS
kecuali sanggup menghapal sebanyak 256*256*256*256 ip address, Salah
satu pengguna DNS adalah pengakses internet, tapi pengakses internet
tidak perlu membuat DNS Server karena bisa menggunakan DNS server yang
disediakan oleh ISP. Pengguna DNS selanjutnya tentu saja adalah ISP,
dan mereka yang mengelola domain dan webserver. Pengguna DNS yang
lainnya lagi adalah orang iseng yang pengen DNS Server sendiri, soalnya
ndak ada kerjaan hehehe.
BIND Ada banyak program untuk
membuat DNS server, berhubung yang default terinstall di slackware
adalah bind9 maka kita akan menggunakan itu saja. Jika bind9 terinstall
maka akan terdapat beberapa file – file instalasi default seperti :
Tiga
file awal adalah contoh dari konfigurasi bind9, file selanjutnya adalah
init script (rc.bind) dan konfigurasi dari bind (named.conf).
Berikut adalah isi dari file named.conf yang masih perawan :
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; };
// // a caching only nameserver config // zone "." IN { type hint; file "caching-example/named.ca"; };
zone "localhost" IN { type master; file "caching-example/localhost.zone"; allow-update { none; }; };
zone "0.0.127.in-addr.arpa" IN { type master; file "caching-example/named.local"; allow-update { none; }; };
Kita akan bahas per blok, dan apa saja modifikasi yang akan kita buat.
Blok pertama
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; };
Blok
ini merupakan global setting dari bind, directory “/var/named” adalah
direktory kerja dari bind, di direktory tersebut di tempatkan file –
file konfgurasi domain yang biasa di sebut zone. Tidak disarankan untuk
mengutak – atik blok ini kecuali Anda tahu apa yang Anda kerjakan. Atau
dengan kata lain, biarkan mi saja begitu.
Blok Kedua
zone "." IN { type hint; file "caching-example/named.ca"; };
Blok
ini merupakan blok root zone atau kasarnya alamat – alamat dari domain
– domain internasional. Kita membutuhkan blok root zone ini. Biasanya
saya melakukan perubahan dengan menghilangkan “caching-example/” pada
baris file sehingga hanya berbentuk seperti ini :
file "named.ca";
Ini
soal kebiasaan saja, saya lebih senang melihat semua file – file zone
berada di bawah direktori /var/named, jadi tinggal ganti saja baris
file tersebut dan pindahkan filenya :
# mv /var/named/caching-example/* /var/named
Blok Ketiga zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; };
Blok
ini adalah forward localhost, Dalam artian jika dns server mendapatkan
perintah untuk mengetahui alamat ip dari localhost maka bagian blok ini
yang mengurusnya. saya sarankan untuk tetap menyimpan blok ini tapi
berhubung sudah memindahkan file /var/named/caching-example/ jadi bari
filemenjadi :
file "localhost.zone";
Blok Keempat
zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; };
Blok
ini merupakan kebalikan dari blok localhost atau biasa disebut reverse,
karena kebalikan reverse kerjanya juga terbalik yaitu mencari nama dari
ip yang di”query”kan ke DNS server.
Semua konfigurasi diatas
jika betul (termasuk nama filenya dan direktorinya) maka DNS server
kita sudah bisa digunakan, kita tinggal mengaktifkannya mengeksekusi
file rc.bind
# /etc/rc.d/rc.bind start
Jika tidak ada
error maka kita bisa meng”query” domain – domain luar misalnya yahoo,
google dll dengan syarat kita terhubung ke internet. Perintah untuk
megquery domain bisa menggunakan dig atau nslookup :
Jika keluar seperti diatas berarti dns kita sudah berfungsi, kita juga bisa menggunakan nslookup
arman@oridecon:~$ nslookup > server localhost
Ketikkan
perintah server localhost untuk memastikan bahwa dns server yang
digunakan oleh nslookup adalah dns server yang kita buat, karena secara
default nslookup menggunakan dns server sesuai dengan entry pada file
/etc/resolv.conf
Default server: localhost Address: 127.0.0.1#53
Dengan
ini maka nslookup menggunakan server localhost. Selanjutnya tinggal
masukkan saja domain yang akan kita query misalnya yahoo.com
Jika keluarnya seperti ini maka dns kita sudah siap untuk di kaccaki (oprek) lagi. Untuk
menambahkan domain lain (jika kita punya domain yang terdaftar atau
sekedar iseng saja) kita bisa mengcopy konfigurasi dari localhost.zone.
Misalnya kita ingin membuat domain gorilla.com dengan ip 192.168.1.1 maka kita buat entry dari gorilla.zone seperti ini :
zone "gorilla.com" IN { type master; file "gorilla.zone"; allow-update { none; }; };
zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.zone"; allow-update { none; }; };
Yang perlu diperhatikan adalah :
zone "gorilla.com" IN {
Ini
kita sesuaikan dengan nama domain yang kita buat. Jika kita membuat
domain kingkong.com maka baris zone itu juga berisi “kingkong.com”,
selanjutnya adalah jenis dari domain tersebut apakah merupakan domain
master atau slave, untuk lebih detil tentang master dan slave dari
domain silahkan baca dokumentasi tentang dns. Baris berikut adalah file
dari domain. File bisa kita namakan terserah kita namun yang pasti sama
dengan yang ada pada blok zone, dalam hal ini kita menggunakan nama
file “gorilla.zone”, saya sarankan nama file yang digunakan
representatif sehingga untuk administrasi ataupun trouble shooting
tidak lagi pusing soal nama file dan domain. Blok terakhir yang kita
buat adalah reverse dari domain gorilla.com, berhubung karena kita
dalam tahap belajar maka kita menggunakan ip address lokal saja, dalam
hal ini kita defenisikan adalah 192.168.1.X, yang perlu diperhatikan
pada pendefenisian reverse, penulisan alamat ip itu ditulis terbalik
(namanya juga reverse) jadi jika kita menggunakan ip 192.168.1.X maka
yang dituliskan di zone reverse adalah “1.168.192.in-addr.arpa”,
demikian juga halnya jika menggunakan ip - ip yang lain atau ip publik.
Baris selanjutnya sama dengan forward dari gorilla.com yaitu type
domain dan file zone, dalam hal ini kita menset “192.168.1.zone” untuk
file dari reverse kita.
File – file zone Setelah file
named.conf kita acak – acak sekarang kita berurusan sama yang berwajib,
eh file – file zone. Seperti kita definisikan sebelumnya di file named
conf bahwa direktory dari bind berada di /var/named/ :
directory "/var/named";
Karena
kita juga sudah memindahkan file di /var/named/caching-example/,
sekarang di direktori /var/named terdapat file – file berikut :
Seperti
yang kita sudah defenisikan sebelumnya pada file named.conf terdapat
tiga file zone dari instalasi default. File named.ca adalah file dari
root zone, kita bisa saja membuat file ini tapi sebaiknya gunakan saja
file dari instalasi default. File localhost.zone adalah file dari
domain “localhost” sedangkan “named.local” adalah reverse dari domain
“localhost”.
Untuk lebih jelasnya kita lihat saja langsung kedua file tersebut.
arman@oridecon:/var/named$ cat localhost.zone $TTL 86400 $ORIGIN localhost. @ 1D IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum
1D IN NS @ 1D IN A 127.0.0.1
Yang
perlu diperhatikan adalah dua baris terakhir. Baris kedua dari
terakhir, entry tenang NS, ns inilah yang akan digunakan pada pencarian
sebuah domain. Entry pada kolom terakhir yaitu “@”, yang menunjuk ke A
record. Pada baris terakhir menentukan alamat ip yang digunakan pada
domain dalam hal ini adalah “localhost” dengan ip 127.0.0.1. Selanjutnya adalah file reversed dari localhost yaitu named.local :
arman@oridecon:/var/named$ cat named.local $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost.
1 IN PTR localhost.
Perhatikan
pada baris terakhir yang entry pada kolom pertama adalah “1”, berarti
reverse mempunyai ip 127.0.0.1 karena telah disebutkan di file
named.conf.
Yang juga perlu diperhatikan adalah entry serial,
jika mengunakan dns slave setiap kali mengganti entry dari file zone
kita juga harus mengganti serial (formatnya biasanya sesuai dengan
tanggal) sehingga server dns slave bisa menyesuaikan setiap perubahan
seperti yang di dns master.
Domain Kita Setelah file
localhsot dan reversenya kita intip sekarang kita mo buat domain buat
kita, seperti yang disinggung diatas kita bisa membuat domain untuk
kita, seperti contoh kita diatas “gorrilla.com” dengan ip 192.168.1.1,
tambahkan bari berikut di named.conf
zone "gorilla.com" IN { type master; file "gorilla.zone"; allow-update { none; }; };
zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.zone"; allow-update { none; }; };
Saya
sarankan untuk mengcopy saja entry dari localhost dan reversenya, untuk
menghindari kesalahan pengetikan kecuali anda termasuk orang yang
teliti dan suka buang waktu :P. Setelah membuat perubahan pada file
named.conf sekarang kita buat filenya, seperti yang telah di
defenisikan bahwa file yang digunakan oleh domain “gorilla.com” adalah
“gorilla.zone” dan reversenya adalah “192.168.1.zone”. Saya juga
menyarankan untuk mengcopy saja dari file zone localhost.
Selanjutnya
adalah menyesuaikan dengan domain kita, ganti semua kata localhost
dengan gorilla.com pada file tersebut seperti ini :
$TTL 86400 $ORIGIN gorilla.com. @ 1D IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum
1D IN NS dns.gorilla.com. 1D IN A 192.168.1.1
dns 1D IN CNAME @ www 1D IN CNAME @ arman 1D IN A 192.168.1.99
Pada
konfigurasi ini kita juga menambahkan subdomain, yaitu dns.gorilla.com,
www.gorilla.com dan arman.gorilla.com. Untuk dns.gorilla.com dan
www.gorilla.com menunjuk pada ip yang sama yaitu 192.168.1.1 . Kita
bahas baris yang menurut saya penting.
$ORIGIN gorilla.com.
Biasanya berisikan nama domain yang digunakan. Pada kasus kita gorilla.com.
1D IN NS dns.gorilla.com.
Bagian
ini merupakan entry dari NS server dari domain kita. Jika kita
menggunakan lebih dari satu NS untuk domain kita tinggal tambahkan saja
NS entry berikutnya. Umumnya jika kita mendaftarkan domian di
registrant domain dibutuhkan lebih dari satu NS.
1D IN A 192.168.1.1
Baris merupakan alamat ip dari domain yang digunakan, yaitu 192.168.1.1.
www 1D IN CNAME @ arman 1D IN A 192.168.1.99
Baris
pertama merupakan subdomain www yang menunjuk pada A record, jadi jika
mengakses www.gorilla.com maka yang ip address yang di tuju adalah
192.168.1.1. Untuk baris berikutnya adalah sebuah sub domain dengan
nama “arman” yang menunjuk ke ip 192.168.1.99, baris ini tidak lagi
menggunakan CNAME melainkan A karena ip yang digunakan adalah berbeda
dengan ip dari default domain yaitu gorilla.com. Jika kita mengakses
arman.gorilla.com sebetulnya mengakses ke 192.168.1.99. Hal yang sama
juga kita buat untuk membuat domain dengan ip public. Silahkan
menambahkan sub – sub domain yang lain lagi jika memang dibutuhkan.
Selanjutnya adalah reverse dari gorilla.com.
$TTL 86400 @ IN SOA gorilla.com. root.gorilla.com. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS gorilla.com.
1 IN PTR gorilla.com. 99 IN PTR arman.gorilla.com.
Seperti halnya reverse dari localhost kita juga hanya mengisikan ip dari daftar domain dan sub domain yang kita buat. Jika sudah selesai, silahkan merestart bind : # /etc/rc.d/rc.bind restart
Jika tidak ada kesalahan (sebaiknya periksa /var/log/message) maka kita sudah bisa mengquery domain yang kita buat.
dicuplik dari http://makassar-slackers.org/Membuat+Dns+Server
Саме основне saneness в імені цього нагрівається зефір з пряними загоряють , землі , викликати також можуть служити атмосферні фронти і багато іншого .