Mastodon
Connect with us

Open Source

Αντικατέστησα τα DNS της Google με ένα Raspberry Pi

Η αντικατάσταση των δημόσιων DNS με ένα προσωπικό resolver σε Raspberry Pi εξασφαλίζει ιδιωτικότητα και δικτυακή προστασία για όλες τις συσκευές του σπιτιού, μπλοκάροντας ads και κακόβουλα domains σε επίπεδο DNS.

Published

on

Αντικατέστησα τα DNS της Google με ένα Raspberry Pi

Μπορεί να μην το σκέφτεσαι κάθε φορά που ανοίγεις το browser, αλλά κάθε σύνδεση σε ιστοσελίδα ξεκινά με ένα DNS lookup — μια μετάφραση ονόματος σε διεύθυνση IP. Αν χρησιμοποιείς τα δημόσια DNS των παρόχων ή της Google και της Cloudflare, εκείνοι έχουν πλήρη εικόνα των domain που επισκέπτεσαι. Η λύση που υιοθέτησα στο σπίτι μου ήταν οικονομική και σχετικά απλή: ένα μικρό Raspberry Pi και δύο ανοιχτού κώδικα εργαλεία, Pi-hole και Unbound.

Το αποτέλεσμα δεν ήταν μόνο να μειωθεί η «διαρροή» των ιστορικών μου σε τρίτους, αλλά και να αποκτήσω κεντρικό έλεγχο για το μπλοκάρισμα διαφημίσεων, trackers και επικίνδυνων domains σε όλα τα συσκευές του σπιτιού — χωρίς να εγκαθιστώ τίποτα ξεχωριστά σε κάθε κινητό, smart TV ή IoT gadget.

Γιατί τα DNS έχουν σημασία

Το DNS (Domain Name System) είναι το «τηλεφωνικό κατάλογο» του internet: όταν γράφεις ένα όνομα όπως example.com, ένας DNS server μεταφράζει αυτό το όνομα σε μια αριθμητική διεύθυνση IP. Αυτό που συχνά δεν συνειδητοποιούμε είναι πως κάθε αίτημα DNS αφήνει ψηφιακά αποτυπώματα: ποια domains ζήτησες, πότε και από ποια συσκευή.

Αν τα DNS requests δεν είναι κρυπτογραφημένα, αυτές οι πληροφορίες είναι ορατές στον ISP σου, στον διαχειριστή δικτύου του καφέ που επισκέπτεσαι ή — αν χρησιμοποιείς δημόσιους resolvers — στην υπηρεσία που εξυπηρετεί τα αιτήματά σου. Οι δημόσιοι resolvers όπως το 8.8.8.8 της Google ή το 1.1.1.1 της Cloudflare προσφέρουν ταχύτητα και αξιοπιστία, αλλά συγκεντρώνουν και κεντρικά δεδομένα χρήσης.

Τι κάνουν ο Unbound και το Pi-hole

Ο Unbound είναι ένας recursive resolver: αντί να εξαρτάσαι από κάποιο δημόσιο resolver, ο Unbound απευθύνεται απευθείας στη «δομή» του DNS — από root servers έως τους authoritative nameservers — και φέρνει την τελική απάντηση. Αποθηκεύει αυτή την απάντηση τοπικά (cache), επομένως μετά το πρώτο αίτημα οι επόμενες επισκέψεις σε ίδιο domain γίνονται σχεδόν στιγμιαία.

Το Pi-hole λειτουργεί σαν ένα κεντρικό DNS sinkhole για το δίκτυό σου. Όταν μια συσκευή ζητά ένα domain που ανήκει σε διαφημιστικό δίκτυο, σε trackers ή σε γνωστά κακόβουλα domains, το Pi-hole επιστρέφει μια άκυρη διεύθυνση (π.χ. 0.0.0.0) και εμποδίζει την σύνδεση προτού καν ξεκινήσει. Ο συνδυασμός Pi-hole + Unbound σημαίνει δύο στρώματα: φίλτρο πρώτα, επίλυση μετά — χωρίς τρίτους.

Πλεονεκτήματα: ιδιωτικότητα, ασφάλεια και έλεγχος

Πρώτο και σημαντικότερο, εξασφαλίζεις μεγαλύτερη ιδιωτικότητα. Οι DNS αιτήσεις δεν περνούν πλέον από δημόσιους resolvers που μπορούν να καταγράψουν και να αναλύσουν τα μοτίβα περιήγησής σου. Εφόσον ο Unbound είναι ο resolver σου και τρέχει στο σπίτι, τα δεδομένα μένουν εντός του δικτύου σου — τουλάχιστον σε επίπεδο DNS.

Δεύτερον, η προσθήκη του DNSSEC στον Unbound προσφέρει προστασία κατά της DNS cache poisoning: οι απαντήσεις ελέγχονται κρυπτογραφικά ώστε να επιβεβαιώνεται ότι δεν έχουν αλλοιωθεί. Τρίτο, η δυνατότητα να μπλοκάρεις domains σε επίπεδο δικτύου κάνει την προστασία συσκευών IoT και smart TVs απλούστερη — συχνά αυτές οι συσκευές δεν φιλοξενούν antivirus ή browser extensions.

Πώς να στηθεί: από το μηδέν έως λειτουργικό σύστημα

Για το project χρειάζεσαι ένα Raspberry Pi Zero 2 W ή άλλο μοντέλο Raspberry Pi, μια κάρτα microSD, τροφοδοσία και λίγα λεπτά προσοχής. Φλας ένα ελαφρύ OS (π.χ. Raspberry Pi OS Lite 64-bit) στη microSD και ρύθμισε το Pi ώστε να έχει στατική IP στο τοπικό σου δίκτυο — αν αλλάζει η IP, το όλο στήσιμο «σπάει».

Εγκαθιστάς το Pi-hole μέσω του επίσημου installer (το εργαλείο είναι σχεδιασμένο για να οδηγεί την εγκατάσταση) και το ρυθμίζεις να λειτουργεί ως το κύριο DNS για το δίκτυο. Έπειτα εγκαθιστάς τον Unbound στον ίδιο Pi και τον διαμορφώνεις να ακούει στο loopback (π.χ. 127.0.0.1#5335) και να έχει ενεργοποιημένο το DNSSEC. Στην κονσόλα του Pi-hole ορίζεις ως upstream DNS την τοπική διεύθυνση του Unbound και απενεργοποιείς τους εξωτερικούς resolvers όπως το 8.8.8.8.

Μειονεκτήματα και πρακτικά προβλήματα

Η σημαντικότερη πρακτική παρατήρηση είναι η καθυστέρηση στο πρώτο lookup: όταν ο Unbound πρέπει να ρωτήσει τη ρίζα και τους authoritative servers για πρώτη φορά, αυτό συνήθως είναι αργότερο από ένα query σε ένα μεγάλο, καλά-cached δημόσιο resolver. Όμως αυτή η καθυστέρηση εμφανίζεται μόνο την πρώτη φορά για κάθε domain· οι επόμενες επισκέψεις είναι πολύ γρήγορες χάρη στην cache.

Ένα άλλο θέμα είναι το single point of failure: αν το Raspberry Pi χαλάσει ή αποσυνδεθεί, όλο το σπίτι μπορεί να μείνει χωρίς DNS μέχρι να φτιαχτεί. Γι’ αυτό αξίζει να έχεις έστω έναν εναλλακτικό resolver στο router ή να κρατάς ένα backup Pi έτοιμο. Τέλος, η ευκολία επιρροής εξαρτάται από την ικανότητά σου να ενημερώνεις blocklists και να διαχειρίζεσαι το σέρβερ — για κάποιον που δεν θέλει τεχνική ενασχόληση μπορεί να φαίνεται απαιτητικό.

Εναλλακτικές και βελτιώσεις για πιο προχωρημένους

Αν θέλεις να κρατήσεις μέρος της άνεσης των δημόσιων υπηρεσιών αλλά να βελτιώσεις την ιδιωτικότητα, υπάρχουν επιλογές: να χρησιμοποιήσεις DNS-over-HTTPS (DoH) ή DNS-over-TLS (DoT) προς αξιόπιστους providers, να τρέχεις Unbound αλλά να το προσαρμόσεις να χρησιμοποιεί upstream DoH για ορισμένα domains, ή να συνδυάσεις το Pi-hole με υπηρεσίες που προσφέρουν εφεδρεία και auditing.

Για πολυπλοκότερες εγκαταστάσεις σε homelab, μπορείς να έχεις πολλά Pi σε cluster, να χρησιμοποιήσεις γραφικά εργαλεία για κεντρική διαχείριση blocklists, ή να ενσωματώσεις το setup με ένα VPN server ώστε όλα τα αιτήματα εκτός σπιτιού να περάσουν μέσω του δικού σου resolver. Αυτές οι επιλογές αυξάνουν την αξιοπιστία και την ασφάλεια, αλλά επίσης ανεβάζουν την πολυπλοκότητα.

Τι σημαίνει για τους χρήστες

Στην πράξη, το όφελος ενός μικρού, οικονομικού Raspberry Pi που τρέχει Pi-hole και Unbound δεν είναι μόνο η ιδιωτικότητα. Είναι ο έλεγχος της δικτυακής εμπειρίας: λιγότερες ανεπιθύμητες διαφημίσεις, μικρότερη πιθανότητα να κολλήσει μια έξυπνη συσκευή από κακόβουλο domain και γρηγορότερες επαναλαμβανόμενες επισκέψεις σε sites χάρη στην τοπική cache.

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

Τέλος, η λύση αυτή υπενθυμίζει ένα σημαντικό σημείο: δεν χρειάζεται πάντα μεγάλης κλίμακας υπηρεσία για να έχεις ποιοτική λειτουργικότητα. Μερικές φορές ένα μικρό, τοπικό project προσφέρει καλύτερη ιδιωτικότητα, διαφάνεια και έλεγχο — και αυτό έχει πρακτική αξία στην καθημερινή χρήση του internet.

Advertisement