Tutorial Install Unbound DNS Pada FreeBSD 11 – Pada artikel kali ini saya akan berbagi sebuah tutorial Bagaimana Cara Install dan Konfigurasi Dasar Unbound DNS Pada FreeBSD 11 agar bisa menjadi DNS Resolver atau DNS Caching. Unbound adalah salah satu software yang bisa digunakan untuk membangun sebuah Recursive DNS, DNS Resolver serta Caching DNS, dan secara default sudah disertakan dalam sistem FreeBSD. Namun pada artikel ini saya hanya membahas Tutorial Install dan Konfigurasi Unbound yang diinstall melalui paket manajemen FreeBSD yaitu PKG
.
Berdasarkan Wikipedia, Unbound ini merupakan produk dari NLnet Labs, VeriSign Inc., Nominet, and Kirei yang didistribusikan secara gratis (open source) dibawah BSD license. Unbound ini mendukung beberapa kombinasi komponen seperti Validasi Keamanan dengan DNSSEC, Internet Protocol Version 6 (IPv6), dan lain-lain. Pada awalnya unbound ini dirancang untuk sistem operasi Unix-Like seperti FreeBSD, OpenBSD, NetBSD, OS X, and Linux, dan juga mendukung untuk berjalan pada sistem operasi windows.
Disini saya asumsikan OS FreeBSD sudah terinstall pada server anda dan sudah terkoneksi dengan baik ke jaringan lokal ataupun ke jaringan internet. Sebagai bahan praktek dan pembelajaran, anda juga bisa menggunakan OS FreeBSD yang diinstall secara virtual dengan menggunakan VirtualBOX atau ProxMox VE.
Baca Juga :
Install Paket Unbound dan Bind Tools
Terlebih dahulu silahkan login ke server FreeBSD anda melalui konsole FreeBSD atau remote SSH dengan PuTTy, kemudian jalankan baris-baris perintah berikut :
pkg install -y unbound bind-tools
Jika PKG
belum terinstall pada server FreeBSD anda, anda akan menemui konfirmasi untuk melakukan install PKG terlebih dahulu, selanjutnya tunggu sampai proses penginstalan selesai.
Konfigurasi Dasar Unbound
Selanjutnya kita akan melakukan konfigurasi dasar pada unbound agar bisa digunakan sebagaimana mestinya, silahkan ikuti langkah-langkah berikut :
- Enablekan Service Unbound Pada file /etc/rc.conf
Agar service unbound bisa jalan otomatis setiap server FreeBSD dijalankan, terlebih dahulu anda harus menambahkan direktifunbound_enable=YES
kedalam file/etc/rc.conf
, bisa anda tambahkan secara manual dengan mengedit file /etc/rc.conf atau bisa dengan menjalankan perintah berikut :echo unbound_enable=YES >> /etc/rc.conf
- Generate TLS Key Files
Selanjutnya generate TLS Key File agar bisa melakukan remote control ke server unbound dengan menggunakan perintahunbound-control
, jalankan baris-baris perintah berikut :cd /usr/local/etc/unbound/
unbound-control-setup - Download File Named.Root (Root Hints)
Secara default unbound sudah memiliki list Root DNS, tapi kita akan mendownload ulang filenamed.root
untuk memastikan agar menggunakan versi yang up to date. Jalankan perintah berikut :fetch https://www.internic.net/domain/named.root -o /usr/local/etc/unbound/
- Konfigurasi File /usr/local/etc/unbound/unbound.conf
Selanjutnya kita akan melakukan konfigurasi pada file /usr/local/etc/unbound/unbound.conf, sebelumnya silahkan backup dulu file unbound.conf yang asli. Jalankan perintah berikut :mv /usr/local/etc/unbound/unbound.conf \
/usr/local/etc/unbound/unbound.conf.backupKemudian buat file unbound.conf yang baru dengan perintah berikut :
ee /usr/local/etc/unbound/unbound.conf
Dan masukkan atau copy paste baris-baris direktif berikut ini :
# Start DNS Conf ################# server: verbosity: 1 statistics-interval: 120 statistics-cumulative: yes num-threads: 1 interface: 0.0.0.0 outgoing-range: 768 num-queries-per-thread: 2048 msg-cache-size: 64m rrset-cache-size: 128m msg-cache-slabs: 4 rrset-cache-slabs: 4 infra-cache-slabs: 4 key-cache-slabs: 4 cache-min-ttl: 3600 cache-max-ttl: 86400 infra-host-ttl: 60 infra-lame-ttl: 120 infra-cache-numhosts: 50000 infra-cache-lame-size: 50k harden-dnssec-stripped: yes do-ip4: yes do-ip6: no do-udp: yes do-tcp: yes do-daemonize: yes access-control: 127.0.0.0/8 allow access-control: 10.0.0.0/8 allow access-control: 172.16.0.0/16 allow access-control: 192.168.0.0/16 allow chroot: /usr/local/etc/unbound username: unbound directory: /usr/local/etc/unbound auto-trust-anchor-file: /usr/local/etc/unbound/root.key pidfile: /usr/local/etc/unbound/unbound.pid root-hints: /usr/local/etc/unbound/named.root logfile: /usr/local/etc/unbound/unbound.log use-syslog: no identity: DNS version: 1.4 hide-identity: yes hide-version: yes harden-glue: yes do-not-query-address: 127.0.0.1/8 do-not-query-localhost: yes module-config: iterator #zone localhost local-zone: "localhost." static local-data: "localhost. 10800 IN NS localhost." local-data: "localhost. 10800 IN SOA localhost. cache-DNS.localhost. 1 3600 1200 604800 10800" local-data: "localhost. 10800 IN A 127.0.0.1" local-zone: "127.in-addr.arpa." static local-data: "127.in-addr.arpa. 10800 IN NS localhost." local-data: "127.in-addr.arpa. 10800 IN SOA localhost. cache-DNS.localhost. 2 3600 1200 604800 10800" local-data: "1.0.0.127.in-addr.arpa. 10800 IN PTR localhost." forward-zone: name: "." # FORWARDER forward-addr: 8.8.8.8 forward-addr: 8.8.4.4 remote-control: control-enable: yes control-interface: 127.0.0.1 control-port: 953 server-key-file: /usr/local/etc/unbound/unbound_server.key server-cert-file: /usr/local/etc/unbound/unbound_server.pem control-key-file: /usr/local/etc/unbound/unbound_control.key control-cert-file: /usr/local/etc/unbound/unbound_control.pem # End DNS Conf
Jika anda ingin menggunakan dns forwarder yang berbeda, anda bisa mengganti forwarder pada direktif yang ada pada
baris 67 dan 67
dengan dns forwarder yang ingin anda gunakan, misalnya opendns atau dns dari isp yang anda gunakan. - Masukkan IP Server FreeBSD Pada File /etc/resolv.conf
Agar server FreeBSD menggunakan unbound sebagai DNS Resolver, masukkan IP Internal Server FreeBSD ke dalam file/etc/resolv.conf
dan jadikan sebagai primary dns. Saya akan memberi contoh dengan ip address server FreeBSD saya, sebelum anda menjalankan perintah dibawah ini, terlebih dahulu sesuaikan dengan ip address server FreeBSD anda yang sudah terinstall unbound :echo nameserver 172.16.10.100 > /etc/resolv.conf
- Restart dan Check Service Unbound
Setelah selesai langkah-langkah diatas, selanjutnya restart service unbound agar menggunakan konfigurasi yang sudah dilakukan pada langkah-langkah diatas, jalankan perintah berikut :service unbound restart
Untuk memastikan service unbound sudah berjalan dan port 53 sudah listening, bisa ada cek dengan menjalankan perintah berikut :
sockstat -4 -l | grep unbound
- Tahap Uji Resolve DNS
Pada langkah ini kita akan melakukan tahap uji coba untuk meresolve beberapa domain dengan menggunakan perintahDIG
pada konsole FreeBSD. Silahkan anda tes di server FreeBSD anda dengan menjalankan perintah :dig google.com
ataudig detik.com
atau ke domain lainnya.
Bisa anda lihat pada bagian yang saya tandai pada gambar diatas, IP Server DNS-nya adalah IP Server FreeBSD dan time query-nya 0 msec
karena pada gambar adalah request yang kedua kali, yang artinya proses caching dns dengan unbound bekerja dengan baik.
Selanjutnya anda tinggal mengarahkan penggunaan dns pada klien ke ip address server FreeBSD atau jika anda menggunakan router miktotik, bisa anda tambahkan rule nat forwarding agar memaksa semua klien menggunakan server FreeBSD sebagai DNS Server. Semoga bermanfaat dan selamat bereksperimen.