sumarsono.com
Take it with a grain of salt


Install Pihole dan Dnscrypt-proxy di Container LXC

Posted on

PiHole sejak mendukung FTL jadi bisa pakai upstrean dnscrypt-proxy. Keren ya. Untuk yang belum tahu, pihole ini merupakan on-premise ads blocker. Kalian bisa bayangkan sebuah server yang jadi pusat untuk blokir iklan. Pihole membklokir iklan di level DNS, dari sini kita sudah punya gambaran dengan memakai dns server yang dibuat pihole kita bisa akses internet dengan fitur ads blocker. Ya tidak bisa dipungkiri, sebagian iklan di internet benar-benar mengesalkan. Mending di blokir aja.

Aku punya satu komputer yang bisa dikatan hampir tidak pernah mati. Jadi aku berencana menjadikan komputer itu sebagai server pihole dan dnscrypt-proxy. Komputer tsb sudah terpasang lxd, jadi aku berniat memasang pihole di container lxc. Langkahnya cukup sederhana:

  1. Bikin container pihole pakai image debian 9.
  2. Install pihole dan bind port 53.
  3. Install dnscrypt-proxy dan bind port 5454.
  4. Ganti upstream pihole ke dnscrypt proxy yang kita install (127.0.0.1#5454)
  5. Expose tcp port 53 dan udp port 53 dari container pihole ke luar pakai lxc device, supaya perangkat lain bisa memakai fasilitas pihole.
  6. Set dns perangkat ke ip komputer yang terpasang pihole.

Seperti itu ringkasnya, berikut ini kurang lebih prosesnya:

  1. Create container
lxc launch images:debian/stretch pihole
  1. Install wget dan curl pada container pihole
lxc exec pihole -- apt update
lxc exec pihole -- apt install wget curl -y
  1. Install pihole pada container pihole
lxc exec pihole -- bash
apt purge dnsmasq # conflict sama pihole, pihole membawa custom dnsmasq yg support ftl
curl -sSL https://install.pi-hole.net | bash
  1. Install dnscrypt-proxy
wget https://github.com/DNSCrypt/dnscrypt-proxy/releases/download/2.0.27/dnscrypt-proxy-linux_x86_64-2.0.27.tar.gz
tar -xf dnscrypt-proxy-linux_x86_64-2.0.27.tar.gz 
cd linux-x86_64/
cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml
vi dnscrypt-proxy.toml # edit port 53 menjadi 5454 biar tidak konflik dengan pihole
./dnscrypt-proxy -service install # install systemd service untuk pihole-FTL
./dnscrypt-proxy -service start # start service pihole-FTL
  1. Ganti upstream pihole ke dnscrypt-proxy
  1. Bikin proxy untuk expose port dns pihole
lxc config device add pihole piholetcp proxy listen=tcp:192.168.1.209:53 connect=tcp:127.0.0.1:53
lxc config device add pihole piholeudp proxy listen=udp:192.168.1.209:53 connect=udp:127.0.0.1:53
  1. Sisanya tinggal set perangkat Set perangkat untuk pakai dns 192.168.1.209

Selamat browsing++. Browsing bebas iklan plus dnscrypt.

Note: saat install pihole, ada kendala, installnya gak bisa finish, tahu-tahu exit gitu aja. Check binary pihole juga gak kepasang. Solusinya, install paket bc, aku tidak tahu fungsinya untuk apa. Referensinya di forum pihole

apt install bc -y