Pi-hole ist ein Tracking- und Werbeblocker mit dem man Werbung im kompletten Netzwerk wegfiltern kann (Wikipedia). Pi-hole arbeitet dafür als DNS-Server. DNS-Server sind dafür verantwortlich die IP-Adresse eines Servers anhand eines Domainnamens zu ermitteln. Ist ein Domainname dafür bekannt Nutzer zu tracken oder Werbung zu verbreiten, so blockt Pi-hole die Anfrage und der Benutzer bekommt keine Werbung angezeigt.
Bei mir läuft Pi-hole auf einem Synology NAS via Docker. Da auf dem NAS die Ports 80 und 443 bereits verwendet werden, Pi-hole diese aber benötigt, muss der Pi-hole Docker Container eine eigene IP-Adresse bekommen (bei mir die 192.168.0.240
). Diese IP-Adresse hinterlege ich dann auf meinem Router als DNS-Server (damit alle Requests in meinem Netzwerk über Pi-hole gefiltert werden).
Wer das ganze per Hand aufsetzen möchte, findet in dem Blog ServiceMax eine detailierte Anleitung und Erklärungen. Bezogen auf mein Setup habe ich die Anweisungen in einer docker-compose.yml zusammengefasst. Die IP-Adressen (192.168.x.x
) sowie die Netzwerkschnittstelle des Server auf dem Pi-hole läuft (bei mir ovs_bond0
) müssen natürlich angepasst werden.
version: '2.4' services: pihole: image: pihole/pihole ports: - "80:80" - "443:443" - "53:53/udp" - "53:53/tcp" volumes: - /volume1/docker/pihole/dnsmasq.d:/etc/dnsmasq.d - /volume1/docker/pihole/pihole:/etc/pihole restart: always environment: - TZ=Europe/Berlin - DNS1=1.1.1.1 - DNS2=192.168.0.1 networks: - pihole networks: pihole: driver: macvlan driver_opts: parent: ovs_bond0 ipam: config: - subnet: 192.168.0.0/24 gateway: 192.168.0.1 ip_range: 192.168.0.240/32