Tutorial Install Unbound DNS Pada FreeBSD 11


Tutorial Install Unbound DNS Pada FreeBSD 11Tutorial 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 :



Tutorial Install FreeBSD Minimal Dengan MFSBSD

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 :

  1. Enablekan Service Unbound Pada file /etc/rc.conf
    Agar service unbound bisa jalan otomatis setiap server FreeBSD dijalankan, terlebih dahulu anda harus menambahkan direktif unbound_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

  2. Generate TLS Key Files
    Selanjutnya generate TLS Key File agar bisa melakukan remote control ke server unbound dengan menggunakan perintah unbound-control, jalankan baris-baris perintah berikut :

    cd /usr/local/etc/unbound/
    unbound-control-setup

    Tutorial Install Unbound DNS Pada FreeBSD 11 - Generate TLS Key File

  3. Download File Named.Root (Root Hints)
    Secara default unbound sudah memiliki list Root DNS, tapi kita akan mendownload ulang file named.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/

  4. 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.backup

    Kemudian 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.

  5. 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

  6. 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

    Tutorial Install Unbound DNS Pada FreeBSD 11 - Check Service (Sockstat)

  7. Tahap Uji Resolve DNS
    Pada langkah ini kita akan melakukan tahap uji coba untuk meresolve beberapa domain dengan menggunakan perintah DIG pada konsole FreeBSD. Silahkan anda tes di server FreeBSD anda dengan menjalankan perintah : dig google.com atau dig detik.com atau ke domain lainnya.

    Tutorial Install Unbound DNS Pada FreeBSD 11 - Test Resolve DNS

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.

00votes
Article Rating

   
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x