Στο προηγούμενο άρθρο μας «Τι είναι το DNS, πώς να αλλάξετε τις ρυθμίσεις στα Windows και οι καλύτερες εναλλακτικές», αναλύσαμε τι είναι το DNS, πώς λειτουργεί και πώς μπορούμε να αλλάξουμε τον DNS server στα Windows.

Είδαμε επίσης μερικές από τις δημοφιλέστερες δημόσιες υπηρεσίες DNS, όπως το Google DNS, το OpenDNS και το Cloudflare DNS, οι οποίες μπορούν να προσφέρουν καλύτερες επιδόσεις, μεγαλύτερη ασφάλεια ή περισσότερες επιλογές ιδιωτικότητας σε σχέση με το DNS του παρόχου Internet.

Υπάρχει όμως ένα ακόμη βήμα.

Τι θα γινόταν αν αντί να χρησιμοποιούμε έναν DNS server κάποιου τρίτου, μπορούσαμε να έχουμε τον δικό μας DNS server μέσα στο σπίτι ή στο δίκτυό μας;

Και ακόμη καλύτερα:

Τι θα γινόταν αν αυτός ο DNS μπορούσε να μπλοκάρει αυτόματα διαφημίσεις, trackers και ανεπιθύμητα domains για όλες τις συσκευές του δικτύου μας;

Αυτό ακριβώς είναι το Self-Hosted DNS.


Τι είναι το Self-Hosted DNS;

Με τον όρο Self-Hosted DNS εννοούμε έναν DNS server που εγκαθιστούμε και διαχειριζόμαστε εμείς οι ίδιοι, αντί να βασιζόμαστε αποκλειστικά στον DNS server του Internet Provider ή σε μια δημόσια υπηρεσία όπως το Google DNS ή το Cloudflare.

Ο DNS server μπορεί να εγκατασταθεί σε:

  • Raspberry Pi
  • Mini PC
  • NAS
  • Home Server
  • Linux Server
  • Virtual Machine
  • Docker container
  • ακόμα και σε έναν παλιό υπολογιστή

Η βασική ιδέα είναι απλή.

Αντί όλες οι συσκευές του σπιτιού να στέλνουν τα DNS requests απευθείας στον DNS server του παρόχου, τα requests περνούν πρώτα από τον δικό μας DNS server.

Έτσι αποκτούμε έναν κεντρικό έλεγχο πάνω στο DNS traffic του δικτύου μας.


Πώς λειτουργεί στην πράξη;

Ας υποθέσουμε ότι έχουμε στο σπίτι:

  • 2 smartphones
  • 2 laptops
  • Smart TV
  • Android TV Box
  • PlayStation
  • Smart Home συσκευές
  • κάμερες
  • IoT συσκευές

Χωρίς Self-Hosted DNS, κάθε συσκευή χρησιμοποιεί έναν DNS server που έχει οριστεί από το router, τον πάροχο ή τη συσκευή.

Με ένα Self-Hosted DNS server, μπορούμε να έχουμε μια διαφορετική αρχιτεκτονική:

Συσκευές → Router → Pi-hole / AdGuard Home → Internet DNS

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

                 INTERNET
                     │
                     ▼
              Cloudflare / Google
                     │
                     ▼
              Pi-hole / AdGuard
                     │
              ┌──────┴──────┐
              │             │
            Router        LAN
                            │
              ┌─────────────┼─────────────┐
              │             │             │
           Laptop        Smartphone      Smart TV

Το σημαντικό είναι ότι το Pi-hole ή το AdGuard Home λειτουργεί ως ενδιάμεσο επίπεδο ελέγχου.


Το μεγάλο πλεονέκτημα: Network-Wide Ad Blocking

Εδώ βρίσκεται ίσως το σημαντικότερο πλεονέκτημα ενός Self-Hosted DNS.

Με ένα browser extension όπως το uBlock Origin μπορούμε να μπλοκάρουμε διαφημίσεις στον browser.

Όμως τι γίνεται με:

  • Smart TV;
  • Android TV Box;
  • κινητό;
  • tablet;
  • εφαρμογές;
  • IoT συσκευές;
  • συσκευές στις οποίες δεν μπορούμε να εγκαταστήσουμε ad blocker;

Εδώ έρχεται το DNS-level blocking.

Το Pi-hole ή το AdGuard Home μπορεί να αναγνωρίσει ότι ένα domain ανήκει σε διαφημιστικό δίκτυο ή tracker και να εμποδίσει τη DNS επίλυση του domain.

Έτσι η συσκευή δεν μπορεί καν να συνδεθεί στον συγκεκριμένο server.

Με απλά λόγια:

Δεν μπλοκάρουμε τη διαφήμιση αφού φορτώσει.

Προσπαθούμε να εμποδίσουμε εξαρχής τη σύνδεση με το domain που τη φιλοξενεί.


Τι άλλο μπορούμε να μπλοκάρουμε;

Το Self-Hosted DNS δεν περιορίζεται μόνο στις διαφημίσεις.

Μπορούμε να χρησιμοποιήσουμε διαφορετικές λίστες αποκλεισμού για:

Διαφημίσεις

Μπλοκάρισμα γνωστών advertising domains.

Trackers

Περιορισμός domains που χρησιμοποιούνται για tracking και analytics.

Malware

Μπλοκάρισμα γνωστών κακόβουλων domains.

Phishing

Μπορούμε να χρησιμοποιήσουμε κατάλληλες λίστες για γνωστές phishing απειλές.

Telemetry

Περιορισμός ορισμένων domains που χρησιμοποιούνται για telemetry από εφαρμογές και συσκευές.

Adult Content

Με κατάλληλα φίλτρα μπορούμε να περιορίσουμε την πρόσβαση σε κατηγορίες περιεχομένου.

Social Media και υπηρεσίες

Μπορούμε, ανάλογα με τη λύση και τον τρόπο παραμετροποίησης, να περιορίσουμε συγκεκριμένες υπηρεσίες ή κατηγορίες websites.


Pi-hole ή AdGuard Home;

Στον κόσμο του Self-Hosted DNS υπάρχουν δύο ονόματα που ξεχωρίζουν:

Pi-hole

Το Pi-hole είναι ίσως η πιο γνωστή λύση για network-wide DNS ad blocking.

Ξεκίνησε με ιδιαίτερη έμφαση στο Raspberry Pi, αλλά πλέον μπορεί να εγκατασταθεί σε πολλές διαφορετικές πλατφόρμες και περιβάλλοντα, συμπεριλαμβανομένου του Docker.

Το Pi-hole χαρακτηρίζεται από:

  • πολύ μεγάλη κοινότητα
  • τεράστια ποικιλία blocklists
  • αναλυτικά στατιστικά
  • DNS management
  • local DNS records
  • group management
  • υψηλή παραμετροποίηση
  • πολύ χαμηλές απαιτήσεις σε πόρους

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


AdGuard Home

Το AdGuard Home ακολουθεί παρόμοια φιλοσοφία, αλλά προσπαθεί να προσφέρει μια πιο ολοκληρωμένη εμπειρία μέσα από ένα ενιαίο web interface.

Μπορεί να λειτουργήσει ως DNS server και ταυτόχρονα ως DNS-level ad blocker και tracker blocker.

Μεταξύ άλλων προσφέρει:

  • DNS filtering
  • ad blocking
  • tracker blocking
  • custom filters
  • client management
  • parental controls
  • Safe Browsing
  • Safe Search
  • service blocking
  • DNS-over-HTTPS
  • DNS-over-TLS
  • DNS-over-QUIC
  • αναλυτικά στατιστικά

Ένα από τα δυνατά σημεία του AdGuard Home είναι ότι αρκετές λειτουργίες που απαιτούν επιπλέον ρύθμιση σε άλλες λύσεις είναι διαθέσιμες απευθείας μέσα από το web interface.


Pi-hole vs AdGuard Home

ΛειτουργίαPi-holeAdGuard Home
DNS Server✅✅
Network-wide Ad Blocking✅✅
Tracker Blocking✅✅
Custom Blocklists✅✅
Local DNS✅✅
Web Interface✅✅
Αναλυτικά Statistics✅✅
Client Management✅✅
Group Management✅✅
Parental ControlsΜέσω παραμετροποίησης✅ Ενσωματωμένο
Safe SearchΜέσω παραμετροποίησης✅
DoH / DoTΜε επιπλέον setup ανάλογα με την αρχιτεκτονική✅ Ενσωματωμένο
Docker✅✅
Raspberry Pi✅✅
Πολύ χαμηλή κατανάλωση πόρων✅✅

Δεν υπάρχει ένας απόλυτος νικητής.

Το Pi-hole είναι εξαιρετική επιλογή για κάποιον που θέλει ένα ώριμο, ελαφρύ και ιδιαίτερα παραμετροποιήσιμο DNS filtering platform.

Το AdGuard Home είναι ιδιαίτερα ενδιαφέρον για κάποιον που θέλει περισσότερες λειτουργίες out-of-the-box και ένα πιο ολοκληρωμένο περιβάλλον διαχείρισης.


Πού μπορεί να εγκατασταθεί;

Το μεγάλο πλεονέκτημα του Self-Hosted DNS είναι ότι δεν απαιτεί ακριβό hardware.

Ένα μικρό Raspberry Pi ή Mini PC μπορεί να είναι υπεραρκετό.

Ακόμη και ένας υπάρχων home server που ήδη λειτουργεί στο σπίτι μπορεί να φιλοξενήσει το DNS service.

Docker

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

Μπορούμε να έχουμε:

Home Server
│
├── Docker
│   ├── Pi-hole
│   ├── AdGuard Home
│   ├── Jellyfin
│   ├── ...
│
└── Storage

Έτσι το DNS filtering γίνεται ακόμη ένα service μέσα στο homelab μας.


Και τι γίνεται αν πέσει ο DNS server;

Αυτό είναι ένα σημαντικό σημείο που πρέπει να γνωρίζουμε.

Αν το router έχει ρυθμιστεί ώστε όλες οι συσκευές να χρησιμοποιούν μόνο το Self-Hosted DNS και ο server σταματήσει να λειτουργεί, οι συσκευές μπορεί να συνεχίσουν να έχουν σύνδεση στο δίκτυο αλλά να μην μπορούν να κάνουν DNS resolution.

Με απλά λόγια:

Το Internet μπορεί να λειτουργεί, αλλά οι ιστοσελίδες να μην ανοίγουν.

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

  • δεύτερο DNS server
  • δεύτερο Pi-hole/AdGuard Home
  • backup DNS
  • ξεχωριστό DNS resolver

Σε ένα απλό οικιακό δίκτυο, όμως, ένα μικρό και αξιόπιστο Mini PC ή Raspberry Pi μπορεί να λειτουργεί χωρίς ιδιαίτερα προβλήματα.


Και το απόρρητο;

Εδώ χρειάζεται μια σημαντική διευκρίνιση.

Το Self-Hosted DNS δεν σημαίνει αυτόματα ότι κανένας δεν μπορεί να γνωρίζει τα DNS queries σας.

Το Pi-hole ή το AdGuard Home μπορεί να διαχειρίζεται τα DNS requests τοπικά, αλλά κάποια στιγμή τα domains πρέπει να επιλυθούν από έναν upstream DNS resolver.

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

Συσκευή
   ↓
Pi-hole / AdGuard Home
   ↓
Cloudflare / Quad9 / Google / άλλος DNS
   ↓
Internet

Επομένως μπορούμε να επιλέξουμε εμείς τον upstream DNS provider.

Ακόμη καλύτερα, μπορούμε να χρησιμοποιήσουμε κρυπτογραφημένα πρωτόκολλα DNS, όπως:

  • DNS-over-HTTPS (DoH)
  • DNS-over-TLS (DoT)
  • DNS-over-QUIC (DoQ)

ή να χρησιμοποιήσουμε έναν δικό μας DNS resolver, όπως το Unbound, ώστε να μειώσουμε ακόμη περισσότερο την εξάρτηση από τρίτους DNS providers.

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


Το Self-Hosted DNS δεν είναι μόνο για διαφημίσεις

Ένα από τα πιο ενδιαφέροντα χαρακτηριστικά που συχνά περνά απαρατήρητο είναι ότι ένα DNS server μπορεί να γίνει κεντρικό εργαλείο διαχείρισης του οικιακού δικτύου.

Για παράδειγμα, μπορούμε να δημιουργήσουμε local DNS records:

nas.home
jellyfin.home
router.home
server.home
pihole.home

και να τα αντιστοιχίσουμε στις αντίστοιχες IP διευθύνσεις.

Έτσι αντί να θυμόμαστε:

192.168.1.20

μπορούμε να χρησιμοποιούμε:

jellyfin.home

Αυτό είναι ιδιαίτερα χρήσιμο σε ένα homelab, όπου μπορεί να υπάρχουν αρκετές υπηρεσίες και συσκευές.


Αξίζει πραγματικά;

Αν έχουμε ένα απλό δίκτυο με έναν υπολογιστή και ένα κινητό, πιθανότατα δεν υπάρχει λόγος να δημιουργήσουμε ολόκληρη υποδομή Self-Hosted DNS.

Αν όμως έχουμε:

  • Smart TV
  • Android TV Box
  • NAS
  • Home Server
  • Docker
  • IoT συσκευές
  • πολλές smart συσκευές
  • παιδιά στο σπίτι
  • πολλές συσκευές στο Wi-Fi

τότε το Self-Hosted DNS αρχίζει να αποκτά πραγματικό νόημα.

Με μία εγκατάσταση, μπορούμε να εφαρμόσουμε DNS filtering σε ολόκληρο το δίκτυο.

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

Δεν χρειάζεται να εγκαταστήσουμε ξεχωριστό ad blocker σε κάθε συσκευή.


Τι θα δούμε στα επόμενα άρθρα;

Αυτό ήταν μόνο η εισαγωγή στον κόσμο του Self-Hosted DNS.

Στα επόμενα δύο άρθρα του TechHacks.gr θα περάσουμε από τη θεωρία στην πράξη.

Μέρος 2 — Pi-hole

Θα εγκαταστήσουμε το Pi-hole, με αναλυτικό οδηγό:

  • εγκατάσταση μέσω Docker
  • αρχική παραμετροποίηση
  • DNS configuration
  • Blocklists
  • Gravity
  • Whitelists / Blacklists
  • Local DNS
  • Groups και Clients
  • Statistics
  • ρύθμιση στο router
  • δοκιμές από Windows, Android και Smart TV
  • χρήσιμες blocklists
  • συμβουλές για καλύτερο performance

Μέρος 3 — AdGuard Home

Στη συνέχεια θα εγκαταστήσουμε το AdGuard Home και θα δούμε:

  • εγκατάσταση μέσω Docker
  • αρχική ρύθμιση
  • DNS servers
  • Filters
  • Blocklists
  • Client management
  • Parental Controls
  • Safe Search
  • Service Blocking
  • DoH / DoT / DoQ
  • Statistics
  • Local DNS
  • ρύθμιση στο router
  • και φυσικά σύγκριση με το Pi-hole.

Συμπέρασμα

Το DNS ξεκίνησε ως ένας απλός μηχανισμός που μετατρέπει τα domain names σε IP addresses.

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

Οι δημόσιοι DNS providers όπως το Cloudflare, Google DNS και OpenDNS είναι εξαιρετικές λύσεις και αποτελούν ένα σημαντικό βήμα σε σχέση με το DNS του ISP.

Το Self-Hosted DNS, όμως, μας δίνει κάτι περισσότερο:

έλεγχο.

Έλεγχο στο ποια domains επιτρέπονται, ποια μπλοκάρονται, ποιες συσκευές κάνουν τα περισσότερα DNS requests, ποια services χρησιμοποιούνται στο δίκτυό μας και πώς πραγματοποιείται η DNS επίλυση.

Και με λύσεις όπως το Pi-hole και το AdGuard Home, μπορούμε να μετατρέψουμε ένα απλό Mini PC, Raspberry Pi ή Home Server σε ένα πανίσχυρο DNS filtering system για ολόκληρο το σπίτι.

Στο επόμενο άρθρο θα αφήσουμε τη θεωρία και θα περάσουμε στην πράξη, ξεκινώντας με το Pi-hole.


Από Jimcrow

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

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