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.

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

Install DNSCrypt

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

Pada NAT VPS, unduh file tersebut menggunakan curl:

curl -LO <link DNSCrypt yang telah Anda salin>

Buat direktori baru untuk DNSCrypt:

mkdir /opt/dnscrypt

Ekstrak DNSCrypt ke direktori tersebut:

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

Install service DNSCrypt:

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

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:

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

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:

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

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.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/dnscrypt /etc/nginx/sites-enabled/dnscrypt

# Restart NGINX
systemctl restart nginx

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

Lalu, generate sertifikat melalui Certbot dengan perintah

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

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

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!

Game News

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Download Film

A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.

More From Author

Slot Demo Buat Pemula yang Mau Belajar Tanpa Rugi

Mengungkap Asal-usul Nasi Berkat dan Perannya dalam Tradisi Masyarakat Jawa