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)
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/
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 !