DNSCrypt
Indice |
Introduzione
DNSCrypt e' la soluzione di OpenDNS che permette di crittografare le richieste DNS tra il proprio PC e i name server di OpenDNS.
Prerequisiti
Per migliorare le performance facciamo uso di un Name Service Caching Daemon, nscd:
sudo apt-get install nscd
sudo service nscd stop
sudo sed -i -E -e '/^\s*persistent\s*(passwd|group|hosts|services|netgroup)\s*yes/s/yes/no/g' \
-e '/^\s*enable-cache\s*(passwd|group|services|netgroup)\s*yes/s/yes/no/g' \
-e '/^\s*enable-cache\s*hosts\s*no/s/no/yes/g' /etc/nscd.conf
sudo service nscd start
Abilitiamo inoltre il supporto al Extension Mechanisms for DNS:
echo "options edns0" | sudo tee -a /etc/resolvconf/resolv.conf.d/tail
e disabilitiamo il local resolver:
sudo sed -i 's/^dns=dnsmasq/#dns=dnsmasq/g' /etc/NetworkManager/NetworkManager.conf sudo restart network-manager
Creiamo un utente di sistema dedicato, senza una shell e con una home directory vuota, da usare per eseguire dnscrypt-proxy:
sudo adduser --system --quiet --home /run/dnscrypt --shell /bin/false \
--group --disabled-password --disabled-login dnscrypt
Installiamo il pacchetto build-essential per poter compilare il codice sorgente:
sudo apt-get install build-essential
Installazione
Scarichiamo l'ultima versione disponibile dei sorgenti di dnscrypt-proxy:
http://download.dnscrypt.org/dnscrypt-proxy/
procediamo alla sua compilazione:
tar xfj dnscrypt-proxy-*.tar.bz2 cd dnscrypt-proxy-* ./configure --prefix=/usr && make -j4
verifichiamo che la compilazione sia andata a buon fine:
cd src/libsodium make -j4 check cd -
ed installiamo i binari:
sudo make install
Creiamo inoltre un Upstart script per fare in modo che DNSCrypt venga avviato automaticamente all'avvio:
echo '
description "dnscrypt-proxy startup script"
pre-start script
mkdir -p /run/dnscrypt
end script
start on (local-filesystems and net-device-up IFACE=lo)
stop on runlevel [!2345]
exec /usr/sbin/dnscrypt-proxy --local-address=127.0.0.2:53 \
--edns-payload-size=1252 \
--pidfile=/run/dnscrypt-proxy.pid \
--user=dnscrypt
' | sudo tee /etc/init/dnscrypt-proxy.conf
sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt-proxy
sudo start dnscrypt-proxy
Configurazione
Per utilizzare DNSCrypt e' sufficiente modificare nelle proprieta' di rete la voce DNS servers con 127.0.0.2.
Per testare che tutto sta' funzionando a dovere, andate qui.
