Onnan indulunk, hogy van egy otthoni szerverünk, rajta Debian és Docker. Tailscale-t telepítettünk a szerverre és a mobilunkra is, így mindig egy hálózaton vannak. Mi lenne, ha hosztolnánk magunknak egy DNS szervert, amelynek így nem is kell az interneten elérhetőnek lennie?
A választott szoftver természetesen a közismert Pi-hole, amely egy hálózati szintű hirdetés- és trackerblokkoló alkalmazás (avagy DNS sinkhole), szép webadminja is van. Ismét a konténeres telepítést választottuk, a compose.yaml
tartalma:
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
hostname: pihole
ports:
- "53:53/tcp"
- "53:53/udp"
- "3141:80/tcp"
environment:
TZ: "Europe/Budapest"
WEBPASSWORD: "ezittkamujelszo"
FTLCONF_LOCAL_IPV4: "192.168.0.100"
PIHOLE_DNS_: "1.1.1.1;1.0.0.1"
DNSMASQ_LISTENING: "all"
volumes:
- ./etc/pihole:/etc/pihole
- ./etc/dnsmasq.d:/etc/dnsmasq.d
restart: unless-stopped
Megjegyzendő, hogy a Tailscale-t nem compose-szolgáltatásként vesszük fel, mint a HA-nál mutattuk lehetőségként, hanem OS-szinten telepítjük (és így értelemszerűen a HA-nál sincs szükség saját compose-szolgáltatásra):
$ curl -fsSL https://tailscale.com/install.sh | sh
# tailscale up --auth-key=tskey-auth-ezittkamukulcs --advertise-exit-node --accept-dns=false
Ezután már csak annyi a teendőnk, hogy a Pi-hole-t beállítsuk a teljes tailnet DNS-ének a Tailscale adminban. Érdemes lehet az Adlists
menüpontban további listákat felvenni az igények és a felhasználói kör függvényében (magyar hirdetők, FB, szülői felügyelet stb.).