Cara Bypass Internet Positif dengan RaspberryPI, Dnsmasq dan DNSCrypt

Peringatan: Artikel ini hanya untuk kebutuhan belajar! jangan di gunakan untuk berbuat hal yang melanggar hukum!

Teknologi filtering yang di gunakan oleh Internet Positif adalah DNS Poisoning. DNS adalah protokol internet yang di gunakan untuk memetakan nama server, seperti www.gilangcp.com menjadi alamat IP.  DNS Poisoning bekerja dengan cara merubah alamat IP yang seharusnya menujuk ke server tujuan menjadi server internet positif, saat permintaan alamat ip berdasarkan nama tersebut dilakukan.

Salah satu cara untuk mencegah dirubahnya IP oleh filter adalah dengan mengenkripsi traffic protokol DNS lalu menggunakan DNS alternatif yang tidak di filter. Program yang dapat digunakan untuk melakukan hal ini adalah DNSCrypt.

Tutorial kali ini menggunakan RaspberryPI sebagai server always on dengan konsumsi listrik sangat rendah. Dipadukan dengan Dnsmasq sebagai cache dns sehingga internet anda lebih cepat.

Yang harus dipersiapkan:
1. Koneksi Internet
2. RaspberryPI, terinstall dengan sistem operasi Raspbian
3. Router, Baik router wireless maupun router biasa, terhubung ke internet. (saya menggunakan router wireless TP-Link, tapi bisa menggunakan apa saja)

Tutorial:
1. Set agar alamat IP Raspberry anda tidak berubah di router. disini saya fixed ipnya menjadi 192.168.1.100 (Setiap router memiliki cara yang berbeda, silahkan konsultasi dengan manual router anda)Capture

2. Compile dari source

#Instalasi kebutuhan awal
sudo apt-get install libtool autoconf automake

#Download source code dnscrypt
mkdir dnscrypt
cd dnscrypt
wget https://github.com/opendns/dnscrypt-proxy/archive/master.zip
mv master.zip dnscrypt.zip

#Download source code libsodium
wget https://github.com/jedisct1/libsodium/archive/master.zip
mv master.zip libsodium.zip

#Compile & install Libsodium
unzip libsodium.zip
cd libsodium-master
./autogen.sh
./configure
make
make install
ldconfig

#Compile dan install dnscrypt
unzip dnscrypt.zip
cd dnscrypt-proxy-master
./autogen.sh
./configure
make
make install

3. Buat aktif saat startup dengan mengcopy baris di bawah ke /etc/systemd/system/dnscrypt-proxy.service.

sudo nano /etc/systemd/system/dnscrypt-proxy.service
#############################

[Unit]
Description=DNSCrypt client proxy

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/local/sbin/dnscrypt-proxy -R dnscrypt.eu-nl -a 127.0.0.1:40

4. Aktifkan service DNSCrypt

sudo systemctl daemon-reload
sudo systemctl enable dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

5. Install Dnsmasq

sudo apt-get install dnsmasq

6. Lakukan konfigurasi Dnsmasq, baris ini berfungsi agar dnsmasq terhubung dengan dnscrypt.

sudo nano /etc/dnsmasq.conf

#tambahkan atau modifikasi baris berikut :
server=

#menjadi :
server= server=127.0.0.1#40

#Jangan sampai ada tanda '#' didepan tulisan 'server=' !

7. Ubah /etc/resolv.conf. File ini berfungsi menentukan dns server apa yang harus di gunakan oleh sistem, kita harus mengubah file ini agar menggunakan service yang baru saja kita buat.

sudo nano /etc/resolv.conf

#Isi file tersebut hanya boleh ada baris ini:

nameserver 127.0.0.1

8. Konfigurasikan router anda, agar menggunakan raspberrypi anda sebagai DNS server,  setiap router memiliki cara konfigurasi yang berbeda-beda, silahkan konsultasikan dengan manual router anda. Karena IP raspberrypi saya adalah 192.168.1.120, maka saya gunakan IP tersebut sebagai primary DNS server. Sedangkan saya menggunakan openDNS sebagai cadangan apabila dnscrypt down. Daftar server openDNS : https://use.opendns.com/Capture

9. Selamat ! anda telah berhasil membuat server DNS yang dapat membypass filter internet positif! selanjutnya anda dapat mencoba membuka situs yang diblokir, tetapi seharusnya tidak masuk dalam blokir seperti https://www.reddit.com

Selamat mencoba !

Leave a Reply