BIND: Membuat DNS Server di Debian
Jika anda suka dengan artikel ini berbagilah ke rekan anda, simpan ke bentuk PDF atau bagikan ini ke social media
Suatu situs atau website tidak akan dapat diakses tanpa konfigurasi domain dan name server yang benar. Fungsi domain dan name server ini adalah menerjemahkan alamat host yang mudah di ingat ke dalam deretan angka unik atau yang sering disebut alamat IP. Ini yang membuat peran domain sangat vital dalam menyediakan kemudahan user untuk mengakses internet.
Kali ini saya akan berbagi tutorial mengenai manajemen DNS server di Linux, karena saya adalah orang jaringan jadi gak afdol rasanya kalau saya tidak memberikan sedikit ilmu jaringan mengenai Linux :D. Pada proses instalasi ini saya menggunakan Debian 5 (Lenny) karena distro tersebut adalah salah satu distro yang mendukung untuk dibuat server, namun anda juga dapat melakukan instalasi serupa pada distribusi lain.
Implementasi BIND sebagai server DNS
DNS (Domain Name Server) bekerja pada konsep client-server. DNS diterapkan pada server terpusat yang disebut server DNS atau name server yang memiliki wewenang untuk mengelola beberapa nama domain dan mengacu kepada beberapa domain lainnya yang dikelola server DNS lain. Pada sistem Unix, BIND (Berkeley Internet Name Domain) menjadi software default sebagai paket DNS server dalam semua distribusi Linux. Pada Debian paket ini dapat ditemukan dengan nama bind9.
Instalasi BIND di Debian Lenny
Sebelum menginstal ada baiknya anda login menggunakan akses root (/) agar mendapat wewenang penuh dalam mengelola server. Untuk mendapatkan akses ini berikan perintah su pada terminal dan masukkan kata sandi root. Kemudian anda dapat segera menginstal paket bind9 untuk layanan DNS server.
Pengaturan alamat IP server
Selanjutnya kita perlu mensetting alamat IP agar server dapat diakses.
Di sini saya asumsikan alamat server yang saya pakai adalah 201.140.10.1, netmask 255.255.255.0 dan ada pada network 201.140.10.0. Untuk pengaturan IP dan lainya setidaknya sudah ditetapkan pada jaringan yang akan diterapkan.
Restart service.
Konfigurasi zone domain
Dalam tutorial ini contoh zone atau domain yang akan kita kelola adalah ngaboti.com. Kita edit filenamed.conf.local yang terletak pada direktori /etc/bind. File ini digunakan untuk menyimpan konfigurasi zone atau domain tersebut.
Tambahkan baris konfigurasi berikut.
Kemudian membuat dua buah file yaitu file forward dan reverse serta memberikan baris konfigurasi pada kedua file tersebut. Hati-hati dalam mengedit, walaupun ada kesalahan kecil yaitu berupa lupa meletakkan tanda titik (.) saja maka pengaturan server DNS atau domain anda tidak dapat berfungsi dengan baik. Meskipun demikian, untuk membuat baris konfigurasi anda dapat mencontek pada file db.127 dan db.local yang telah ada.
Konfigurasi file forward
Mengkopi file db.127 ke file forward.
Dari baris konfigurasi berikut, sesuaikan isi dengan identitas hostname pada zona yang dikelola.
Konfigurasi file reverse
Mengkopi file db.local ke file reverse.
Kemudian berikan baris konfigurasi seperti contoh berikut.
Penjelasan SOA, NS, MX, dan A record
SOA (Start of Authority) record, dapat diartikan sebagai catatan dimana berkas zona/domain pertama kali dibuat. SOA juga bisa diartikan sebagai master DNS.
NS (Name Server) record, berisi catatan yang menentukan server mana yang akan melayani informasi DNS untuk sebuah nama domain. Sebuah domain bisa memiliki banyak NS record. Semakin banyak NS server yang didefinisikan, berarti semakin banyak pula server yang melayani.
MX (Mail Exchange) record, merupakan sebuah informasi yang menentukan kemana sebuah email akan dikirim. Dalam MX record, ada variabel tambahan priority yaitu angka yang menunjukkan skala prioritas, yang bisa diisi mulai 0 sampai 65536. Dalam hal ini semakin kecil angkanya maka semakin tinggi prioritasnya.
A (atau biasa disebut sebagai host record) merupakan inti dari domain. A record adalah pemetaan dari nama domain ke alamat ip.
Menambahkan layanan DNS dari server lain
Selain pada layanan DNS kita sendiri, kita juga dapat menambahkan layanan DNS dari server lain. Misalnya kita menambahkan layanan DNS server dari Google, maka kita tinggal mengedit konfigurasi pada file named.conf.option.
Tambahkan server DNS Google yaitu 8.8.8.8 dan 8.8.4.4.
Restart service.
Pegujian domain menggunakan dig
Untuk mengecek SOA record dari zona yang kita buat tadi, jalankan perintah berikut.
Hasil tes.
Mengecek MX record.
Hasil tes.
Sedangkan untuk mengecek A record atau CNAME record, kita tinggal query hostnamenya saja.
Balasan dari server.
Jika ada masalah dari apa yang kita kerjakan di atas, jangan terburu-buru menyerah. Biasanya solusi akan datang dengan sendirinya. Di Debian, anda dapat memeriksa log pada /var/log/daemon.log, disitu seharusnya ada klu yang dapat kita pakai.
Suatu situs atau website tidak akan dapat diakses tanpa konfigurasi domain dan name server yang benar. Fungsi domain dan name server ini adalah menerjemahkan alamat host yang mudah di ingat ke dalam deretan angka unik atau yang sering disebut alamat IP. Ini yang membuat peran domain sangat vital dalam menyediakan kemudahan user untuk mengakses internet.
Kali ini saya akan berbagi tutorial mengenai manajemen DNS server di Linux, karena saya adalah orang jaringan jadi gak afdol rasanya kalau saya tidak memberikan sedikit ilmu jaringan mengenai Linux :D. Pada proses instalasi ini saya menggunakan Debian 5 (Lenny) karena distro tersebut adalah salah satu distro yang mendukung untuk dibuat server, namun anda juga dapat melakukan instalasi serupa pada distribusi lain.
Implementasi BIND sebagai server DNS
DNS (Domain Name Server) bekerja pada konsep client-server. DNS diterapkan pada server terpusat yang disebut server DNS atau name server yang memiliki wewenang untuk mengelola beberapa nama domain dan mengacu kepada beberapa domain lainnya yang dikelola server DNS lain. Pada sistem Unix, BIND (Berkeley Internet Name Domain) menjadi software default sebagai paket DNS server dalam semua distribusi Linux. Pada Debian paket ini dapat ditemukan dengan nama bind9.
Instalasi BIND di Debian Lenny
Sebelum menginstal ada baiknya anda login menggunakan akses root (/) agar mendapat wewenang penuh dalam mengelola server. Untuk mendapatkan akses ini berikan perintah su pada terminal dan masukkan kata sandi root. Kemudian anda dapat segera menginstal paket bind9 untuk layanan DNS server.
# apt-get install bind9
Pengaturan alamat IP server
Selanjutnya kita perlu mensetting alamat IP agar server dapat diakses.
# nano /etc/network/interface
Di sini saya asumsikan alamat server yang saya pakai adalah 201.140.10.1, netmask 255.255.255.0 dan ada pada network 201.140.10.0. Untuk pengaturan IP dan lainya setidaknya sudah ditetapkan pada jaringan yang akan diterapkan.
auto eth0 iface eth0 inet static address 201.140.10.1 netmask 255.255.255.0 network 201.140.10.0 broadcast 201.140.10.255 gateway 201.140.10.10 # dns-* options are implemented by the resolvconf package, [..] dns-nameservers 201.140.10.1 dns-search ngaboti.com
Restart service.
# /etc/init.d/networking restart
Konfigurasi zone domain
Dalam tutorial ini contoh zone atau domain yang akan kita kelola adalah ngaboti.com. Kita edit filenamed.conf.local yang terletak pada direktori /etc/bind. File ini digunakan untuk menyimpan konfigurasi zone atau domain tersebut.
# cd /etc/bind
# nano named.conf.local
Tambahkan baris konfigurasi berikut.
zone "ngaboti.com" { // berisi zona konfigurasi domain ngaboti.com type master; file "/etc/bind/forward"; }; zone "10.140.201.in-addr.arpa" { // berisi zona network 201.140.10.0 type master; file "/etc/bind/reverse"; };
Kemudian membuat dua buah file yaitu file forward dan reverse serta memberikan baris konfigurasi pada kedua file tersebut. Hati-hati dalam mengedit, walaupun ada kesalahan kecil yaitu berupa lupa meletakkan tanda titik (.) saja maka pengaturan server DNS atau domain anda tidak dapat berfungsi dengan baik. Meskipun demikian, untuk membuat baris konfigurasi anda dapat mencontek pada file db.127 dan db.local yang telah ada.
Konfigurasi file forward
Mengkopi file db.127 ke file forward.
# cp db.127 forward
# nano forward
Dari baris konfigurasi berikut, sesuaikan isi dengan identitas hostname pada zona yang dikelola.
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ngaboti.com. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ngaboti.com. IN MX 10 mail.ngaboti.com. IN A 201.140.10.1 www IN CNAME ngaboti.com. mail IN A 201.140.10.1 ftp IN A 201.140.10.1
Konfigurasi file reverse
Mengkopi file db.local ke file reverse.
# cp db.local reverse
# nano reverse
Kemudian berikan baris konfigurasi seperti contoh berikut.
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.ngaboti.com. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns1.ngaboti.com. 1 IN PTR ns1.ngaboti.com. ; angka 1 di atas adalah angka terakhir dari ip name server
Penjelasan SOA, NS, MX, dan A record
SOA (Start of Authority) record, dapat diartikan sebagai catatan dimana berkas zona/domain pertama kali dibuat. SOA juga bisa diartikan sebagai master DNS.
NS (Name Server) record, berisi catatan yang menentukan server mana yang akan melayani informasi DNS untuk sebuah nama domain. Sebuah domain bisa memiliki banyak NS record. Semakin banyak NS server yang didefinisikan, berarti semakin banyak pula server yang melayani.
MX (Mail Exchange) record, merupakan sebuah informasi yang menentukan kemana sebuah email akan dikirim. Dalam MX record, ada variabel tambahan priority yaitu angka yang menunjukkan skala prioritas, yang bisa diisi mulai 0 sampai 65536. Dalam hal ini semakin kecil angkanya maka semakin tinggi prioritasnya.
A (atau biasa disebut sebagai host record) merupakan inti dari domain. A record adalah pemetaan dari nama domain ke alamat ip.
Menambahkan layanan DNS dari server lain
Selain pada layanan DNS kita sendiri, kita juga dapat menambahkan layanan DNS dari server lain. Misalnya kita menambahkan layanan DNS server dari Google, maka kita tinggal mengedit konfigurasi pada file named.conf.option.
#nano named.conf.option
Tambahkan server DNS Google yaitu 8.8.8.8 dan 8.8.4.4.
forwarders { 8.8.8.8; 8.8.4.4; };
Restart service.
# /etc/init.d/bind restart
Pegujian domain menggunakan dig
Untuk mengecek SOA record dari zona yang kita buat tadi, jalankan perintah berikut.
# dig soa ngaboti.com
Hasil tes.
Mengecek MX record.
# dig mx ngaboti.com
Hasil tes.
Sedangkan untuk mengecek A record atau CNAME record, kita tinggal query hostnamenya saja.
# dig ngaboti.com
Balasan dari server.
Jika ada masalah dari apa yang kita kerjakan di atas, jangan terburu-buru menyerah. Biasanya solusi akan datang dengan sendirinya. Di Debian, anda dapat memeriksa log pada /var/log/daemon.log, disitu seharusnya ada klu yang dapat kita pakai.