technitiumdns

Install

  • yay -S technitium-dns-server-bin
  • systemctl disable --now systemd-resolved.service
  • systemctl enable --now technitium-dns-server.service

Configuration

  • Open up the webui at http://IP:5380
  • Set new admin password
  • Settings
    • General
      • set the DNS Server Domain
    • Proxy & Forwarders
      • set some Forwarders

From here on, it’s basic dns zones stuff and TSIGs etc

dig -x <IP>
dig somedomain.tld
dig somedomain.tld @8.8.8.8 # check somedomain.tld with googles dns server

here is ads.google.com as an example that is blocked by multiple lists


; <<>> DiG 9.20.11 <<>> +all ads.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 28414
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; EDE: 15 (Blocked): (source=block-list-zone; blockListUrl=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts; domain=ads.google.com)
; EDE: 15 (Blocked): (source=block-list-zone; blockListUrl=https://adaway.org/hosts.txt; domain=ads.google.com)
; EDE: 15 (Blocked): (source=block-list-zone; blockListUrl=https://raw.githubusercontent.com/bigdargon/hostsVN/master/hosts; domain=ads.google.com)
; EDE: 15 (Blocked): (source=block-list-zone; blockListUrl=https://blocklistproject.github.io/Lists/ads.txt; domain=ads.google.com)
; EDE: 15 (Blocked): (source=block-list-zone; blockListUrl=https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-social/hosts; domain=ads.google.com)
;; QUESTION SECTION:
;ads.google.com.                        IN      A

;; AUTHORITY SECTION:
google.com.             30      IN      SOA     techdns.lair.lan. hostadmin.techdns.lair.lan. 1 14400 3600 604800 30

;; Query time: 1 msec
;; SERVER: 10.193.120.5#53(10.193.120.5) (UDP)
;; WHEN: Mon Jul 21 23:02:54 CEST 2025
;; MSG SIZE  rcvd: 730

Last modified: Mon Jul 21 23:04:23 2025