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.).