Install dan Konfigurasi DNSCrypt di Ubuntu dan Debian

Install DNSCrypt Proxy di Debian, Kali Linux, Ubuntu dan Linux Mint. Sebenarnya ini sudah kesekian kalinya saya membahas mengenai instalasi DNScrypt di linux. Sebelumnya saya pernah membahas bagaimana cara install DNSCrypt di Ubuntu. Nah, ternyata masih ada yang bingung ketika instalasi di Debian dan Kali Linux. Jadi di tutorial ini saya akan membahasnya.

DNScrypt Proxy sudah tersedia di repisitory Debian maupun Ubuntu. Kalian bisa langsung install menggunakan perintah
sudo apt update && sudo apt install dnscrypt-proxy
Konfigurasi DNSCrypt Proxy
Pastikan kalian sudah menginstall network-manager dan juga resolvconf
sudo apt update && sudo apt install resolvconf network-manager
Selanjutnya, edit file konfigurasi DNScrypt.
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Kalian bisa mengubah resolver maupun listening port dari service dnscrypt di file tersebut. List public resolver yang tersedia bisa kalian cek melalui link berikut:

Selanjutnya, kita atur agar nilai nameserver di resolv.conf tidak berubah.
sudo nano /etc/resolv.conf.override
Lalu isikan
nameserver 127.0.2.1
Sesuaikan sendiri dengan ip yang kalian tambahkan di dnscrypt-proxy.toml. Jika tidak ada yang diubah alias default, maka listeningnya sudah benar ke 127.0.2.1. Lalu  buat script untuk mengganti isi dari resolv.conf di Network Manager.
sudo nano /etc/NetworkManager/dispatcher.d/20-resolv-conf-override
Lalu isikan:
#!/bin/sh
cp -f /etc/resolv.conf.override /run/resolvconf/resolv.conf
Terakhir, beri hak akses eksekusi ke file tersebut
sudo chmod +x /etc/NetworkManager/dispatcher.d/20-resolv-conf-override
Terakhir, restart Network Manager dengan perintah
sudo service network-manager restart
terakhir, kalian bisa cek apakah DNS kalian sudah berubah atau belum. Kalian bisa gunakan dnsleaktest.com untuk itu.
Seperti yang terlihat, disitu saya terdeteksi menggunakan DNS Cloudflare. Hal tersebut karena saya memang menggunakan resolver milik Cloudflare di konfigurasi dnscrypt-proxy.toml.

Sekarang kalian bisa mencoba untuk mengakses situs yang diblokir oleh ISP. Disini saya coba mengakses reddit.com.

Update Juli 2021
Oke jadi disini saya ingin sharing sedikit mengenai masalah yang saya alami ketika menggunakan resolvconf. Ketika saya menggunakan resolvconf dan konek ke VPN, ketika VPN dimatikan DNSnya tidak otomatis update, sehingga koneksi di device menjadi bermasalah meskipun sebenarnya internet lancar.

Oleh karena itu solusinya adalah langsung memodifikasi settingan Network Manager.
Pertama, kita cek terlebih dahulu koneksi yang kita gunakan.
nmcli con

Terlihat kita terhubung menggunakan WiFi dengan SSID "Nakano 1". Itu yang akan kita modifikasi agar koneksi tersebut tidak menggunakan DNS default bawaan DHCP namun menggunakan DNS dari dnscrypt client.
nmcli con mod "Nakano 1" ipv4.ignore-auto-dns yes
nmcli con mod "Nakano 1" ipv4.dns "127.0.2.1"
sudo service NetworkManager restart
Atau jika kalian menggunakan sistem operasi Debian, Ubuntu yang menggunakan desktop GNOME maupun Cinnamon seperti Linux Mint, kalian bisa langsung edit melalui GUI di bagian connection. Jangan lupa disable pengaturan Automatic pada DNS. Lihat gambar dibawah ini:

Mudah bukan? Oke mungkin sekian tutorial singkat kali ini. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.