# DNS Il Domain Name System (DNS) è la *guida telefonica* di Internet. Ogni dispositivo collegato a Internet è dotato di un indirizzo IP univoco, che altre macchine usano per trovarlo. I server DNS eliminano la necessità per gli esseri umani di memorizzare gli indirizzi IP, come 192.168.1.1 (in IPv4), o i più recenti e complessi indirizzi IP alfanumerici, come `2400:cb00:2048:1::c629:d7a2` (in IPv6). ## Modificare i DNS su Debian DNS alternativi possono essere impostati nel file `/etc/resolv.conf`, che però viene continuamente sovrascritto dal sistema. Per ovviare a questo comportamento e rendere un file non modificale, sovrascrivibile o cancellabile da alcuno, incluso `root`, è necessario modificare gli attributi di quest'ultimo col comando: ```bash sudo chattr +i /path/to/file ``` Per rendere nuovamente il file modificabile: ```bash sudo chattr -i /path/to/file ``` ### resolv.conf Semplicemente, basta aggiungere l'indirizzo IP (o gli indirizzi) del server DNS: ```bash > cat /etc/resolv.conf # Generated by NetworkManager # nameserver 192.168.145.200 nameserver 5.2.75.75 nameserver 1.1.1.1 ``` Fatto questo, bisogna rendere immodificabile il file e riavviare NetworkManager: ```bash sudo chattrr +i /etc/resolv.conf sudo systemctl restart NetworkManager.service ``` ## resolvconf Installare il seguente pacchetto e abilitarlo: ```bash apt install resolvconf systemctl enable --now resolvconf.service systemctl status resolvconf.service ``` Modificare il file di configurazione, aggiungendo i dns: ```bash nano /etc/resolvconf/resolv.conf.d/head nameserver 5.2.75.75 nameserver 1.1.1.1 ``` Infine, aggiornare il file `resolv.conf` coi comandi: ```bash resolvconf --enable-updates resolvconf -u ``` ## Impostare NextDNS da browser È possibile anche modificare i DNS direttamente dal browser, utilizzando **DNS over HTTPS** (**DoH**): l'obiettivo principale del protocollo è di aumentare la privacy dell'utente e la sicurezza prevenendo intercettazioni e manipolazioni dei dati del DNS attraverso attacchi *man in the middle*. NextDNS permette di bloccare le pubblicità e i traccianti. È completamente personalizzabile, aggiungendo liste di blocco di host e molto altro. Maggiori informazioni qui: [NextDNS](https://nextdns.io/) ### Firefox 1. Opzioni. 2. Impostazioni di rete > Impostazioni. 3. Selezionare `Attiva DNS over HTTPS`. 4. Selezionare Personalizzato, inserire `https://dns.nextdns.io/ID_personale/Firefox%20identificazione` e cliccare su OK. 5. In `about:config` impostare `network.trr.mode` a 3. ### Brave 1. Impostazioni. 2. Nella sezione `Privacy e sicurezza` > Sicurezza. 3. Nella sezione Avanzate, abilitare `Usa DNS sicuri`. 4. Selezionare Personalizzato, quindi inserire `https://dns.nextdns.io/ID_personale/Brave%20identificazione`. Per esempio: `https://dns.nextdns.io/12ff34/Firefox%20di%20Mario` ## Collegamenti - [https://www.cloudflare.com/it-it/learning/dns/what-is-dns/](https://www.cloudflare.com/it-it/learning/dns/what-is-dns/) - [https://it.wikipedia.org/wiki/Domain_Name_System](https://it.wikipedia.org/wiki/Domain_Name_System) - [https://www.lealternative.net/2020/04/29/alternative-ai-dns-di-google/](https://www.lealternative.net/2020/04/29/alternative-ai-dns-di-google/) - [https://www.lealternative.net/2022/07/13/quali-dns-privati-utilizzare/](https://www.lealternative.net/2022/07/13/quali-dns-privati-utilizzare/) - [https://wiki.debian.org/resolv.conf](https://wiki.debian.org/resolv.conf) - [https://www.lealternative.net/2022/11/02/nextdns/](https://www.lealternative.net/2022/11/02/nextdns/) - [https://my.nextdns.io/](https://my.nextdns.io/) - [https://it.linux-console.net/?p=520#gsc.tab=0](https://it.linux-console.net/?p=520#gsc.tab=0) - [https://www.ionos.com/digitalguide/server/configuration/how-to-set-dns-on-debian/](https://www.ionos.com/digitalguide/server/configuration/how-to-set-dns-on-debian/)