Στο προηγούμενο άρθρο μας παρουσιάσαμε το Self-Hosted DNS και είδαμε πώς μπορούμε να μετατρέψουμε έναν απλό Home Server, Mini PC, Raspberry Pi ή NAS σε κεντρικό DNS server για ολόκληρο το οικιακό μας δίκτυο.

Ανάμεσα στις δύο δημοφιλέστερες λύσεις, το Pi-hole ξεχωρίζει εδώ και χρόνια για την απλότητα, τη σταθερότητα και την τεράστια κοινότητα που έχει δημιουργηθεί γύρω από το project.

Στο συγκεκριμένο άρθρο θα περάσουμε από τη θεωρία στην πράξη.

Θα δούμε τι είναι το Pi-hole, πώς λειτουργεί, πώς εγκαθίσταται με Docker, πώς ρυθμίζεται ως DNS server του δικτύου μας και πώς μπορούμε να το χρησιμοποιήσουμε για να μπλοκάρουμε διαφημίσεις, trackers και ανεπιθύμητα domains σε όλες τις συσκευές του σπιτιού.


Τι είναι το Pi-hole;

Το Pi-hole είναι ένας DNS server με δυνατότητα filtering, σχεδιασμένος για να προσφέρει network-wide ad blocking.

Αντί να εγκαταστήσουμε ad blocker ξεχωριστά σε κάθε υπολογιστή, κινητό ή browser, εγκαθιστούμε το Pi-hole μία φορά στο δίκτυό μας.

Στη συνέχεια ρυθμίζουμε το router ώστε οι συσκευές του δικτύου να χρησιμοποιούν το Pi-hole ως DNS server.

Η επίσημη τεκμηρίωση περιγράφει το Pi-hole ως έναν DNS sinkhole που προστατεύει τις συσκευές χωρίς να απαιτείται λογισμικό client σε κάθε συσκευή.

Η λογική είναι απλή:

                    INTERNET
                        │
                        ▼
                Upstream DNS
              Cloudflare / Quad9
                        │
                        ▼
                 ┌────────────┐
                 │   Pi-hole  │
                 │ DNS +      │
                 │ Filtering  │
                 └─────┬──────┘
                       │
                       ▼
                    Router
                       │
        ┌──────────────┼──────────────┐
        │              │              │
      Laptop        Smartphone      Smart TV

Κάθε φορά που μια συσκευή ζητά την IP ενός domain, το αίτημα περνάει από το Pi-hole.

Αν το domain βρίσκεται σε κάποια από τις λίστες αποκλεισμού, το Pi-hole μπορεί να το μπλοκάρει πριν η συσκευή προσπαθήσει να επικοινωνήσει μαζί του.


Γιατί να χρησιμοποιήσουμε Pi-hole;

Το μεγαλύτερο πλεονέκτημα είναι ότι το filtering πραγματοποιείται σε επίπεδο δικτύου.

Δεν μας ενδιαφέρει αν η συσκευή είναι:

  • Windows PC
  • Mac
  • Android
  • iPhone
  • Smart TV
  • Android TV Box
  • PlayStation
  • Xbox
  • NAS
  • IoT συσκευή
  • Smart Home συσκευή

Αρκεί η συσκευή να χρησιμοποιεί το Pi-hole ως DNS server.

Έτσι μπορούμε να έχουμε ένα κεντρικό σημείο ελέγχου για ολόκληρο το δίκτυο.

Το Pi-hole μπορεί να μπλοκάρει διαφημίσεις και trackers ακόμη και σε εφαρμογές ή Smart TVs όπου ένα κλασικό browser ad blocker δεν μπορεί να εγκατασταθεί.


Πώς λειτουργεί το DNS filtering;

Ας πάρουμε ένα απλό παράδειγμα.

Μια εφαρμογή θέλει να επικοινωνήσει με:

ads.example.com

Πριν συνδεθεί, η συσκευή πρέπει να βρει την IP διεύθυνση του domain.

Στέλνει λοιπόν ένα DNS query:

Ποια είναι η IP του ads.example.com;

Το αίτημα φτάνει στο Pi-hole.

Το Pi-hole ελέγχει αν το domain βρίσκεται σε κάποια ενεργή denylist.

Αν δεν είναι μπλοκαρισμένο:

Device
  ↓
Pi-hole
  ↓
Upstream DNS
  ↓
IP Address
  ↓
Internet

Αν είναι μπλοκαρισμένο:

Device
  ↓
Pi-hole
  ↓
BLOCKED

Η σύνδεση με το συγκεκριμένο domain δεν προχωρά.

Αυτό είναι και το βασικό πλεονέκτημα του DNS-level blocking.


Τι χρειάζεται για να εγκαταστήσουμε το Pi-hole;

Το Pi-hole είναι εξαιρετικά ελαφρύ.

Δεν χρειάζεται κάποιο ιδιαίτερα ισχυρό μηχάνημα. Η επίσημη τεκμηρίωση αναφέρει ως ελάχιστη απαίτηση περίπου 512 MB RAM και 2 GB ελεύθερου χώρου, ενώ υποστηρίζονται αρχιτεκτονικές όπως x86_64 και ARM.

Μπορούμε να το εγκαταστήσουμε σε:

  • Raspberry Pi
  • Mini PC
  • Home Server
  • NAS
  • Virtual Machine
  • Linux Server
  • Docker

Για ένα σύγχρονο homelab, το Docker είναι μία από τις πιο πρακτικές επιλογές.


Γιατί Docker;

Με το Docker έχουμε αρκετά σημαντικά πλεονεκτήματα.

Το Pi-hole:

  • λειτουργεί απομονωμένο από το υπόλοιπο λειτουργικό
  • μπορεί να ενημερώνεται εύκολα
  • κρατά τα δεδομένα του σε volumes
  • μπορεί να γίνει backup
  • μπορεί να μεταφερθεί σε άλλο Docker host
  • εντάσσεται εύκολα σε ένα υπάρχον homelab

Η ίδια η ομάδα του Pi-hole παρέχει επίσημο Docker image και Docker Compose παράδειγμα.


Πριν την εγκατάσταση: Στατική IP

Αυτό είναι πολύ σημαντικό.

Ο DNS server μας πρέπει να έχει σταθερή IP.

Για παράδειγμα:

Pi-hole Server
IP: 192.168.1.10

Δεν θέλουμε αύριο να πάρει:

192.168.1.25

γιατί τότε οι συσκευές του δικτύου μας θα συνεχίσουν να ψάχνουν το Pi-hole στη λάθος διεύθυνση.

Η επίσημη τεκμηρίωση απαιτεί στατική IP ή DHCP reservation.

Ιδανικά

Ρυθμίζουμε DHCP Reservation στο router.

Έτσι το router θα δίνει πάντα την ίδια IP στο μηχάνημα που φιλοξενεί το Pi-hole.


Εγκατάσταση Pi-hole με Docker

Δημιουργούμε έναν φάκελο για το Pi-hole:

mkdir -p ~/pihole
cd ~/pihole

Στη συνέχεια δημιουργούμε το:

docker-compose.yml

Ένα απλό παράδειγμα για Pi-hole v6 είναι το παρακάτω:

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest

    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "443:443/tcp"

    environment:
      TZ: 'Europe/Athens'

      FTLCONF_webserver_api_password: 'CHANGE-THIS-PASSWORD'

      FTLCONF_dns_upstreams: |
        1.1.1.1
        1.0.0.1

      FTLCONF_dns_listeningMode: 'ALL'

    volumes:
      - './etc-pihole:/etc/pihole'

    restart: unless-stopped

Η συγκεκριμένη δομή ακολουθεί το επίσημο Docker setup του Pi-hole, με persistent /etc/pihole, DNS ports και ρύθμιση timezone/password μέσω environment variables.

Σημαντικό: Μην χρησιμοποιήσετε το παραπάνω password αυτούσιο. Αντικαταστήστε το CHANGE-THIS-PASSWORD με ένα δικό σας ισχυρό password.


Εκκίνηση του Pi-hole

Από τον φάκελο όπου βρίσκεται το docker-compose.yml, εκτελούμε:

docker compose up -d

Ελέγχουμε ότι το container λειτουργεί:

docker ps

Θα πρέπει να εμφανιστεί κάτι αντίστοιχο:

pihole   pihole/pihole:latest   Up

Μπορούμε επίσης να ελέγξουμε τα logs:

docker logs pihole

Πρόσβαση στο Web Interface

Από έναν υπολογιστή του δικτύου ανοίγουμε:

http://192.168.1.10/admin

όπου:

192.168.1.10

είναι η IP του server μας.

Το Pi-hole διαθέτει ενσωματωμένο web interface και δεν χρειάζεται ξεχωριστό web server για τη διαχείρισή του. Στο Pi-hole v6 το web server και το REST API έχουν ενσωματωθεί στο FTL.


Αν η θύρα 80 χρησιμοποιείται ήδη

Σε ένα homelab είναι αρκετά πιθανό η θύρα 80 να χρησιμοποιείται ήδη από:

  • Nginx
  • Apache
  • Nginx Proxy Manager
  • CasaOS
  • ZimaOS
  • άλλη Docker εφαρμογή

Σε αυτή την περίπτωση μπορούμε να αλλάξουμε τη θύρα του web interface.

Για παράδειγμα:

ports:
  - "53:53/tcp"
  - "53:53/udp"
  - "8080:80/tcp"

και στη συνέχεια να ανοίγουμε:

http://192.168.1.10:8080/admin

Προσοχή: Η θύρα DNS 53 είναι διαφορετική και πρέπει να παραμένει διαθέσιμη στον host, εκτός αν χρησιμοποιήσουμε διαφορετική αρχιτεκτονική δικτύου.

Η επίσημη τεκμηρίωση αναφέρει ότι το Pi-hole χρειάζεται τη θύρα 53 για DNS και 80/443 για το web interface, ενώ υπάρχουν διαφορετικές επιλογές όταν χρησιμοποιείται Docker networking.


Ρύθμιση του Upstream DNS

Το Pi-hole δεν είναι υποχρεωτικό να κάνει μόνο του recursive DNS resolution.

Μπορούμε να του ορίσουμε έναν Upstream DNS provider.

Δηλαδή:

Client
   ↓
Pi-hole
   ↓
Cloudflare / Quad9 / Google
   ↓
Internet

Στην αρχική εγκατάσταση το Pi-hole προσφέρει αρκετές επιλογές upstream DNS, όπως Google, OpenDNS, Quad9 και Cloudflare.

Για παράδειγμα μπορούμε να χρησιμοποιήσουμε:

Cloudflare

1.1.1.1
1.0.0.1

Google

8.8.8.8
8.8.4.4

Quad9

9.9.9.9
149.112.112.112

Η επιλογή εξαρτάται από το τι θέλουμε να πετύχουμε σε επίπεδο ταχύτητας, ασφάλειας και ιδιωτικότητας.


Το Pi-hole ως DNS του σπιτιού

Μέχρι τώρα έχουμε απλώς εγκαταστήσει έναν DNS server.

Για να προστατεύσουμε ολόκληρο το δίκτυο, πρέπει οι συσκευές να αρχίσουν να τον χρησιμοποιούν.

Η καλύτερη λύση είναι να ρυθμίσουμε το DHCP του router ώστε να δίνει ως DNS server την IP του Pi-hole.

Για παράδειγμα:

DNS Server:
192.168.1.10

Έτσι κάθε συσκευή που παίρνει IP από το DHCP θα παίρνει αυτόματα και:

DNS = 192.168.1.10

Η επίσημη τεκμηρίωση προτείνει ακριβώς αυτή την προσέγγιση, ώστε όλες οι συσκευές του δικτύου να χρησιμοποιούν αυτόματα το Pi-hole.


Τι γίνεται αν το router δεν επιτρέπει αλλαγή DNS;

Υπάρχει και δεύτερη λύση.

Μπορούμε να απενεργοποιήσουμε το DHCP του router και να χρησιμοποιήσουμε το ενσωματωμένο DHCP server του Pi-hole.

Η αρχιτεκτονική γίνεται:

                 Router
                   │
                   │
              Internet
                   │
                   │
              Pi-hole
             DNS + DHCP
                   │
        ┌──────────┼──────────┐
        │          │          │
      Laptop    Smartphone    TV

Αν χρησιμοποιήσουμε το DHCP του Pi-hole, πρέπει πρώτα να απενεργοποιήσουμε το DHCP του router ώστε να μην υπάρχουν δύο DHCP servers στο ίδιο LAN.

Για ένα απλό setup, πάντως, προτιμάμε να αφήσουμε το DHCP στο router και απλώς να δηλώσουμε εκεί το Pi-hole ως DNS.


Ελέγχουμε αν λειτουργεί

Αφού αλλάξουμε το DNS στο router, μπορούμε να ελέγξουμε από Windows:

ipconfig /all

Ψάχνουμε για:

DNS Servers
    192.168.1.10

Αν εμφανίζεται η IP του Pi-hole, η συσκευή μας χρησιμοποιεί πλέον το Pi-hole.

Μπορούμε επίσης να καθαρίσουμε το DNS cache:

ipconfig /flushdns

και στη συνέχεια να δοκιμάσουμε:

nslookup google.com

Θα πρέπει ο DNS server που εμφανίζεται να είναι το Pi-hole.


Το Dashboard του Pi-hole

Ένα από τα πιο χρήσιμα χαρακτηριστικά του Pi-hole είναι το web dashboard.

Εκεί μπορούμε να δούμε:

  • συνολικά DNS queries
  • blocked queries
  • ποσοστό blocked requests
  • clients
  • πιο δημοφιλή domains
  • πιο συχνά blocked domains
  • upstream DNS servers
  • activity ανά συσκευή

Το Pi-hole διατηρεί επίσης query database, επιτρέποντας να εξετάσουμε τι domains ζητήθηκαν από τις συσκευές του δικτύου.


Πώς βλέπουμε ποια συσκευή κάνει ένα request;

Αυτό είναι ένα από τα πιο ενδιαφέροντα σημεία.

Για παράδειγμα μπορεί να δούμε:

192.168.1.25
Samsung-TV

και να διαπιστώσουμε ότι η Smart TV κάνει εκατοντάδες DNS queries.

Ή:

192.168.1.35
Android-Phone

και να δούμε ποια domains ζητά ένα συγκεκριμένο κινητό.

Αυτό κάνει το Pi-hole όχι μόνο ad blocker αλλά και ένα πολύ χρήσιμο εργαλείο παρακολούθησης και troubleshooting του DNS traffic του δικτύου μας.


Blocklists: Η καρδιά του Pi-hole

Το Pi-hole χρησιμοποιεί λίστες domains για να αποφασίζει τι θα μπλοκάρει.

Αυτές είναι γνωστές ως blocklists.

Μία blocklist μπορεί να περιέχει χιλιάδες ή εκατομμύρια domains που σχετίζονται με:

  • advertising
  • trackers
  • malware
  • phishing
  • telemetry
  • ανεπιθύμητο περιεχόμενο

Το Pi-hole χρησιμοποιεί το Gravity για να συγκεντρώνει και να επεξεργάζεται τις λίστες αποκλεισμού.

Το σημαντικό εδώ είναι να μην πέσουμε στην παγίδα:

«Όσο περισσότερες λίστες, τόσο καλύτερο Pi-hole.»

Δεν ισχύει απαραίτητα.

Υπερβολικά πολλές ή κακής ποιότητας λίστες μπορεί να δημιουργήσουν:

  • false positives
  • προβλήματα σε websites
  • προβλήματα σε εφαρμογές
  • ανάγκη για πολλά whitelists

Είναι προτιμότερο να ξεκινήσουμε με λίγες και αξιόπιστες λίστες και να προσθέτουμε σταδιακά.


Whitelist και Blacklist

Κάποια στιγμή θα συναντήσουμε ένα κλασικό πρόβλημα.

Ένα website ή μια εφαρμογή σταματά να λειτουργεί σωστά.

Το πρώτο πράγμα που πρέπει να κάνουμε δεν είναι να απενεργοποιήσουμε όλο το Pi-hole.

Πηγαίνουμε στο Query Log και βλέπουμε ποιο domain έχει μπλοκαριστεί.

Αν διαπιστώσουμε ότι είναι απαραίτητο, μπορούμε να το προσθέσουμε στο Allowlist.

Αντίστοιχα μπορούμε να προσθέσουμε χειροκίνητα ένα domain στο Denylist.

Το Pi-hole υποστηρίζει allow και deny domains, ενώ οι κανόνες μπορούν να συσχετιστούν και με συγκεκριμένα groups.


Groups: Διαφορετικό filtering ανά συσκευή

Εδώ το Pi-hole γίνεται ακόμη πιο ενδιαφέρον.

Μπορούμε να δημιουργήσουμε διαφορετικά groups.

Για παράδειγμα:

Default
Kids
Adults
IoT
Smart TVs
Work

και να εφαρμόσουμε διαφορετικές λίστες ή κανόνες σε κάθε group.

Για παράδειγμα:

Kids
 ├── Advertising Blocklist
 ├── Tracker Blocklist
 └── Adult Content Blocklist

ενώ:

Work
 ├── Advertising Blocklist
 └── Basic Tracker Blocklist

Το Pi-hole επιτρέπει τη συσχέτιση clients και domain lists με πολλαπλά groups.

Αυτό είναι ιδιαίτερα χρήσιμο σε οικογενειακά δίκτυα ή σε homelabs με πολλές διαφορετικές κατηγορίες συσκευών.


Local DNS: Τα δικά μας domains

Το Pi-hole μπορεί να χρησιμοποιηθεί και για Local DNS.

Για παράδειγμα, έχουμε:

192.168.1.20 → NAS
192.168.1.30 → Jellyfin
192.168.1.40 → Home Assistant
192.168.1.50 → Proxmox

Μπορούμε να δημιουργήσουμε:

nas.home
jellyfin.home
homeassistant.home
proxmox.home

Έτσι αντί να θυμόμαστε IP addresses, χρησιμοποιούμε ονόματα.

Αυτό είναι ιδιαίτερα χρήσιμο σε ένα homelab.


Pi-hole και DNS Privacy

Εδώ πρέπει να ξεκαθαρίσουμε κάτι σημαντικό.

Το Pi-hole από μόνο του δεν σημαίνει ότι τα DNS queries εξαφανίζονται από το Internet.

Η διαδρομή μπορεί να είναι:

PC
 ↓
Pi-hole
 ↓
Cloudflare
 ↓
Internet

Το Pi-hole βλέπει τα DNS queries των clients.

Ο upstream provider βλέπει τα queries που του προωθεί το Pi-hole, ανάλογα με το πρωτόκολλο και τη διαμόρφωση.

Για μεγαλύτερο έλεγχο μπορούμε να χρησιμοποιήσουμε έναν δικό μας recursive resolver, όπως το Unbound:

Devices
   ↓
Pi-hole
   ↓
Unbound
   ↓
Root DNS infrastructure
   ↓
Internet

Το Pi-hole υποστηρίζει επίσημο οδηγό για χρήση με Unbound και DNSSEC validation.

Αυτό όμως είναι πιο προχωρημένο setup και αξίζει να αποτελέσει ξεχωριστό άρθρο.


Ένα σημαντικό πρόβλημα: DNS bypass

Ένα Pi-hole δεν μπορεί να μπλοκάρει κάτι που δεν περνάει από αυτό.

Για παράδειγμα, αν μια συσκευή αγνοεί το DHCP DNS και χρησιμοποιεί:

8.8.8.8

τότε τα DNS queries της μπορεί να παρακάμπτουν το Pi-hole.

Το ίδιο μπορεί να συμβεί με συσκευές που χρησιμοποιούν:

  • DNS-over-HTTPS
  • DNS-over-TLS
  • hardcoded DNS servers

Για ένα απλό οικιακό δίκτυο δεν χρειάζεται να αρχίσουμε αμέσως να μπλοκάρουμε κάθε πιθανό bypass.

Πρώτα ρυθμίζουμε σωστά το δίκτυο ώστε όλες οι συσκευές να χρησιμοποιούν το Pi-hole.

Σε πιο προχωρημένο setup μπορούμε να εφαρμόσουμε firewall rules ώστε τα DNS queries να επιτρέπονται μόνο προς το Pi-hole.


Τι γίνεται με το IPv6;

Αυτό είναι ένα σημείο που συχνά ξεχνάμε.

Μπορεί να έχουμε ρυθμίσει:

IPv4 DNS → Pi-hole

αλλά το δίκτυο να χρησιμοποιεί παράλληλα IPv6 DNS.

Σε αυτή την περίπτωση μια συσκευή μπορεί να παρακάμψει μέρος της ρύθμισης.

Το Pi-hole υποστηρίζει filtering τόσο σε IPv4 όσο και σε IPv6.

Άρα σε ένα σωστά ρυθμισμένο δίκτυο πρέπει να ελέγξουμε και το IPv6 configuration του router.


Είναι ασφαλές να τρέχει το Pi-hole στο Internet;

Όχι.

Το Pi-hole προορίζεται να χρησιμοποιείται μέσα στο δικό μας δίκτυο.

Δεν πρέπει να ανοίξουμε απευθείας τη θύρα:

53

στο Internet και να αφήσουμε το Pi-hole διαθέσιμο σε οποιονδήποτε.

Ένας DNS server που είναι ανοιχτός δημόσια μπορεί να χρησιμοποιηθεί για abuse και DNS amplification attacks.

Το Pi-hole πρέπει να παραμένει LAN service.

Αν θέλουμε πρόσβαση στο Pi-hole όταν βρισκόμαστε εκτός σπιτιού, η σωστή λύση είναι VPN, για παράδειγμα WireGuard.


Backup του Pi-hole

Όταν έχουμε πλέον φτιάξει το configuration μας, είναι σημαντικό να έχουμε backup.

Το Pi-hole παρέχει λειτουργία Teleporter, μέσω της οποίας μπορούμε να κάνουμε backup και restore της διαμόρφωσής του.

Σε Docker περιβάλλον είναι επίσης σημαντικό να διατηρούμε το volume:

./etc-pihole

ώστε οι ρυθμίσεις και τα δεδομένα να επιβιώνουν από recreation ή update του container.


Ενημέρωση του Pi-hole

Εφόσον χρησιμοποιούμε Docker, δεν χρειάζεται να κάνουμε reinstall.

Μπορούμε να κατεβάσουμε το νεότερο image:

docker compose pull

και στη συνέχεια:

docker compose up -d

Το σημαντικό είναι τα δεδομένα να βρίσκονται σε persistent volume και όχι μόνο μέσα στο container.

Το επίσημο Docker documentation προτείνει persistent storage για το /etc/pihole.


Ένα απλό και σωστό Home Setup

Για ένα τυπικό σπίτι μπορούμε να έχουμε:

                     INTERNET
                         │
                         ▼
                    ISP Router
                         │
             ┌───────────┴───────────┐
             │                       │
          Internet                 LAN
                                     │
                                     ▼
                              ┌────────────┐
                              │  Pi-hole  │
                              │ Docker    │
                              └─────┬──────┘
                                    │
                              Upstream DNS
                                    │
                              Cloudflare
                                    │
                                    ▼
                                 Internet

Και όλες οι συσκευές:

Laptop
Phone
Tablet
Smart TV
TV Box
PlayStation
IoT
NAS

χρησιμοποιούν αυτόματα το Pi-hole.


Ακόμη καλύτερο Setup για Homelab

Αν έχουμε έναν Home Server, μπορούμε να έχουμε:

Home Server
│
├── Docker
│   │
│   ├── Pi-hole
│   ├── Jellyfin
│   ├── Home Assistant
│   ├── Nginx Proxy Manager
│   └── άλλες υπηρεσίες
│
└── Storage

Έτσι το Pi-hole αποτελεί πλέον βασικό κομμάτι της υποδομής του δικτύου μας.

Το μόνο που πρέπει να προσέξουμε είναι να μην έχουμε κάποια άλλη υπηρεσία που καταλαμβάνει τις απαραίτητες θύρες του Pi-hole, κυρίως τη 53 για DNS.


Συχνά προβλήματα και λύσεις

Δεν έχω Internet μετά την ενεργοποίηση του Pi-hole

Ελέγχουμε πρώτα:

Pi-hole → Upstream DNS

και στη συνέχεια:

Client → DNS Server

Βεβαιωνόμαστε ότι οι συσκευές μπορούν να επικοινωνήσουν με την IP του Pi-hole.


Το Dashboard δεν δείχνει συσκευές

Πιθανότατα το router λειτουργεί ως ενδιάμεσο DNS proxy.

Ιδανικά οι clients πρέπει να λαμβάνουν απευθείας το Pi-hole ως DNS server μέσω DHCP. Η επίσημη τεκμηρίωση επισημαίνει ότι όταν τα queries περνούν πρώτα από το router, μπορεί να εμφανίζονται στο Pi-hole σαν να προέρχονται από το router αντί για τις πραγματικές συσκευές.


Μια εφαρμογή σταμάτησε να λειτουργεί

Ανοίγουμε το:

Query Log

και ψάχνουμε ποιο domain μπλοκαρίστηκε.

Αν είναι απαραίτητο, το προσθέτουμε στο Allowlist.


Το Pi-hole λειτουργεί αλλά κάποιες συσκευές συνεχίζουν να βλέπουν διαφημίσεις

Ελέγχουμε:

  1. Ποιο DNS χρησιμοποιεί η συσκευή.
  2. Αν χρησιμοποιεί IPv6.
  3. Αν χρησιμοποιεί Private DNS.
  4. Αν χρησιμοποιεί DoH/DoT.
  5. Αν χρησιμοποιεί hardcoded DNS.
  6. Αν υπάρχει DNS cache.

Αξίζει το Pi-hole;

Αν έχετε περισσότερες από λίγες συσκευές στο σπίτι, η απάντηση είναι ναι.

Με ένα μικρό server μπορούμε να αποκτήσουμε:

  • Network-wide ad blocking
  • Tracker blocking
  • DNS filtering
  • Centralized DNS management
  • Query logging
  • Statistics
  • Local DNS
  • Client groups
  • Custom allow/deny rules
  • Optional DHCP
  • API
  • Πολύ χαμηλή κατανάλωση πόρων

Και το σημαντικότερο:

Το εγκαθιστούμε μία φορά και προστατεύουμε ολόκληρο το δίκτυο.


Pi-hole: Το πρώτο βήμα για ένα πραγματικό Homelab DNS

Το Pi-hole είναι κάτι περισσότερο από ένα απλό ad blocker.

Είναι ένας κεντρικός DNS server και μηχανισμός filtering για ολόκληρο το δίκτυό μας.

Μπορεί να ξεκινήσει πολύ απλά:

Mini PC
+
Docker
+
Pi-hole

και σταδιακά να εξελιχθεί σε μια πολύ πιο προηγμένη υποδομή:

Pi-hole
   +
Unbound
   +
DNSSEC
   +
VPN
   +
Firewall
   +
Multiple DNS servers

Αυτό είναι και το πραγματικό ενδιαφέρον του Self-Hosted DNS.

Ξεκινάμε με ένα απλό ad blocker και καταλήγουμε να έχουμε πλήρη έλεγχο της DNS υποδομής του σπιτιού μας.


Τι ακολουθεί;

Στο επόμενο άρθρο της σειράς θα γνωρίσουμε το AdGuard Home.

Θα κάνουμε αντίστοιχη εγκατάσταση μέσω Docker και θα δούμε αναλυτικά:

  • εγκατάσταση
  • DNS configuration
  • Filters
  • Blocklists
  • Clients
  • Parental Controls
  • Safe Search
  • Service Blocking
  • DNS-over-HTTPS
  • DNS-over-TLS
  • DNS-over-QUIC
  • Local DNS
  • Statistics

Και στο τέλος θα κάνουμε την πραγματική σύγκριση:

Pi-hole vs AdGuard Home

ώστε να δούμε ποια λύση αξίζει περισσότερο για το δικό μας Home Server ή Homelab.


Συμπέρασμα

Το Pi-hole είναι ένας από τους ευκολότερους τρόπους για να κάνουμε το πρώτο μας βήμα στον κόσμο του Self-Hosted DNS.

Δεν απαιτεί ακριβό hardware, μπορεί να λειτουργήσει σε Raspberry Pi, Mini PC, NAS, VM ή Docker και μπορεί να προστατεύσει ολόκληρο το δίκτυό μας χωρίς να εγκαταστήσουμε software σε κάθε συσκευή.

Το σημαντικότερο όμως είναι η φιλοσοφία του:

Ένα Pi-hole για ολόκληρο το δίκτυο, αντί για έναν ad blocker σε κάθε συσκευή.

Και από τη στιγμή που το Pi-hole λειτουργεί σωστά, μπορούμε να αρχίσουμε να προσθέτουμε πιο προηγμένες λειτουργίες, όπως διαφορετικά filtering profiles, Local DNS, Unbound, DNSSEC και VPN.

Στο επόμενο άρθρο θα δούμε την άλλη μεγάλη λύση του Self-Hosted DNS:

AdGuard Home.

Από Jimcrow

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *