Personal DNS container replacing provider / public DNS servers with included Ad- and Tracker blocking
Find a file
Knut Ahlers e233ca5f68
Add local blacklist
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2018-10-22 22:47:17 +02:00
.gitignore Initial Version 2018-05-09 17:23:04 +02:00
blacklist.local Add local blacklist 2018-10-22 22:47:17 +02:00
build.sh Fix filename 2018-10-08 20:37:38 +02:00
build_stubs.py Initial Version 2018-05-09 17:23:04 +02:00
Corefile Re-add remote ip to logs 2018-08-30 15:32:13 +02:00
docker-entrypoint.sh Initial Version 2018-05-09 17:23:04 +02:00
Dockerfile Fix blacklist target 2018-05-09 22:22:57 +02:00
LICENSE Create LICENSE 2018-05-09 23:12:20 +02:00
Makefile Add local blacklist 2018-10-22 22:47:17 +02:00
named.conf Initial Version 2018-05-09 17:23:04 +02:00
named.stubs.j2 Initial Version 2018-05-09 17:23:04 +02:00
README.md Add README 2018-05-09 23:20:21 +02:00
requirements.txt Initial Version 2018-05-09 17:23:04 +02:00

Luzifer / personal-dns

personal-dns is a combination of two DNS servers in one container: CoreDNS and Bind9.

The purpose is to be fully independent from provider and third-party DNS servers and have a neat list of additional features:

  • No DNS query is sent to your providers DNS servers
  • You decide which domains are available to you, no third party company
  • Container does not log requesting IPs: You're not traced
  • On every build a current list of IANA and OpenNIC registered TLDs is loaded together with their authorative nameservers
  • The container includes a blacklist blocking quite a lot of crap

As soon as you build and roll this DNS container and set your system to use it you should notice a lot of ad- and tracking requests to be gone even for example on your Android device where adblockers does not work that well. Also all connected devices can access any domain registered within the OpenNIC TLDs.

Usage

Build and run the container

This is quite easy:

$ docker build -t personal-dns .
$ docker run --rm -ti -p 53:53 -p 53:53/udp personal-dns
$ dig +short @<ip of your container> health.server.test
0.0.0.0

Connect your computer to the container

  • On Mac OS go into the System Preferences, Network, edit your LAN / WiFi connection, enter the IP your container is reachable into DNS settings
  • On Android I'm using the DNS Changer App