Setup OpenBSD dan Unbound DNS Resolver - Cara Mengaktifkan Port 53 dan 853

· 2 min read

Unbound memiliki banyak sekali manfaat. Anda dapat terus mencoba fitur-fitur lain di Unbound, seperti Redis, Python, dan lainnya. Teruslah belajar dan

Tahukah Anda bahwa kita dapat meningkatkan kinerja dan keamanan internet dengan memilih pemecah masalah DNS alternatif yang gratis dan andal? Sistem Nama Domain (DNS) mungkin sering muncul dalam percakapan administrator jaringan, tetapi pengguna rata-rata mungkin tidak tahu atau peduli apa itu DNS atau bagaimana DNS bermanfaat bagi mereka.

DNS adalah perekat yang menyatukan nama domain dan alamat IP. Jika Anda memiliki server dan ingin orang lain dapat mengaksesnya menggunakan nama domain Anda, Anda dapat membayar biaya dan mendaftarkan nama domain unik Anda (jika tersedia) dengan pendaftar internet. Jika Anda memiliki nama domain yang dikaitkan dengan alamat IP server Anda, orang dapat mengunjungi situs Anda menggunakan nama domain Anda alih-alih mengetikkan alamat IP. DNS resolver membantu melakukan ini.

Server DNS resolver memungkinkan komputer (atau orang) untuk mencari nama domain (misalnya, unixwinbsd.site) dan menemukan alamat IP komputer, server, atau perangkat lain yang memilikinya (misalnya, 216.239.38.21). Anggap DNS Resolver sebagai buku telepon untuk komputer.

Saat Anda memasukkan nama domain situs web ke dalam peramban web, di balik layar terdapat server DNS resolver yang ditunjuk oleh komputer Anda yang menentukan alamat IP tempat nama domain akan dimasukkan sehingga peramban Anda dapat memperoleh semua yang ditawarkan situs tersebut. DNS juga digunakan untuk menentukan ke server email mana pesan harus dikirim. Ia memiliki banyak tujuan lain.

Unbound is one of the DNS resolvers that is currently widely used. In fact, Unbound's presence as a DNS server almost beats ISC Bind, which is older than Unbound. We can feel the sophistication of Unbound with the various features it has, such as Python modules, Redis and DNS Over TLS support. So it is very natural that Unbound can match ISC Bind in terms of quality and features.


1. Tidak perlu menginstal Unbound di OpenBSD

Mungkin Anda bertanya mengapa Anda tidak perlu menginstal Unbound pada OpenBSD, apakah OpenBSD tidak mendukung Unbound? Sangat mendukung itulah jawabannya, saat ini Unbound hampir menggantikan ISC Bind sebagai DNS utama pada sistem Unix BSD seperti FreeBSD, OpenBSD, DragonFly BSD dan lainnya. Hampir semua sistem operasi BSD menyertakan Unbound sebagai server DNS utamanya. Jade secara tak langsung ketika ana menginstall OpenBSD maka Unbound otomatis ikut terinstall juga.




Jika melihat fakta-fakta di atas, dapat diprediksi bahwa Unbound akan menjadi server DNS terdepan dan meninggalkan ISC Bind, Knot resolver dan lainnya. Para developer Unbound terus meningkatkan performa Unbound dan terus melakukan riset agar Unbound menjadi server DNS terdepan.

Hal ini dapat kita buktikan dengan menjadikan Unbound sebagai server DNS utama pada sistem BSD. Seperti halnya OpenBSD, pengguna OpenBSD tidak perlu menginstal Unbound, karena sudah terinstal saat pertama kali menginstal OpenBSD pada komputer server. Kita hanya perlu mengaktifkan, mengkonfigurasi, dan menjalankan Unbound.


2. Cara Konfigurasi Unbound di port 53

Secara default port DNS berjalan pada port 53, namun Anda dapat mengubahnya sesuai dengan kebutuhan, seperti port 54, 8853, 55 dan lain-lain. Karena judul artikel ini adalah port 53, maka kita akan mengaktifkan Unbound pada port 53. Sebelum kita melakukan setting Unbound, sebaiknya Anda hapus terlebih dahulu aplikasi Unbound pada OpenBSD, baru kemudian kita update PKG-nya. Hal ini kita lakukan dengan benar agar mendapatkan versi terbaru dari aplikasi Unbound.

Sebagai pengetahuan, pada OpenBSD aplikasi Unbound disebut dengan "libunbound", berbeda dengan FreeBSD yang memberi nama Unbound. Sekarang kita hapus library Unbound pada OpenBSD.

Hapus Unbound
ns3# pkg_delete libunbound
ns3# rm -rf /var/unbound
Kemudian Anda jalankan perintah Update PKG dan lanjutkan dengan menginstal kembali Unbound ke dalam sistem OpenBSD.

Update PKG and install Unbound
ns3# pkg_add -uvi
ns3# pkg_add libunbound debug-libunbound
Buat direktori untuk Unbound dengan sub direktori db dan lain-lain, perhatikan perintah di bawah ini.

Create directory
ns3# mkdir -p /var/unbound/etc
ns3# mkdir -p /var/unbound/db
Pada OpenBSD, berkas konfigurasi utama diberi nama "unbound.conf". Jalankan perintah di bawah ini untuk membuat berkas unbound.conf. Setelah itu, ketik skrip untuk berkas unbound.conf seperti di bawah ini.

Create /var/unbound/etc/unbound.conf
ns3# touch /var/unbound/etc/unbound.conf
Script /var/unbound/etc/unbound.conf
server:
	interface: 192.168.5.3
	port: 53	
chroot: /var/unbound
username: "_unbound"
directory: "/var/unbound"
pidfile: "/var/run/unbound.pid"	
	do-ip4: yes
	do-ip6: no
	do-udp: yes
	do-tcp: yes
	do-daemonize: yes
access-control: 192.168.5.0/24 allow
access-control: 127.0.0.0/8 allow
	verbosity: 1
	harden-glue: yes
	hide-identity: yes
	hide-version: yes
	auto-trust-anchor-file: "/var/unbound/db/root.key"
	root-hints: "/var/unbound/db/root.hints"
	val-log-level: 2
	aggressive-nsec: yes
remote-control:
	control-enable: yes
	control-interface: /var/run/unbound.sock
forward-zone:
name: "."
forward-first: no
forward-ssl-upstream: yes
forward-addr: 1.1.1.1@853
forward-addr: 1.0.0.1@853
forward-addr: 8.8.8.8@853
Cocokkan "interface: 192.168.5.3" dengan IP Pribadi komputer OpenBSD Anda. Dalam artikel ini kami menggunakan IP pribadi 192.168.5.3 dan domain kursor.my.id

Jalankan Unbound di OpenBSD.

Enable unbound
ns3# rcctl enable unbound
ns3# rcctl restart unbound
Lalu Anda menjalankan dua perintah di bawah ini untuk mengunduh file root.hints dan memberikan kepemilikan ke unbound.

Create ownership
ns3# wget ftp://FTP.INTERNIC.NET/domain/named.cache -O /var/unbound/db/root.hints
ns3# chown -R _unbound /var/unbound/db/
Setelah itu, buka file /etc/resolv.conf, dan ketik skrip di bawah ini di file /etc/resolv.conf.

Script /etc/resolv.conf
domain kursor.my.id
nameserver 192.168.5.3
Jalankan unbound lagi dengan perintah rcctl.

Run unbound
ns3# rcctl restart unbound
Langkah terakhir adalah pengujian Unbound dengan perintah dig.

Test unbound
ns3# dig yahoo.com

; <<>> dig 9.10.8-P1 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29407
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;yahoo.com.			IN	A

;; ANSWER SECTION:
yahoo.com.		854	IN	A	74.6.143.26
yahoo.com.		854	IN	A	74.6.231.20
yahoo.com.		854	IN	A	98.137.11.163
yahoo.com.		854	IN	A	74.6.143.25
yahoo.com.		854	IN	A	98.137.11.164
yahoo.com.		854	IN	A	74.6.231.21

;; Query time: 0 msec
;; SERVER: 192.168.5.3#53(192.168.5.3)
;; WHEN: Fri May 10 17:29:11 WIB 2024
;; MSG SIZE  rcvd: 134


3. Setup Unbound di port 853 (DNS Over TLS)

Oke, sekarang kita lanjut pembahasan kita ke pelajaran berikutnya, yaitu cara mengaktifkan port 853 di Unbound. Port 53 atau port DNS Over TLS (DOT) merupakan port yang dienkripsi oleh sertifikat SSL. Untuk membuat sertifikat SSL kita akan menggunakan OpenSSL yang gratis dan tidak dipungut biaya. Sebelum kita mulai membuat sertifikat SSL, Anda dapat membuka kembali file unbound.conf, dan menambahkan skrip di bawah ini.

Ketikkan Script di file /var/unbound/etc/unbound.conf
interface: 192.168.5.3@853
tls-port: 853
tls-cert-bundle: "/etc/ssl/cert.pem"
tls-service-pem: "/etc/ssl/unbound/mydomain.crt"
tls-service-key: "/etc/ssl/unbound/mydomain.key"
server-key-file: "/var/unbound/etc/unbound_server.key"
server-cert-file: "/var/unbound/etc/unbound_server.pem"
control-key-file: "/var/unbound/etc/unbound_control.key"
control-cert-file: "/var/unbound/etc/unbound_control.pem"
Buat sertifikat dengan kunci yang dapat digunakan untuk mengontrol semua aktivitas Unbound.

Buat control key
ns3# unbound-control-setup
setup in directory /var/unbound/etc
Generating RSA private key, 3072 bit long modulus
.................................................
.....................
e is 65537 (0x010001)
Generating RSA private key, 3072 bit long modulus
...................
..............................................................................................................................................................................................................
e is 65537 (0x010001)
Signature ok
subject=/CN=unbound-control
removing artifacts
Setup success. Certificates created. Enable in unbound.conf file to use
Buat direktori untuk menempatkan semua sertifikat SSL Unbound, setelah itu Anda juga membuat sertifikat SSL dengan OpenSSL. Ikuti semua perintah di bawah ini.

Buat direktori /etc/ssl/unbound
ns3# mkdir -p /etc/ssl/unbound
ns3# cd /etc/ssl/unbound
Create certificate SSL
ns3# openssl genrsa -out mydomain.key 2048
ns3# openssl req -new -key mydomain.key -out mydomain.csr
ns3# openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt
ns3# bash -c 'cat mydomain.key mydomain.crt >> /etc/ssl/unbound/mydomain.pem'
Create ownership
ns3# chown -R _unbound /etc/ssl/unbound/
Langkah terakhir adalah menguji Unbound, apakah dapat membuka port 853 atau tidak. Kami menggunakan perintah dig untuk menguji Unbound.

Test Unbound port 853
ns3# dig -p 853 google.com @192.168.5.3
Test Unbound port 53
ns3# dig -p 53 yahoo.com @192.168.5.3
Di bawah ini kami tampilkan skrip lengkap file unbound.conf.

Complete Script /var/unbound/etc/unbound.conf Port 53 and 853
server:
	interface: 192.168.5.3@53
	interface: 192.168.5.3@853
	#port: 53
	tls-port: 853
chroot: /var/unbound
username: "_unbound"
directory: "/var/unbound"
pidfile: "/var/run/unbound.pid"
	do-ip4: yes
	do-ip6: no
	do-udp: yes
	do-tcp: yes
	do-daemonize: yes
tls-cert-bundle: "/etc/ssl/cert.pem"
tls-service-pem: "/etc/ssl/unbound/mydomain.crt"
tls-service-key: "/etc/ssl/unbound/mydomain.key"
	
access-control: 192.168.5.0/24 allow
access-control: 127.0.0.0/8 allow
	verbosity: 1
	harden-glue: yes
	hide-identity: yes
	hide-version: yes
	auto-trust-anchor-file: "/var/unbound/db/root.key"
	root-hints: "/var/unbound/db/root.hints"
	val-log-level: 2
	aggressive-nsec: yes
remote-control:
	control-enable: yes
	control-interface: /var/run/unbound.sock
	server-key-file: "/var/unbound/etc/unbound_server.key"
	server-cert-file: "/var/unbound/etc/unbound_server.pem"
	control-key-file: "/var/unbound/etc/unbound_control.key"
	control-cert-file: "/var/unbound/etc/unbound_control.pem"

forward-zone:
name: "."
forward-first: no
forward-ssl-upstream: yes
forward-addr: 1.1.1.1@853
forward-addr: 1.0.0.1@853
forward-addr: 8.8.8.8@853
Baiklah, cukup sekian tutorial tentang Unbound kali ini. Unbound memiliki banyak sekali manfaat. Anda dapat terus mencoba fitur-fitur lain di Unbound, seperti Redis, Python, dan lainnya. Teruslah belajar dan membaca agar Anda dapat langsung merasakan manfaat Unbound.
Subscribe on LinkedIn

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar