sumarsono.com
Take it with a grain of salt


AdguardHome Resolve Local Domain Name

Posted on

Saat artikel ini ditulis, aku sedang menjajal AdguardHome. AdguardHome adalah Network-wide ads & trackers blocking DNS server layaknya PiHole. Sejujurnya, aku udah pewe pakai PiHole. Tapi ya engga ada salahnya jajal AguardHome for science. Aku mencoba install AdguardHome di VM, mengikuti panduan mereka. Engga ada kendala sama sekali.

Setelah seharian nyobain AdguarHome, ada satu yang ketinggalan. Bagaimana caranya aku resolve intranet domain *.local? contohnya aku mau resolve sysadmin.ded.local. Dulu pas pakai PiHole, bisa dengan mudah diset di konfigurasi dnsmasq-nya. Di AguardHome ini ternyata sudah difasilitasi dengan cara masuk Settings > DNS settings > Upstream DNS servers. Upstream DNS servers aku isi:

https://dns.quad9.net/dns-query
[/local/]127.0.0.1:54

Kalau diterjemahkan secara bodohnya si: Semua query domain arahkan ke https://dns.quad9.net/dns-query (ini DNS-over-HTTPS) kecuali *.local. Untuk *.local query ke 127.0.0.1:54.

Hmm, simple ya? Tapi aku jadi butuh bikin dns server lagi. Mau install-install lagi males. Cara tercepat adalah pakai [coredns]({% post_url 2019-11-05-cara-mudah-bikin-dns-server-lokal-pakai-coredns %}). Cukup download single binary, run and forget. Jadi supaya AdguardHome bisa resolve *.local aku harus kombinasikan dengan coredns yang jalan di port 54. Berikut ini konfigurasi coredns yang kupakai,

$ cat Corefile
.:54 {
    forward . 9.9.9.9 {
        except ded.local
    }
    log
    errors
}

ded.local:54 {
    log
    errors
    file /opt/coredns/ded.local.db
}
cat /opt/coredns/ded.local.db
ded.local.              IN  SOA dns.ded.local. sumar.ded.local. 2020041617 7200 3600 1209600 3600
sysadmin.ded.local.     IN      A       192.168.1.26

Kalau coba test query pakai drill:

$ drill @192.168.1.195 sysadmin.ded.local
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 34403
;; flags: qr aa rd ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION:
;; sysadmin.ded.local.  IN      A

;; ANSWER SECTION:
sysadmin.ded.local.     0       IN      A       192.168.1.26

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 2 msec
;; SERVER: 192.168.1.195
;; WHEN: Fri Apr 17 11:34:11 2020
;; MSG SIZE  rcvd: 52

Oke sip, sekarang AdguardHome bisa resolve domain intranet *.local.

Cool~