WARP la VPN di Cloudflare per il Mobile

Warp la VPN Mobile di Cloudflare

 

Cloudflare e’ ormai un’azienda affermata, tanto quanto Akamai o Amazon…..; in pratica CloudFlare è un sistema di reverse proxy con funzioni di CDN (Content Delivery Network), è dunque un servizio che si interpone tra il server dove viene ospitato il tuo sito ed i tuoi visitatori, svolgendo anche funzioni di caching, velocizzando cosi ulteriormente le performance del tuo sito.
Ma non si limita alla distribuzione dei contenuti statici (come potrebbe fare una normale CDN), infatti offre numerose funzionalità per aumentare la sicurezza, ottimizzare i siti, velocizzare le risoluzioni dei DNS e proteggerti dagli attacchi DDOS.

Ad oggi, con oltre il 39% dei domini DNS gestiti, Cloudflare gestisce una delle più grandi e autorevoli reti DNS al mondo, non a caso Cloudflare ha sviluppato un servizio di risoluzione “DNS Resolver” ad hoc (il famoso IP 1.1.1.1) che nulla ha da invidiare a quello di Google o di OpenDNS.

Non pago, Cloudflare, dopo aver lanciato il suo DNS Resolver 1.1.1.1, si è focalizzata nello sviluppo di soluzioni consumer per migliorare la privacy e la sicurezza per la navigazione sul web, infatti e’ notizia recente che 1.1.1.1 DNS è solo un tassello di una strategia ben più vasta di Cloudflare, e proprio in questi giorni infatti l’azienda ha lanciato il suo nuovo servizio VPN, chiamato WARP, pensato appositamente per gli utenti mobile.

Possiamo affermare in tutta tranquillita’ che oggi, gran parte degli utenti di Internet utilizza uno smartphone per interfacciarsi con la Rete. Tuttavia i protocolli Internet, come ad esempio il TCP, sono stati progettati in modo specifico per delle reti wired (rete standard cablata LAN) quindi non riescono ad offrire le medesime performance con le grandi reti wireless.

E’ per questo motivo che il team di Cloudflare ha sviluppato un servizio VPN ottimizzato per i dispositivi che sfruttano unicamente le reti wireless, come appunto gli smartphone. Warp è stato creato basandosi sul protocollo UDP (User Datagram Protocol) e su WireGuard, che e’ il successore di OpenVPN (ne parleremo nel prossimo articolo).

Le caratteristiche del protocollo UDP sono le seguenti:

  • E’ un protocollo non orientato alla connessione, utilizzato quando l’affidabilità, il cui controllo viene richiesto ai protocolli applicativi che ne fanno uso, non è il target primario.

Ma se per il protocollo UDP l’affidabilita’ non e’ il target primario, perche’ e’ stato scelto proprio questo protocollo, rispetto al TCP ??

Perché UDP

Come appena spiegato, a differenza del TCP, UDP ha la caratteristica di essere ” connection less “, inoltre non si occupa di gestire il riordinamento dei pacchetti né la ritrasmissione di quelli persi.

Per tali motivi solitamente è considerato meno affidabile di TCP, tuttavia UDP è molto rapido nelle sue operazioni, visto che non presenta latenza per il riordino e la ritrasmissione. Quindi risulta essere molto efficiente quando implementato, ad esempio, nei sistemi VOIP.

Perché WireGuard

WireGuard e un protocollo che implementa una virtual private network per creare connessioni sicure Point-to-Point in configurazione routed o bridged. Inoltre viene eseguito come modulo nel kernel Linux ed in certi contesti permette di avere prestazioni migliori rispetto ad altri protocolli simili come i ben piu’ conosciuti IPsec o OpenVPN.

WireGuard utilizza alcune specifiche tecnologie per la gestione della criptografia come, Curve25519 per lo scambio chiavi, ChaCha20 e Poly1305 per l’autenticazione e BLAKE2s per l’hashing. Queste permettono a WireGuard di impattare in modo molto contenuto sui consumi energetici e di rete dei dispositivi mobile.

Perche’ WARP

Perche’ Warp, non solo permette di ottenere buone performance con gli smartphone, ma offre anche tutte le features di privacy e sicurezza disponibili con il servizio DNS Resolver 1.1.1.1.

Dopo i tanti scandali sulla privacy, possiamo aggiungere con un certo piacere che, tra le caratteristiche di Warp c’e’ quella di non salvare i log di navigazione degli utenti, poiche’ il suo modello di business non è incentrato sulla vendita di dati a società terze, prova ne e’ che non è nemmeno necessario inserire i propri dati personali per utilizzare l’applicazione associata.

Attualmente Warp è gratuito anche se il team di Cloudflare è al lavoro per realizzare anche un servizio premium chiamato Warp+, basato sul virtual private backbone dell’azienda californiana e sulla tecnologia Argo.

Semplificate i vostri Firewall

Ipset facilita il Firewall

Ipset facilita il Firewall

Facilitare la gestione del Firewall usando IPSET

Premessa
iptables, che fa parte del più ampio framework netfilter, è notoriamente il tool in user-space destinato alla definizione delle regole di firewall del kernel Linux.

Ipset è una estensione per iptables che permette la creazione di regole firewall applicabili contemporaneamente ad interi insiemi di indirizzi. A differenza di quanto avviene nelle normali catene iptables, che sono memorizzate e traversate linearmente, i sets sono memorizzati in strutture dati indicizzate, caratteristica che ne rende la consultazione molto efficiente, anche in presenza di sets voluminosi, oltre che in situazioni dove è facile immaginarne l’utilità, come il blocco di lunghe liste di “bad” hosts senza doversi preoccupare dell’eccessivo impiego di risorse di sistema o della congestione di quelle di rete, ipset offre anche un nuovo approccio a determinati aspetti inerenti la progettazione di un firewall, semplificandone la configurazione.

Ipset e’ composto da due parti, un modulo kernel e, uno strumento di amministrazione, alcune distribuzioni includono anche dei wrapper di servizio per caricare configurazioni ipset al boot, come l’ipset-service di Fedora.

Prima di proseguire è doveroso spendere un po’ di tempo a rinfrescare alcuni concetti fondamentali di iptables.

In sintesi, la configuratione di un firewall iptables consiste di un set di “chains” built-in (raggruppate in quattro “tables”) che contengono ciascuna una lista di regole o “rules”.

Per ciascun pacchetto, in ciascuna fase del suo trattamento, il kernel consulta la chain appropriata per determinarne il destino.
Le chains vengono consultate in rigoroso ordine, basato sulla direzione del pacchetto (remoto->locale, remoto->remoto oppure locale->remoto) e la sua fase corrente di trattamento o processing (prima o dopo il “routing”).

Il pacchetto viene confrontato con ciascuna delle regole della chain, nell’ ordine, fino a che non viene trovata una corrispondenza. Una volta che ciò avviene, viene intrapresa la azione specificata nel target della regola.
Se viene invece raggiunta la fine della chain senza trovare una corrispondenza, viene intrapresa la azione target di default per la catena, o policy.

Una chain non è altro che una lista ordinata di regole, ed una regola non è altro che una combinazione corrispondenza/target.
Un semplice esempio di corrispondenza è “TCP destination port 25″.
Un semplice esempio di target può essere “scarta il pacchetto” (DROP).
I targets possono anche redirigere ad altre chains definite dall’utente, cosa che fornisce un meccanismo per raggruppare e suddividere le regole seguendo una logica.
Ciascun comando iptables destinato a definire una regola, corto o lungo che sia, è composto di tre parti fondamentali che specificano la table/chain, la corrispondenza (match) ed il target

Per creare una completa configurazione firewall, occorre di fatto mandare in esecuzione una serie di comandi iptables, in uno specifico ordine.

ipset
ipset è una “match extension”, cioè una estensione basata sulla definizione di corrispondenze, per iptables.
Per poterla usare è prima necessario creare e popolare dei “sets” univocamente chiamati utilizzando il tool a linea di comando ipset, e successivamente fare riferimento a tali sets in una o più regole iptables.

Un set può essere semplicemente una lista di indirizzi archiviata per un efficiente ritrovamento.
Prendiamo come riferimento i seguenti normali comandi iptables destinati a bloccare il traffico in ingresso proveniente da 201.121.12.1 e 202.121.12.2:

# iptables -A INPUT -s 201.121.12.1 -j DROP
# iptables -A INPUT -s 202.121.12.2 -j DROP

La sintassi che specifica la corrispondenza (-s 201.121.12.1) significa “i pacchetti il cui indirizzo di origine è 201.121.12.1″. Per bloccare sia 201.121.12.1 che 202.121.12.2, devono venire definite due distinte regole iptables con due distinte specificazioni di corrispondenza (una per 201.121.12.1 ed una per 202.121.12.2).

In alternativa, i seguenti comandi ipset/iptables servono ad ottenere lo stesso risultato:

# ipset -N myset iphash
# ipset -A myset 201.121.12.1
# ipset -A myset 202.121.12.2
# iptables -A INPUT -m set --set myset src -j DROP

I comandi ipset appena visti creano un nuovo set (myset, del tipo iphash) con due indirizzi (201.121.12.1 e 202.121.12.2).
Il successivo comando iptables fa quindi riferimento al set specificando la corrispondenza con -m set –set myset src, che significa “i pacchetti il cui source header è compreso nel set di nome myset”.
Il flag src significa che la corrispondenza deve avvenire su “source”. Analogamente il flag dst avrebbe spostato la corrispondenza su “destination”, mentre il flag src,dst avrebbe riguardato sia source che destination.

Nella seconda versione è richiesto un solo comando iptables, indipententemente da quanti indirizzi IP siano presenti nel set.
Anche se fossero migliaia, sarebbe necessaria sempre una singola regola iptables, mentre l’approccio tradizionale, senza il vantaggio offerto da ipset, richiederebbe migliaia di regole.

Tipi di set
Ciascun set è di uno specifico tipo, che definisce che genere di valore possa esservi memorizzato (indirizzi IP, networks, porte ecc.) così come debba essere ricercata la corrispondenza (ovvero, quale parte del pacchetto debba essere controllata e come debba essere confrontata coi valori presenti nel set).
Oltre ai tipi più comuni, che controllano gli indirizzi IP, ne sono disponibili addizionali che si riferiscono alla porta, sia all’indirizzo IP che alla porta contemporaneamente, oppure contemporaneamente al MAC address e all’indirizzo IP, ecc.

Ciascun tipo di set ha le proprie regole per tipo, range e distribuzione dei valori che può contenere.
Differenti tipi di set usano anche differenti tipi di indici e risultano ottimizzati per differenti scenari. La scelta del migliore o più efficiente tipo di set dipende quindi dalla situazione.

I tipi più flessibili di set sono iphash, che archivia liste di indirizzi IP arbitrari, e nethash, che archivia liste di networks eterogenee (IP/mask) di varie dimensioni. Si faccia comunque riferimento all man page di ipset per un elenco completo ed una descrizione di tutti i tipi di set.

È anche disponibile il tipo speciale setlist, che consente di raggruppare insieme differenti sets in un set unico.
È vantaggioso se si desidera, ad esempio,avere un singolo set che contenga sia singoli indirizzi IP che networks.

Faccio ora un esempio per capire meglio la potenza di ipset:

Limitare l’accesso restringendolo solo a certi hosts pubblici da parte di certi PC della rete locale
Supponiamo che nell’ufficio di cui gestite la rete passino spesso stagisti e che il megadirettore sia molto infastidito dall’idea che questi impiegati, Pippo, Pluto e Paperino possano passare il tempo a trastullarsi con Internet invece di lavorare e vi chieda di limitare l’accesso da parte dei loro PCs a uno specifico set di siti cui è necessario collegarsi solo per lavoro.
Per limitare i tre PC (192.168.0.5 è quello di Pippo, 192.168.0.6 quello di Pluto e 192.168.0.7 quello di Paperino) ad accedere solamente a corriere.it, repubblica.it e inps.it, si possono utilizzare i seguenti comandi:

# ipset -N limited_hosts iphash
# ipset -A limited_hosts 192.168.0.5
# ipset -A limited_hosts 192.168.0.6
# ipset -A limited_hosts 192.168.0.7
# ipset -N allowed_sites iphash
# ipset -A allowed_sites corriere.it
# ipset -A allowed_sites repubblica.it
# ipset -A allowed_sites inps.it
# iptables -I FORWARD \
-m set --set limited_hosts src \
-m set ! --set allowed_sites dst \
-j DROP

Questo esempio effettua un confronto con due sets in una singola regola. Se il l’indirizzo sorgente è compreso in limited_hosts e la destinazione non è compresa in allowed_sites, il pacchetto viene semplicemente scartato (a limited_hosts è permesso comunicare solamente con allowed_sites).

Si noti che dato che questa regola si trova nella chain FORWARD, non riguarda le comunicazioni da e verso il firewall stesso nè il traffico interno.

Cosi’ come per iptables, ipset vi permette di caricare le regole da un file ed effettuare l’output in un formato adatto al caricamento, nel seguente modo :

# ipset save > /path/to/ipset.save
# ipset restore < /path/to/ipset.save

Ipset vi permettera’ di mantenere la configurazione del vostro firewall piu’ corta, leggibile e molto piu’ facile da mantenere. Se vi servono ulteriori informazioni potete visitare il sito del progetto http://ipset.netfilter.org

 

#IpsetfacilitailvostroFirewall

Come controllare la rete dalla shell Linux

Monitoring dal Terminale

Monitoring dal Terminale

PREMESSA

Purtroppo rispetto a molte altre nazioni nel mondo e, nella stessa Europa, ci troviamo ad avere ancora delle connessioni ad Internet che, nella maggior parte del paese, sono a dir poco scandalose.

In precedenti articoli abbiamo provato a mettere un po’ di pepe al nostro pc lavorando sulla gestione della RAM oppure sulla modifica dei parametri del kernel tramite Sysctl, oppure accellerando la risoluzione degli indirizzi DNS tramite la creazione di un meccanismo di Cache usando, ad esempio, PDNSD.

Oggi vedremo come colmare quella parte di “monitoring” sulla velocita’ della nostra rete, presentando questo elenco di utilissimi tool, da riga di comando, che vi permetteranno di avere il polso della situazione in tempo reale. Troverete sicuramente quello che fa al caso vostro.

P.S. : I seguenti programmi sono tutti disponibili nei repository principali di Ubuntu, quindi per installarli bastera’ scrivere :

apt-get install nome del programma

NETWORK TOOL

IPTState : un’interfaccia simile a Top collegata alla vostra tabella connection-tracking di netfilter.
Utilizzando iptstate si può verificare in modo interattivo il traffico che attraversa il tuo firewall netfilter/iptables , ordinato per vari criteri, è possibile limitare la visualizzazione con vari criteri, ed e’ possibile cancellare gli stati dalla tabella.

Pktstat : visualizza un elenco in tempo reale delle connessioni attive viste su una interfaccia di rete, e quanta banda viene utilizzata. Parzialmente decodifica i protocolli HTTP e FTP per mostrare il nome del file che viene trasferito. Anche i nomi delle applicazioni X11 sono mostrate.

NetHogs : diversamente da altri, invece che “spacchettare” il traffico verso il “basso” per protocollo o per sottorete, come la maggior parte degli strumenti fanno, mostra la banda utilizzata dai vari programmi. NetHogs non si basa su un modulo del kernel speciale da caricare. Se c’è ad un tratto molto traffico di rete, si può lanciare subito NetHogs e vedere immediatamente quale PID è la causa. Questo rende facile individuare i programmi che sono impazziti e stanno improvvisamente prendendo tutta la vostra banda di rete.

IPTraf : un programma (storico) che raccoglie statistiche di rete per Linux. Anch’esso raccoglie una serie di dati come i pacchetti delle connessioni TCP e conteggio dei byte, le statistiche sulle interfaccie e gli indicatori di attività, dati TCP/UDP sul traffico, e traffico per LAN.

Bmon : bmon è un monitor di banda, destinato per il debug ed il monitoraggio real-time, in grado di recuperare le statistiche da vari tipi d’ingresso. Fornisce metodi di uscita vari tra cui un’interfaccia basata su librerie curses. L’insieme dei moduli per l’input sono specifici per ogni tipologia di architettura e prevedono un nucleo comune con l’elenco delle interfacce e dei loro contatori.

Il nucleo memorizza questi contatori e fornisce una stima della velocità ed una storia degli ultimi 60 secondi, minuti, ore e giorni ai moduli di uscita che li mostrano in base alla configurazione, durante l’esecuzione, è possibile selezionare l’interfaccia da controllare e premere il tasto “g” per vedere un grafico attivo come questo:

Speedometer : si tratta di un interessante progetto che permette di visualizzare e misurare la velocità dei dati attraverso una rete o dei dati che vengono memorizzati in un file,

Come potrete vedere, anche se si tratta di un tool basato sulla riga di comando, ha dei bei colori vivaci e altre cose che lo rendono uno strumento piuttosto user-friendly, ha la capacità di monitorare la velocità in tempo reale di download/upload delle connessioni di rete e può essere utilizzato anche per misurare la velocità di scrittura in un file system.

Nload : nload è un’applicazione da console che controlla il traffico di rete e l’utilizzo della larghezza di banda in tempo reale. Esso visualizza il traffico in entrata ed in uscita utilizzando due grafici e fornisce informazioni aggiuntive come quantità totale di dati trasferiti e min/max di utilizzo della rete.

 

La cosa migliore e’ sicuramente quella di testarli tutti, magari su macchine virtuali, per poter meglio decidere quali fanno esattamente al caso vostro.

 

#ControllalaRetedallaShell

Dynamic DNS con Duck

Dusck DNS

Dusck DNS

Il DNS Dinamico o DDNS, è una tecnologia che consente di associare un’indirizzo DNS ad un’indirizzo IP dinamico, solitamente un indirizzo IP privato di utenza internet domestica.
Questa funzionalità ci consente di mantenere uno stesso indirizzo pur avendo una connessione con IP variabile, consentendoci quindi di poter accedere da remoto al nostro sistema senza dover utilizzare un’indirizzo IP statico.

Duck DNS è un servizio web gratuito (basato su Amazon EC2) che ci consente di avere il nostro DNS Dinamico correlato al nostro indirizzo IP; una volta creato dovremo impostarlo nel nostro router (nella maggior parte dei router è disponibile questa opzione) , impostando le regole di PortMapping, in maniera tale da consentici l’accesso da remoto al nostro sistema.

Il team The Fan Club (noto per lo sviluppo di Grive Tools il miglior client per Google Drive per Linux) ha creato il Duck DNS Setup, un semplice script che ci consente di impostare correttamente Duck DNS in maniera tale da segnalare eventuali cambiamenti del nostro indirizzo IP.

Duck DNS Setup è disponibile in due versioni, una a riga di comando e l’altra con interfaccia grafica (richiede di avere installato il pacchetto zenity cron e curl sulla nostra distribuzione), inoltre il tool è disponibile anche per sistemi quali Apple Mac OS X e Windows.
Lo script si occupera’ anche di andare ad aggiornare automaticamente il nostro indirizzo IP in Duck DNS ogni 5 minuti.

– INSTALLARE DUCK DNS 
Prima di procedere con l’installazione di Duck DNS Setup dovremo procedere alla creazione di un’account sul sito Duck DNS , e per farlo ci basta collegarci sulla pagina indicata e cliccare in alto su Login in Twitter, Facebook, Reddit o Google. Una volta effettuato il login dovremo creare un nuovo indirizzo correlato al nostro IP, che avra’ una forma del tipo:

http://<nome scelto>.duckdns.org

Una volta creato un’account bastera’ scaricare la versione a riga di comando da QUI ( Duck DNS Setup – Linux/OSX Command Line) o con interfaccia grafica ( Duck DNS Setup – Linux GUI) da questa pagina.

Per la versione di Duck DNS Setup a riga di comando basta estrarre il file .tar.gz e spostare il file duck-setup.sh nella home e da terminale digitare:

chmod +x duck-setup.sh
./duck-setup.sh

Una volta lanciato lo script ci verrà chiesto di inserire l’indirizzo Duck DNS associato al nostro IP (precedentemente creato) e successivamente il lungo codice Token, assegnato sulla pagina di creazione del dominio, come verifica;
al termine ci verrà confermata l’attivazione di Duck DNS sul nostro sistema

Per rimuovere Duck DNS Setup basta digitare:

./duck-setup.sh remove

oppure

./duck-setup-gui.sh remove

e confermiamo la rimozione

Come criptare traffico DNS con DNSCrypt Proxy

DnsCrypt-Proxy

DnsCrypt-Proxy

Ogni giorno moltissimi PC subiscono, durante la normale navigazione, una modifica delle richieste DNS, tecnica che rientra nel pericoloso campo del phishing : questo tipo di minaccia è subdola e molto pericolosa, perché permette ad un malintenzionato di reindirizzare le vere pagine web (digitate nel browser) verso siti civetta, trappole per rubare piu’ dati sensibili possibili, come utenze di banca password ecc, e spesso pieni di malware.

La minaccia è assolutamente concreta su qualunque sistema quindi anche su sistemi GNU/Linux, perché i DNS vengono utilizzati per risolvere gli indirizzi su qualsiasi PC con qualsiasi sistema operativo.

In questo articolo vedremo come criptare il traffico DNS su Ubuntu 14.04 per renderlo immune a questo tipo di minaccia, così da proteggerci in un’unica soluzione da spionaggio, spoofing e attacchi “man-in-the-middle”.

Criptare traffico DNS su Ubuntu con DNSCrypt
Sergey “Shnatsel” Davidoff, uno degli sviluppatori elementaryOS, mantiene un PPA per dnscrypt-proxy: possiamo quindi facilmente installare questo pacchetto sul nostro sistema Ubuntu.

Installiamo digitando da terminale:

sudo add-apt-repository ppa:shnatsel/dnscrypt
sudo apt-get update
sudo apt-get install dnscrypt-proxy

Se questa procedura non dovesse funzionare si puo’ comunque decidere di scaricare il pacchetto .tar.bz2 e procedere all’installazione nel seguente modod :

URL repository per il download del package : dnscrypt-proxy package

Una volta scaricato il pacchetto, prima di passare all’installazione sara’ bene effettuare una verifica della sua integrita nel seguente modo :

# openssl dgst -sha256 dnscrypt-proxy-1.4.2.tar.bz2
SHA256(dnscrypt-proxy-1.4.2.tar.bz2)= 766bcd8874cd6cbfeeeb7246c75c39ddc14317ad81ad713bd6cfc9529b2f0c0d

# drill -D TXT dnscrypt-proxy-1.4.2.tar.bz2.download.dnscrypt.org

Nel caso in cui il comando drill ritornasse un errore dovrete installare il seguente pacchetto sulla vostra macchina :

apt-get install ldnsutils

a questo punto dovreste avere nella risposta una riga come questa

;; ANSWER SECTION:
dnscrypt-proxy-1.4.2.tar.bz2.download.dnscrypt.org. 10000 IN TXT “766bcd8874cd6cbfeeeb7246c75c39ddc14317ad81ad713bd6cfc9529b2f0c0d”

in cui poter verificare che il codice numerico sia uguale al vostro e poter cosi’ procedere con l’installazione sicura del pacchetto.

bunzip2 dnscrypt-proxy-1.4.2.tar.bz2; tar xvf dnscrypt-proxy-1.4.2.tar -C /opt/
cd /opt/dnscrypt-proxy
./configure && make -j2
make install

se si dovesse presentare un errore di questo tipo: configure: error: libsodium >= 0.5.0 not found
il consiglio e’ quello di scaricare ed installare il pacchetto richiesto al seguente sito ” libsodium

cd /opt/llibsodium-0.5.0#
./configure --prefix=/opt/dnscrypt-proxy-1.4.2/
make && make check
make install

Per una maggiore sicurezza, il pacchetto utilizza un utente di sistema dedicato, senza privilegi – DNSCrypt configurera’ in modalita’ chroot la directory home dell’utente dedicato senza applicare privilegi di root.

NB: per Ubuntu 14.04 e derivate il pacchetto potrebbe interferire con la procedura di spegnimento, bloccando il PC. Possiamo risolvere digitando da terminale.

sudo ln -s /etc/apparmor.d/usr.sbin.dnscrypt-proxy /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.dnscrypt-proxy

Una volta installato DNSCrypt, bisogna fare in modo che la nostra connessione attuale (sia Ethernet che WiFi) utilizzi DNSCrypt per risolvere gli indirizzi DNS.

D’ora in avanti il nostro server DNS sarà 127.0.0.1

Configuriamo questo indirizzo aprendo il file /etc/resolv.conf ed inseriamo come voce

nameserver 127.0.0.1

tutte le altre impostazioni di DNSCrypt  possono essere modificate con estrema facilità editando il file /etc/default/dnscrypt-proxy.

sudo gedit /etc/default/dnscrypt-proxy

Un elenco di resolver DNS pubblici di DNSCrypt possono essere trovati nel link successivo.

Lista DNS Server pubblici

Per avviare il servizio facilmente ci bastera' digitare:

# dnscrypt-proxy --local-address=127.0.0.1 --daemonize

oppure

# dnscrypt-proxy --local-address=127.0.0.1:40 --daemonize

ps: 40 e’ la porta di utilizzo alternativo per filtrare il traffico, ma potete decidere voi se e quale usare.