DNS su HTTPS con filtraggio
DNS su HTTPS (DoH) è un protocollo per cifrare le query DNS su HTTPS, migliorando la privacy prevenendo l'intercettazione del traffico DNS. Questa funzionalità ti consente di configurare server DNS upstream che supportano il protocollo DoH. Il pacchetto https-dns-proxy fornisce un proxy locale da DNS a HTTPS che inoltra le query DNS a un provider DoH remoto.
Questo documento fornisce istruzioni per configurare server DoH upstream che forniscono filtraggio e sono ubicati nell'UE, ma puoi utilizzare qualsiasi provider DoH che soddisfi le tue esigenze. Questa configurazione si applica solo ai server upstream del firewall: i client continueranno a inviare richieste DNS al firewall in chiaro sulla porta 53.
Un elenco di provider DoH che supportano ubicazioni europee e filtraggio è disponibile sul sito European Alternatives.
Alcune alternative popolari includono:
- DNS4EU, servizio DNS basato in Europa con risoluzione protettiva e funzionalità di blocco della pubblicità
- Quad9, orientato alla privacy con blocco del malware
- Mullvad, include blocco del malware, blocco della pubblicità e filtraggio di base (Porno, Giochi d'azzardo, ecc.)
- Cloudflare, provider DoH veloce e ampiamente utilizzato con blocco del malware (1.1.1.1 for families)
Installazione
A partire da NethSecurity 8.8, il pacchetto https-dns-proxy è incluso nell'immagine NethSecurity, quindi non è richiesto alcun passaggio di installazione separato.
Su NethSecurity 8.7, il pacchetto non è incluso nell'immagine NethSecurity predefinita, quindi dovrai installarlo manualmente:
opkg update
opkg install https-dns-proxy
Configurazione
Per impostazione predefinita, il pacchetto include due provider (Cloudflare e Google), ascolta su 127.0.0.1:5053 e 127.0.0.1:5054, e mantiene dnsmasq_config_update impostato su - in modo che non modifichi automaticamente la configurazione DNS del firewall.
Per iniziare a utilizzare il proxy, devi:
- Rimuovere i provider predefiniti (facoltativo)
- Aggiungere la configurazione del provider DoH preferito
- Scegliere il valore
dnsmasq_config_updateda utilizzare - Eseguire il commit della configurazione e abilitare il servizio
Passaggi di configurazione
In questo esempio, configureremo il provider DoH DNS4EU (joindns4.eu).
-
Rimuovere i provider predefiniti (se desideri utilizzare solo DNS4EU):
uci del https-dns-proxy.@https-dns-proxy[1]uci del https-dns-proxy.@https-dns-proxy[0] -
Aggiungere il provider DoH DNS4EU:
uci set https-dns-proxy.joindns4=https-dns-proxyuci set https-dns-proxy.joindns4.resolver_url='https://noads.joindns4.eu/dns-query'uci set https-dns-proxy.joindns4.bootstrap_dns='86.54.11.13,86.54.11.213,2a13:1001::86:54:11:13,2a13:1001::86:54:11:213'uci set https-dns-proxy.joindns4.listen_addr='127.0.0.1'uci set https-dns-proxy.joindns4.listen_port='5053'uci commit https-dns-proxy
Il parametro bootstrap_dns è facoltativo; se non fornito, il sistema utilizzerà i DNS di Google e Cloudflare per il bootstrap.
-
Abilitare l'integrazione con
dnsmasqe avviare il servizio:uci set https-dns-proxy.config.dnsmasq_config_update='*'uci commit https-dns-proxy/etc/init.d/https-dns-proxy enable/etc/init.d/https-dns-proxy startIl valore
*aggiorna tutte le istanze didnsmasq. Se hai bisogno di un'integrazione più specifica, impostadnsmasq_config_updateal nome dell'istanza o all'indice che desideri gestire.
Verifica
Per verificare che il proxy DoH funzioni correttamente, controlla lo stato del servizio:
/etc/init.d/https-dns-proxy status
Puoi anche testare la risoluzione DNS:
dig google.com @127.0.0.1 -p 5053
Risoluzione dei problemi
Reindirizzamento DNS
Per impostazione predefinita, tutte le query DNS a qualsiasi server vengono forzate attraverso il proxy DoH locale per garantire che tutto il traffico DNS sia cifrato, ma questo potrebbe causare problemi con alcuni dispositivi o applicazioni.
Se riscontri un errore "Private DNS server cannot be accessed" sul tuo dispositivo Android, puoi risolverlo disabilitando il forzamento DNS nella configurazione di https-dns-proxy.
Esegui i seguenti comandi tramite SSH o terminale:
uci set https-dns-proxy.config.force_dns='0'
uci commit https-dns-proxy
service https-dns-proxy restart
Aggiornamento immagine
Il pacchetto è incluso nell'immagine, quindi non è necessario reinstallarlo dopo un aggiornamento.
Tuttavia, NethSecurity tratta dnsmasq_config_update='-' come lo stato disabilitato. Se quel valore è ancora impostato durante un aggiornamento dell'immagine, lo script predefinito del primo avvio potrebbe disabilitare nuovamente https-dns-proxy.
Blocco di altri provider DoH
Per bloccare le richieste DoH dai client a qualsiasi altro server mentre consenti le richieste provenienti dal firewall, hai 2 opzioni:
- Abilitare la categoria "public DoH-Providers" all'interno di Threat Shield IP e mettere in whitelist il server upstream che scegli come provider DoH
- Utilizzare DPI (Deep Packet Inspection) per bloccare DoH, che opera solo sul traffico inoltrato, consentendo al firewall di utilizzare DoH mentre blocca i client dall'utilizzarlo direttamente