Cara Install DNSCrypt + DoH di NAT VPS


NATVPS.id – DNSCrypt adalah sebuah protokol yang mengautentikasi komunikasi antara DNS client dengan DNS resolver. DNSCrypt dapat digunakan untuk menangkal serangan DNS spoofing, dengan memverifikasi bahwa respon yang diterima dari DNS resolver belum dimodifikasi. Protokol DNSCrypt bersifat open source dan gratis, serta tidak terafiliasi dengan perusahaan atau organisasi mana pun.

Artikel ini membahas mengenai langkah-langkah install DNSCrypt beserta DoH proxy di NAT VPS, yang nantinya berfungsi sebagai server DNS over HTTPS (DoH) yang terhubung ke proxy DNSCrypt. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS. Pastikan OS yang digunakan didukung oleh DNSCrypt.

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk DoH DNSCrypt.

Sebagai contoh, pada artikel ini akan menggunakan domain dnscrypt.tutorial.mdinata.my.id. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

blank

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

blank

Install DNSCrypt

Buka kemudian cari file release yang berisi linux-x86_64 pada namanya. Kemudian, salin URL file tersebut.

blank

Pada NAT VPS, unduh file tersebut menggunakan curl:

curl -LO <link DNSCrypt yang telah Anda salin>

blank

Buat direktori baru untuk DNSCrypt:

mkdir /opt/dnscrypt

blank

Ekstrak DNSCrypt ke direktori tersebut:

tar -xzvf dnscrypt-*.tar.gz -C /opt/dnscrypt

blank

Install service DNSCrypt:

/opt/dnscrypt/linux-x86_64/dnscrypt-proxy -service install

blank

Salin konfigurasi DNSCrypt:

cd /opt/dnscrypt/linux-x86_64
 cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml

Untuk Ubuntu dan turunannya, systemd-resolved biasanya aktif dan berjalan di port 53. Karena DNSCrypt akan berjalan di port 53 juga sebagai DNS server, matikan systemd-resolved:

sudo mkdir -p /etc/systemd/resolved.conf.d
 
 sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf > /dev/null <<EOF
 [Resolve]
 DNS=127.0.0.1
 DNSStubListener=no
 EOF
 
 sudo mv /etc/resolv.conf /etc/resolv.conf.backup
 sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
 
 sudo systemctl reload-or-restart systemd-resolved

Â

Aktifkan DNSCrypt:

blank

blank

Proses startup DNSCrypt dapat memakan waktu beberapa saat karena harus menguji latensi dari public resolver yang ada untuk memaksimalkan kecepatan. Cek log DNSCrypt dengan:

systemctl status dnscrypt-proxy

blank

Mengaktifkan DNS-over-HTTPS (DoH)

Buka konfigurasi DNSCrypt:

nano /opt/dnscrypt/linux-x86_64/dnscrypt-proxy.toml

Kemudian, geser ke bawah hingga menemukan bagian [local_doh], kemudian hapus tanda pagar untuk mengaktifkan DoH, seperti ini:

blank

Simpan file tersebut, kemudian restart DNSCrypt:

/opt/dnscrypt/linux-x86_64/dnscrypt-proxy -service restart

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses DoH kita melalui domain seperti dnscrypt.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
 apt purge apache2* -y
 
 # Install NGINX
 apt install nginx -y

blank

Buat konfigurasi host baru khusus untuk DNSCrypt:

nano /etc/nginx/sites-available/dnscrypt

Kemudian tempelkan konfigurasi berikut:

# 
 server {
 listen 80;
 server_name dnscrypt.tutorial.mdinata.my.id;
 
 location /dns-query {
 proxy_pass proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_http_version 1.1;
 proxy_set_header Connection "";
 }
 }

Ganti dnscrypt.tutorial.mdinata.my.id dengan domain Anda.

blank

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/dnscrypt /etc/nginx/sites-enabled/dnscrypt
 
 # Restart NGINX
 systemctl restart nginx

blank

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

blank

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d dnscrypt.tutorial.mdinata.my.id

Ganti dnscrypt.tutorial.mdinata.my.id dengan domain Anda.

blank

Selamat! Domain Anda saat ini dapat diakses melalui koneksi aman HTTPS.

Selesai!

DNSCrypt DoH dapat digunakan melalui URL  DNSCrypt>/dns-query, contoh: https://dnscrypt.tutorial.mdinata.my.id/dns-query.

Penutup

Demikianlah artikel ini mengenai langkah-langkah install DNSCrypt + DoH di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!



Hiburan

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Berita Terbaru

Lifestyle

Leave a Reply

Your email address will not be published. Required fields are marked *