Οδηγός : LibreDNS με DnsOverTLS χωρίς διαφημίσεις με το systemd-resolved

Μια απλή λύση για όσους θέλουν να κόψουν τις διαφημίσεις σε επίπεδο DNS και δεν θέλουν να στήσουν το δικό τους pihole σε κάποιο rapberry :raspberry: .

LibreDNS με DnsOverTLS χωρίς διαφημίσεις με το systemd-resolved

Παρακάτω είναι οι προσωπικές μου ρυθμίσεις[1] για χρήση του LibreDNS χρησιμοποιώντας το systemd-resolved για επίλυση DNS.
[1] Του Ευαγγέλου Μπαλάσκα

Αναλυτικές οδηγίες

Ανοίγουμε το αρχείο /etc/systemd/resolved.conf και προσθέτουμε τα παρακάτω. Δεν ξεχνάμε να κρατήσουμνε πρώτα ένα αντίγραφό του αρχικού αρχείου.

[Resolve]
DNS=116.202.176.26:854#dot.libredns.gr
DNSOverTLS=yes
FallbackDNS=88.198.92.222
Cache=yes

Εφαρμόζουμε τις αλλαγές

sudo systemctl restart systemd-resolved.service

Επαλήθευση

resolvectl query analytics.google.com

Θα πρέπει να δούμε κάτι σαν το παρακάτω:

analytics.google.com: 0.0.0.0                  -- link: eth0

-- Information acquired via protocol DNS in 144.7ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: yes
-- Data from: network

Εξήγηση των παραπάνω

DNS setting

DNS=116.202.176.26:854#dot.libredns.gr

Βάζουμε την IP του LibreDNS. Με την χρήση : σαν διαχωριστικό επιλέγουμε την πόρτα που αφαιρεί τα διαφημιστικά Domain. Επίσης βάζουμε το όνομα dot.libredns.gr που αντιστοιχεί σε αυτή την διεύθυνση. Αυτό είναι απαραίτητο για να δουλέψει σωστά η επαλήθευση μέsω του TLS.

DNSOverTLS=yes

Τι στον Μπογδάνο είναι το DNS over TLS ;

Τα ερωτήματα του DNS μεταφέρονται μέσα από το internet σαν απλό κείμενο. Το DNS over HTTPS καθώς και το DNS over TLS μεταφέρουν την πληροφορία κρυπτογραφημένη. Για τα πλεονεκτήματα αλλά και για τα μειονεκτήματα αυτής της προσέγγισης διαβάστε περισσότερα εδώ (κείμενο στα αγγλικά).

FallBack

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

FallbackDNS=88.198.92.222

Cache

Για ποιο γρήγορη επίλυση και πλοήγηση κρατάμε ένα αντίγραφο, ώστε να μην κάνουμε τις ίδιες ερωτήσεις ξανά και ξανά.

Cache=yes

Σαν ένα παράδειγμα

resolvectl query analytics.google.com
analytics.google.com: 0.0.0.0                  -- link: eth0

-- Information acquired via protocol DNS in 144.7ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: yes
-- Data from: network

και αμέσως μετά:

resolvectl query analytics.google.com
analytics.google.com: 0.0.0.0                  -- link: eth0

-- Information acquired via protocol DNS in 2.3ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: yes
-- Data from: cache

Αντί για 144.7ms μόλις 2.3ms. Όμορφα :grinning:

Πηγή

Ελεύθερη μετάφραση απο το blog του Ευαγγέλου Μπαλάσκα ( License GNU FDL 1.3 - CC BY-SA 3.0). Τυχόν λάθη βαραίνουν τον μεταφραστή.
https://balaskas.gr/blog/2021/07/16/libredns-dnsovertls-no-ads-with-systemd-resolved/

Διαβάστε

6 «Μου αρέσει»

Πολύ ενδιαφέρον, τον δοκίμασα τον οδηγό, αλλά για κάποιον λόγω δεν δουλεύει η κρυπτογράφηση

analytics.google.com: 172.217.16.142           -- link: enp4s0
                      (www3.l.google.com)

-- Information acquired via protocol DNS in 1.5ms.
-- Data is authenticated: no

Τώρα λογικά λειτουργεί η εφεδρεία

[Resolve]
#DNS=116.202.176.26:854#dot.libredns.gr
#FallbackDNS=88.198.92.222
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=yes
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes

Οι ρυθμίσεις που εφάρμοσα σύμφωνα με τον οδηγό

Αν μια γραμμή ξεκινάει με # είναι σχόλιο και δεν λαμβάνετε υπόψιν :nerd_face:

Δεν είναι ακριβώς αντικειμενική αυτή η σύγκριση γιατί τα 2.3ms επιτεύχθηκαν με τη χρήση cache ενώ πριν ήταν 144.7ms από το network.

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

3 «Μου αρέσει»

Δεκτό. Απλά επειδή ο οδηγός είναι για το libreDNS φαίνεται ότι η αλλαγή του dns έκανε τη διαφορά στην ταχύτητα και όχι η επιλογή της cache.