Di artikel Privacy zaman now – part 1, saya pernah menyinggung mengenai DNS.
DNS (Domain Name System) itu seperti buku telepon digital. Kita kan sudah terbiasa mengunjungi situs dengan alamat seperti https://www.google.com/, namun alamat sebenarnya Google (salah satunya) adalah 172.217.194.138. Namun angka-angka seperti itu kan susah diingat, jadi harus ada yang menghubungkan alamat google.com dengan alamat full angka tersebut, itulah fungsi DNS.
Kenyataannya adalah, koneksi DNS sekarang ini banyak sekali yang tidak terlindungi dengan baik. Penyedia layanan internet kita juga sebenarnya memiliki DNS mereka masing-masing dan mereka memiliki akses ke sejarah browsing kita semua dengan membaca kegiatan DNS ini.
Di artikel tersebut topik bahasannya lebih kepada enkripsi DNS di perangkat masing-masing pengguna internet.
Nah, sebenarnya ada cara untuk mengamankan DNS satu level di atas itu.
Caranya adalah dengan memasang program bernama Pi-hole dan Cloudflared di sebuah komputer mini yang tersambung langsung dengan router rumah. Dalam hal ini saya menggunakan Raspberry Pi (tipe 3B+), sebuah komputer kecil murah meriah seukuran kartu kredit yang bisa dibeli di toko online seperti Tokopedia, Bukalapak, Shopee, Lazada, dll
Beberapa hari yang lalu saya akhirnya ada waktu untuk memasang Pi-hole.
Apa itu Pi-hole?
Simplenya, Pi-hole adalah sebuah program yang memungkinkan semua orang untuk membuat DNS server sendiri yang bersifat sebagai sinkhole untuk mayoritas iklan dan tracker yang ada di internet.
Jika kita memasang adblocker di browser, maka yang terlindungi hanyalah aktifitas di browser tersebut. Namun dengan menggunakan Pi-hole di router, perlindungan itu akan mencakup semua traffic internet yang melalui router tersebut.
Bahkan ada yang menjuluki Pi-hole sebagai kondomnya internet 😂
Instalasi Pi-hole
Pemasangannya cukup mudah, ikuti saja panduan yang banyak bertebaran di Internet. Saya sendiri mengikuti yang ini:
- Download OS untuk Raspberry Pi. Saya sendiri pakai Raspbian.
- Download aplikasi Disk Imager, bisa menggunakan Etcher.
- “Tulis” image OS Raspbian ke microSD Card menggunakan Etcher.
- Masukkan microSD card ke Raspberry Pi, dan sambungkan juga ke router menggunakan kabel LAN. Pasang juga mouse, dan keyboard.
- Raspberry Pi akan melakukan initial setup
- Setelah masuk ke OS, buka command shell / terminal
- Ketik
curl -sSL https://install.pi-hole.net | bash
- Pencet Enter, sistem akan secara otomatis meng-install pi-hole
- Pada menu Interface, akan ada pilihan antara eth0 (Raspberry Pi terhubung ke internet menggunakan kabel) atau wlan0 (Raspberry Pi terhubung menggunakan Wi-Fi). Untuk kecepatan dan kestabilan koneksi, saya menyarankan untuk menggunakan kabel, dan pilih eth0.
- Pilih penyedia DNS, saya sendiri menggunakan Cloudflare (1.1.1.1)
- Pilih protokol yang akan difilter oleh Pi-hole, saya pilih IPv4 DAN IPv6
- Set IP Address statik. Sebaiknya gunakan IP address di luar jangkauan DHCP (harus cek di settingan router), agar IP address Raspberry Pi/Pi-hole tidak akan diganti-ganti secara otomatis oleh sistem.
- Terakhir, akan ada pilihan untuk meng-install halaman web admin interface. Gunanya untuk memantau Pi-hole dari internet browser, saya pilih install.
- Ganti settingan DNS server di router rumah/kantor ke IP adresss yang dipilih pada langkah 12.
Tidak sulit dan tidak makan waktu lama. Prosesnya hanya sekitar 15-20 menit saja. Lebih lama nunggu download file dan nunggu installnya.
Setelah berhasil, kita akan bisa memonitor performa Pi-hole melalui web dashboard yang disediakan.
Dan berikut adalah daftar domain yang kena blok sejak saya pasang Pi-hole dalam 24 jam terakhir:
Namun ada satu masalah yang saya segera sadari dari penggunaan Pi-hole ini, ternyata traffic DNS-nya tidak terenkripsi jika hanya melakukan instalasi seperti biasa. Jadi saya tidak bisa membuka website seperti Reddit.
Jadi saya coba search lagi apakah bisa melakukan enkripsi DNS di Raspberry Pi. Ternyata bisa jika menggunakan Cloudflared.
Cloudflared
DNS adalah salah satu sistem internet yang paling penting, namun juga salah satu yang paling tidak aman. Salah satu upaya mengamankan DNS adalah dengan teknik DNS-over-HTTPS. HTTPS adalah protokol yang sudah umum digunakan untuk mengamankan komunikasi di internet.
Cloudflared akan membantu kita untuk mengenkripsi DNS di Pi melalui HTTPS. Untuk cara instalasinya, saya menggunakan panduan ini:
https://docs.pi-hole.net/guides/dns-over-https/
Cara instalasinya mungkin akan terlihat lebih rumit, tapi ikuti saja langkahnya satu per satu dengan teliti. Jangan lupa, untuk Raspberry Pi, pilih yang versi ARM architecture.
Setelah selesai, akhirnya saya bisa kembali membuka Reddit, dan membuka banyak website juga menjadi lebih ringan. Kenapa demikian? karena request access dari iklan dan tracker yang jumlahnya buanyaaakkk itu, sudah dijegal di level router dan tidak sempat masuk ke dalam local network internet di rumah / kantor yang sudah dilengkapi dengan Pi-hole.
Saya akan mengutip salah satu perbandingan traffic dengan/tanpa Pi-hole yang dilakukan oleh Troy Hunt di blog pribadinya. Di contoh berikut Troy coba mengakses portal berita https://news.com.au
Whoa! That’s an 80% reduction in network requests and an 82% reduction in the number of bytes transferred. I’d talk about the reduction in load time too except it’s really hard to measure because as you can see from the waterfall diagrams, with no Pi-hole it just keeps going and going and, well, it all gets a bit silly.
Network request berkurang 80%, dan transfer data yang dibutuhkan juga berkurang 82%! Contoh website yang digunakan Troy adalah sebuah website berita. Jadi bisa dibilang kontennya 20%, tapi iklan dan trackernya 80%. Sinting juga kan. Load timenya juga berbeda sangat jauh (57.44 detik vs 1.95 detik).
Kalau kalian tertarik untuk install Pi-hole, ini bisa menjadi proyek weekend yang menyenangkan dan sangat berguna 🙂
P.S. Pi-hole mendukung sistem whitelist, jadi kalau kalian ingin mendukung content creator favorit kalian di internet, bisa memilih untuk menampilkan iklan di website-website tertentu.
P.P.S. Kalau merasa terbantu oleh Pi-hole, jangan lupa untuk memberikan donasi kepada mereka. Proyek-proyek keren seperti ini harus didukung.
Update (2019-03-15) Jika ingin menambah daftar blokir, bisa gunakan website ini sebagai panduan: https://firebog.net/
Berikut adalah daftar blokir tambahan yang saya tambahkan melalui dashboard Pi-hole yang bisa diakses melalui Settings > Blocklists. Jangan lupa untuk klik “Save and Update” setelah itu.
https://hosts-file.net/grm.txt
https://reddestdream.github.io/Projects/MinimalHosts/etc/MinimalHostsBlocker/minimalhosts https://raw.githubusercontent.com/StevenBlack/hosts/master/data/KADhosts/hosts
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.Spam/hosts
https://v.firebog.net/hosts/static/w3kbl.txt
https://adaway.org/hosts.txt https://v.firebog.net/hosts/AdguardDNS.txt
https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
https://v.firebog.net/hosts/Easylist.txt https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/UncheckyAds/hosts
https://www.squidblacklist.org/downloads/dg-ads.acl
https://v.firebog.net/hosts/Easyprivacy.txt https://v.firebog.net/hosts/Prigent-Ads.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.2o7Net/hosts
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
https://mirror1.malwaredomains.com/files/justdomains https://hosts-file.net/exp.txt
https://hosts-file.net/emd.txt
https://hosts-file.net/psh.txt
https://mirror.cedia.org.ec/malwaredomains/immortal_domains.txt
https://www.malwaredomainlist.com/hostslist/hosts.txt
https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt
https://v.firebog.net/hosts/Prigent-Malware.txt https://v.firebog.net/hosts/Prigent-Phishing.txt
https://phishing.army/download/phishing_army_blocklist_extended.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/CW_C2_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/LY_C2_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/TC_C2_DOMBL.txt
https://ransomwaretracker.abuse.ch/downloads/TL_C2_DOMBL.txt
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://v.firebog.net/hosts/Shalla-mal.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/add.Risk/hosts
https://www.squidblacklist.org/downloads/dg-malicious.acl
https://zerodot1.gitlab.io/CoinBlockerLists/host
Block lists di atas dinyatakan kecil kemungkinannya untuk mengganggu aktifitas browsing seperti biasa, dan dengan tambahan tersebut, kini Pi-hole akan memblokir, dari sebelumnya hanya 100,000 domain, menjadi hampir 800,000 domains.
Update (2019-07-10) Kalau kalian ingin memiliki DNS sinkhole namun tidak ingin membuatnya sendiri menggunakan Raspberry Pi dan Pi-hole, kalian bisa menggunakan yang namanya NextDNS.
NextDNS ini bisa dibilang Pi-hole on the cloud. Jadi kalian bisa mendapat fungsi DNS sinkhole di lebih banyak perangkat, tidak terbatas pada network tertentu saja. Pelajari mengenai NextDNS di blogpost saya berikut ini: Kondom internet untuk umum (AdGuard DNS, NextDNS)
Update (2020-07-13) Alternatif lain jika kali baru ingin membeli router. Kalian bisa menggunakan router yang mendukung sistem operasi OpenWrt seperti GL.iNet Convexa-B (GL-B1300). Dengan OpenWrt, kalian bisa melakukan enkripsi DNS, install adblock, atau bisa juga menggunakan DNS sinkhole seperti NextDNS.
Sebelum kamu pergi
Kalau kamu suka dengan artikel ini, gunakan tombol-tombol di bawah untuk membagikan artikel ini ke teman-teman kamu, dan daftarkan email kamu untuk mendapatkan update jika ada artikel baru.
Dibanding dengan mikrotik, bagusan mana ya pi hole ini, Mas?
Halo Mas Tommy, setahu saya beda hal. Mikrotik itu routernya kan? Pi-hole ini bukan untuk menggantikan fungsi router, tapi disambung ke router sebagai DNS server. Jadi settingan DNS di router diganti ke DNS Pi-hole.
Seandainya Mas ingin coba punya DNS sinkhole tanpa harus beli Raspberry Pi, bisa coba gunakan NextDNS sebagai alternative. Untuk info lebih lanjut bisa coba baca di: https://ekawirya.com/kondom-internet-untuk-umum-adguard-dns-nextdns/
apakah bisa blok iklan youtub soalnya sangat ganggu klo.lagi nonton tiba² ad iklan di hp
YouTube memang sedikit lebih tricky kalau di aplikasi mobile-nya. Kalau pakai HP Android, saya sarankan pakai aplikasi yang namanya New Pipe atau YouTube Vanced saja.
NewPipe: https://f-droid.org/en/packages/org.schabi.newpipe/
YouTube Vanced: https://vanced.app/
NewPipe lebih ringan, tidak bisa login tapi bisa nonton dan download audio dan/atau video dari YouTube. Sudah bisa background play juga.
YouTube Vanced tampilannya seperti aplikasi YouTube biasa, dan bisa login jika menggunakan MicroG.
Mas thx buat sharing. Saya juga udah install blocker di raspberry pi dan dikonek ke router. Banyak ads yang sudah ke blok.
Tapi masalahnya tetep ini; memblokir youtube ads di ios app. Bahkan kadang masih ada kalo saya nonton di android tv.
Saya udah cari kemana2 yang bahas youtube ads di pihole secara ampuh. Tetapi kayaknya memang belum ada yg final ya.
Oiya mas, saya nemuin artikel yang bahas youtube di pihole, sayangnya saya pemula di linux dan juga networking. Mungkin mas bisa membahas artikel ini di blog post lainnya agar newbie seperti saya bisa mengerti lebih jauh.
https://medium.com/@obutterbach/unlock-the-full-potential-of-pihole-e795342e0e36
Regards
> Tapi masalahnya tetep ini; memblokir youtube ads di ios app. Bahkan kadang masih ada kalo saya nonton di android tv.
Untuk Android TV coba gunakan Smart YouTube TV.
Untuk iOS coba gunakan AltStore + Cercube.
> sayangnya saya pemula di linux dan juga networking.
Saya juga pemula hehe. Thank you artikelnya, nanti saya baca-baca dulu 🙂
ini menarik juga untuk cara dinamis
https://medium.com/@obutterbach/unlock-the-full-potential-of-pihole-e795342e0e36
tambahan untuk set deafult python menjadi python 3
https://dev.to/meetsohail/change-the-python3-default-version-in-ubuntu-1ekb
tapi sepertinya ada juga versi listnya dan lumayan update
https://github.com/kboghdady/youTube_ads_4_pi-hole
tinggal tambah saja crontab setiap jam 1pagi mungkin agar pagi hari kita bisa menikmati updteannya
mas mau tanya untuk list nya apa sudah mampu blokir ads / tracking secara optimal? ada list terbaru atau yang terupdate kah? terima kasih
Saran saya, coba daftar di nextdns.io kemudian lihat daftar blocklist-nya 🙂 menurut saya cukup lengkap di sana.
Apakah ini sudah bisa buka blokir internet positif?
Kalau hanya untuk internet positif, harusnya tidak perlu sampai bikin pi-hole. Bisa dengan enkripsi DNS saja. (Namun pi-hole sangat berguna untuk mengelola DNS sendiri dan bisa untuk blokir iklan dan trackers)
Coba baca artikel yang ini: https://ekawirya.com/kondom-internet-untuk-umum-adguard-dns-nextdns/
Saran saya coba yang NextDNS. NextDNS sudah ada aplikasi untuk Windows, Mac, Android, dan iOS untuk penggunaan yang lebih mudah. NextDNS ini mendukung enkripsi DNS + blokir iklan dan trackers.
mas, ini utk bypass bandwitdh limit Netflix apa bisa ya ? Kan kalo DNSCrypt bisa tuh buat Indihome akses Netflix tapi bandwidth nya tetep di limit jadi lemot parah.
Ada kemungkinan tidak bisa, karena fungsi DNSCrypt seharusnya mirip namun menggunakan DNS yang disediakan orang lain, bukan host sendiri seperti halnya Raspberry Pi + Pi-Hole.
Saya pernah baca juga kalau Indihome melakukan Deep Package Inspection. Dalam hal ini, yang bisa coba dilakukan adalah dengan menggunakan GoodbyeDPI.
Saya pernah pakai di rumah orang yang menggunakan Indihome dan seingat saya sih cukup lancar bisa nonton Netflix.
Semoga berhasil.
GoodbyeDPI di taro di perangkat yang sama dengan pi hole bisa ga gan ?
di instal di perangkat yang sama gitu
Sepertinya tidak bisa, karena setahu saya goodbye DPI dibuat untuk Windows. Sedangkan Raspbian itu basisnya Linux.
yang sejenis gitu seperti zapret apakah bisa ?
Mungkin. Saya belum pernah coba.
mas, mau tanya
cara blokir website tertentu di pi-hole ini bagaimana ya?
contoh ingin blok youtube dan facebook.
terima kasih
Dari web interface pi-hole, ada menu whitelist Dan blacklist. Tinggal ditambah saja di sana.
Alternatifnya bisa menggunakan NextDNS juga. NextDNS punya fitur serupa.
Mohon bertanya Mas, apakah dengan menggunakan ini bisa menangkal iklan sekaligus dapat mengakses web yang diblokir oleh ISP (misal akses netflix, reddit menggunakan indihome)?
Bisa. Tapi Netflix di jaringan Telkom agak tricky, setau saya teknik blokirnya beda. Kalau di komputer harus pakai Goodbye DPI.
Untuk alternatif pi-hole bisa baca artikel ini juga:
https://ekawirya.com/kondom-internet-untuk-umum-adguard-dns-nextdns/
Pi-hole bisa mengelola speed internet per perangkat tidak gan ?
Oh kalau itu sih dari router.
biar satu perangkat gan, kebetulan router bawaan internet saya ga bisa ngatur itu, kalo pi-hole ga bisa juga, brarti harus beli router, jadi 3 perangkat
Wah I see, memang agak tricky kalau gt, karena pi-hole ini tujuannya untuk menjadi DNS dari router yang ada.
Kebetulan saya sendiri di rumah juga jadinya pakai 2 router. Router bawaan ISP yang jangkauan wifi-nya lemah, jadi saya sambung ke router sendiri yang jangkauannya lebih besar. Nah di router kedua ini saya sambung dengan raspberry pi yang diinstall pi-hole.
Gan, boleh tau merek dan tipe router yang udah berhasil di setup pi-hole? saya tertarik implement di rumah. Nuhun
Pi-hole nya install di raspberry pi. Untuk router, seharusnya semua router bisa ganti DNS, saya pribadi pakai TP-Link Archer C9.
cara redierect dns router Mikrotik ke Server DSN Pihole bagaimana?
dan Untuk Blcok akses youtube dan facebook baik melalu web atau aplikasi di android dan iphone
Mungkin bisa coba cara ini https://techsoftcenter.com/how-to-configure-mikrotik-dns-server/
Kalau sudah pakai pi-hole atau NextDNS, nanti bisa block domain di setting-nya. Coba saja block youtube.com dan facebook.com
asik banget nih lihat website situ Bro
baiknya memang memakai router yang suppport DD-WRT sehingga bisa lebih mantap lagi buat orang yang mau bikin homenetworking yang canggih dengan budget terbatas hehe….
baru beli
TP-LINK MR6400 -> 4G Router
mau setting nextdns di router kaga bisa, karena dns nya di redirect ke dns ISP 😀
next project raspi + pihole + nextdns
keren bro website nya.
Thanks 🙂
Untuk DNS, coba cek di DD-WRT bisa encrypted DNS atau tidak. Harusnya sih bisa.
Hallo,
Artikelnya menarik, tapi saya sendiri malah susah kalau pakai CloudFlare DNS, beberapa iklan entah kenapa masih ke show up
Saya lebih prefer pakai local DNS dari VPS / Dedicated, setup via ubound lalu konekin ke Pi-Hole via 127.0.0.1#5335
Asiknya adalah ketika orang pakai service kita either DoT / DoH / OpenVPN dan ketika di cek via dnsleaktest nanti yg muncul adalah ISP yg kita pakai di server bukan ISP nya CloudFlare
Just my another opinion aja sih hehe
Tapi tetep aja tulisan ini bagus
Thanks 🙂
Setahu saya Cloudflare DNS itu memang tidak melakukan filter iklan. Saya pakai Cloudflare DNS dengan pihole itu agar mudah enkripsi DNS saja. Jadi Cloudflared untuk enkripsi, dan pihole sebagai sinkhole.
Layanan DNS yang bisa langsung melakukan filter iklan itu seperti NextDNS dan AdGuard DNS.
Kalau cara memasang dhcp server pihole-nya ada tutorial juga kah mas?
bisa bang
pake router address reservation
Baru pasang beberapa bulan lalu karena penasaran aja.
Dipasang di virtualbox aja biar gak ada biaya buat penasaran wkwkwk
Lumayan ok juga walau iklan google masih sakti nembus pihole. Database blacklist udah 1,5jtan karena ngambil gravity dari sana-sini.
Seru juga ngopreknya. Selain menghadang iklan, speed juga bisa lebih stabil dan cepet.
Mungkin ntar klo ada dana dan dapet sertifikat SNI ISO, mau beli raspi nya biar lebih proper dan hemat daya
Mantab 🙂
Iklan Google maksudnya di youtube ya? Kalau youtube memang penanganannya berbeda lagi caranya.
di test menggunakan lebih dari 500 client sering service not respon, dan buat browsing juga sering muter2,dan server not found, kadang harus di refresh baru kebuka.
apakah ada yg sama seperti itu ?
Wah sampai 500 clients ya. Mungkin bisa pakai hardware yang lebih powerful.
Saya install di vps mas, Ubuntu 20.04, 8 core, ram 8
Saya belum pernah pakai sampai client sebanyak itu, soalnya pernah pakai di jaringan rumah doang.
Tapi kalau saya cek di website pi-hole, seharusnya pi-hole itu ringan sekali: https://pi-hole.net/2017/05/24/how-much-traffic-can-pi-hole-handle/