# Besoin testeurs pour corriger/adapter un tuto dnscrypt

**URL:** <https://www.debian-fr.org/t/besoin-testeurs-pour-corriger-adapter-un-tuto-dnscrypt/74112>\
**Category:** Trucs et Astuces\
**Created:** [Août 4, 2017, 10:13 UTC](https://www.debian-fr.org/t/besoin-testeurs-pour-corriger-adapter-un-tuto-dnscrypt/74112 "2017-08-04T10:13:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![deobs](https://www.debian-fr.org/user_avatar/www.debian-fr.org/deobs/32/5811_2.png) [@deobs](https://www.debian-fr.org/u/deobs)\
**Post date:** [Août 4, 2017, 10:13 UTC](https://www.debian-fr.org/t/besoin-testeurs-pour-corriger-adapter-un-tuto-dnscrypt/74112/1 "2017-08-04T10:13:38Z")

</div>

Bonjour !

je tente de traduire un tuto en anglais pour en faire une version fr pour Debian et ses derives !  
Comme je suis relativement inexperimente, j’aurai besoin d’utilisateurs aguerris pour tester et me dire ce qu’il faut modifier s’il vous plait !  
notament ceux qui utilisent unbound et dnsmasq siouplait  
Merci

j’ai deja commence a rediger une doc [ici](https://doc.ubuntu-fr.org/dnscryp)

Installation

installez le paquet dnscrypt-proxy

Optionnellement dnscrypt-proxy-plugins,  
donne beaucoup de contrôle sur le trafic local:

- Passez en revue le trafic provenant de votre réseau en temps  
réel et détectez les hôtes et applications compromises.

- Bloque localement les publicités, les trackers, les logiciels  
malveillants, les spams et tout site Web dont les noms de domaine ou  
les adresses IP correspondent à un ensemble de règles que vous  
définissez.

- Empêcher que les requêtes concernant les zones locales soient  
divulguées.

- Réduire la latence en cas de mise en cache des réponses et  
éviter de demander des adresses IPv6 sur les réseaux IPv4  
uniquement.

- Forcer le trafic à utiliser , pour l’acheminer via des tunnels  
uniquement ou Tor.

Configuration  
Pour configurer dnscrypt-proxy, procédez comme suit:

Un exemple de fichier de configuration,  
/usr/share/doc/dnscrypt-proxy/examples/dnscrypt-proxy.conf  
est fourni mais notez que sytemd outrepasse l’option LocalAddress  
par un fichier socket

Sélectionnez  
le résolveur  
Sélectionnez un résolveur à partir de  
/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv  
et modifiez /etc/dnscrypt-proxy/dnscrypt-proxy.conf,  
en utilisant un nom abrégé de la première colonne du fichier csv.  
Par exemple, pour sélectionner dnscrypt.eu-nl  
comme résolveur:

ResolverName dnscrypt.eu-nl

- Une liste potentiellement plus à jour est disponible directement  
sur la  
page Github du projet

- À ce stade, vous pouvez également ajouter un utilisateur non  
privilégié pour exécuter dnscrypt. Voir Dépannage

Modifiez le  
resolv.conf  
Après avoir sélectionné un résolveur dnscrypt, modifiez le  
fichier /etc/resolv.conf et remplacez  
l’ensemble actuel d’adresses de résolveur par une adresse pour  
localhost:

nameserver 127.0.2.1  
/!\ Attention, d’autres programmes peuvent remplacer  
ce paramètre ! Voir  
6.2

Démarrer  
le service systemd  
Enfin, démarrez puis activez le service dnscrypt-proxy.service  
au démarrage de votre machine:

sudo systemctl start dnscrypt-proxy.service  
sudo systemctl enable dnscrypt-proxy.service  
Trucs et astuces  
Local  
DNS cache configuration  
Dnscrypt peut mettre en cache les entrées sans compter sur un  
autre programme. Assurez-vous que LocalCache on  
est dans votre fichier de configuration dnscrypt pour activer cette  
fonctionnalité.

Il est recommandé d’exécuter DNSCrypt en tant que redirecteur  
pour un cache local si vous n’utilisez pas la fonctionnalité de  
cache de dnscrypt; sinon, chaque requête fera un aller-retour vers  
le résolveur en amont. Tout programme de mise en cache local devrait  
fonctionner. En plus de configurer dnscrypt-proxy, vous devez  
configurer votre programme de cache local.

Changer le port  
La modification de l’adresse IP ou du port dans  
/etc/dnscrypt-proxy/dnscrypt-proxy.conf  
ne fonctionne pas avec systemd et doit être modifiée dans le socket  
systemd fourni de la manière suivante.

Afin de transférer vers un cache local, dnscrypt-proxy doit  
écouter sur un port différent du port 53 pardéfaut, car le cache  
lui-même doit écouter sur le port 53 et interroger dnscrypt-proxy  
sur un autre port. Le numéro de port 5353  
est utilisé à titre d’exemple dans cette section. Dans cet exemple,  
le numéro de port est supérieur à 1024, de sorte que  
dnscrypt-proxy n’est pas a être exécuté  
par root. Modifiez dnscrypt-proxy.socket  
avec le contenu suivant:

[Socket]  
ListenStream=  
ListenDatagram=  
ListenStream=127.0.0.1:5353  
ListenDatagram=127.0.0.1:5353  
Le port UDP 5353 est utilisé par Avahi (si installé et en cours  
d’exécution) et peut provoquer des avertissements dans le journal

Example de configurations local DNS cache  
Les configurations suivantes devraient fonctionner avec  
dnscrypt-proxy et assume qu’il écoute sur le port 5353.

Unbound  
Configurez Unbound  
à votre convenance et ajoutez les lignes suivantes à la fin de la  
section server dans  
/etc/unbound/unbound.conf:

do-not-query-localhost: no  
forward-zone:  
name: "."  
forward-addr: 127.0.0.1@5353  
Si vous configurez un serveur, ajoutez l’interface: interface:  
0.0.0.0@53 et access-control:  
your-network/subnet-mask allow dans la section server:  
section afin que les autres ordinateurs puissent se connecter au  
serveur. Un client doit être configuré avec nameserver  
address-of-your-server dans /etc/resolv.conf.

Ensuite redémarrez unbound.service pour appliquer les  
modifications:

sudo systemctl restart unbound.service  
dnsmasq  
Configurez dnsmasq en tant que cache  
DNS local. La configuration de base dans /etc/dnsmasq.conf  
pour fonctionner avec DNSCrypt:

no-resolv  
server=127.0.0.1#5353  
listen-address=127.0.0.1  
Si vous avez configuré DNSCrypt pour utiliser un résolveur avec la  
validation DNSSEC activée, assurez-vous de l’activer également dans  
/etc/dnsmasq.conf:

proxy-dnssec  
Redémarrez dnsmasq.service pour appliquer les modifications:

sudo systemctl restart dnsmasq.service  
Activer EDNS0  
EDNS qui, entre  
autres, permettent à un client de préciser la taille d’une réponse  
via UDP. Ajoutez la ligne suivante à votre /etc/resolv.conf:

options edns0  
Vous pouvez également ajouter ce qui suit à  
/etc/dnscrypt-proxy/dnscrypt-proxy.conf:

EDNSPayloadSize   
Ou est un nombre, la taille par défaut étant 1252,  
avec des valeurs allant jusqu’à 4096 octets, étant présumée sûre.  
Une valeur inférieure ou égale à 512 octets désactivera ce  
mécanisme, sauf si un client envoie un paquet avec une section OPT  
fournissant une taille.

Tester EDNS0  
Utilisez le serveur  
de test de taille de réponse DNS, utilisez l’outil de ligne de  
commande drill pour émettre une requête  
TXT pour le nom [rs.dns-oarc.net](http://rs.dns-oarc.net):

$ drill [rs.dns-oarc.net](http://rs.dns-oarc.net) TXT  
Avec EDNS0 pris en charge, la “answer section” de la sortie  
devrait ressembler à ceci:

[rst.x3827.rs.dns-oarc.net](http://rst.x3827.rs.dns-oarc.net).  
[rst.x4049.x3827.rs.dns-oarc.net](http://rst.x4049.x3827.rs.dns-oarc.net).  
[rst.x4055.x4049.x3827.rs.dns-oarc.net](http://rst.x4055.x4049.x3827.rs.dns-oarc.net).  
“2a00:d880:3:1::a6c1:2e89 DNS reply size limit is at least 4055 bytes”  
"2a00:d880:3:1::a6c1:2e89 sent EDNS buffer size 4096"  
Problèmes

Dnscrypt fonctionne avec les privilèges root  
Pour contourner cela, créez manuellement un utilisateur sans  
privilège:

sudo useradd -r -d /var/dnscrypt -m -s /sbin/nologin dnscrypt  
commande a vérifier !

Deux solutions possibles Modifier  
/etc/dnscrypt-proxy/dnscrypt-proxy.conf,  
en ajoutant le nouvel utilisateur:

User dnscrypt  
Sinon, vous devez utiliser User = dans l’unité  
dnscrypt-proxy.service de systemd:

Formulation a revoir !

[Service]  
User=dnscrypt  
CapabilityBoundingSet=CAP\_NET\_BIND\_SERVICE  
Cette deuxième option est utile lors de l’utilisation d’un serveur  
de mise en cache comme Unbound et est préférable, puisque l’unité  
n’est pas exécutée en tant que root en premier lieu. Si vous avez  
changé le port vers un non-privilégié (par exemple 5353),  
CapabilityBoundingSet = CAP\_NET\_BIND\_SERVICE  
n’est pas nécessaire.

Network Manager et divers autres processus écrasent /etc/resolv.conf  
Il s’agit généralement d’un comportement souhaitable, mais  
parfois, les paramètres doivent être définis manuellement (par  
exemple lors de l’utilisation d’une adresse IP statique). Il existe  
plusieurs façons d’y parvenir.

Avec Network  
Manager  
Pour empêcher NetworkManager de modifier /etc/resolv.conf,  
modifiez /etc/NetworkManager/NetworkManager.conf  
et ajoutez ce qui suit dans la section [main]:

dns=none  
/etc/resolv.conf peut être un lien  
symbolique brisé que vous devrez supprimer après avoir fait cela.  
Ensuite, créez simplement un nouveau fichier /etc/resolv.conf.

Protection  
contre l’écriture  
Une autre façon (radicale!) de protéger votre /etc/resolv.conf  
d’être modifié par quoi que ce soit est de mettre en place la  
protection en écriture:

sudo chattr +i /etc/resolv.conf  
pour dévérouiller la protection, éxécutez:

sudo chattr -i /etc/resolv.conf

---

<div class="post-metadata">

**Author:** ![yole](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yole/32/4773_2.png) [@yole](https://www.debian-fr.org/u/yole)\
**Post date:** [Août 8, 2017, 7:23 UTC](https://www.debian-fr.org/t/besoin-testeurs-pour-corriger-adapter-un-tuto-dnscrypt/74112/2 "2017-08-08T07:23:20Z")

</div>

J’avais installé dnscrypt avec Unbound à l’aide de çà  
sudo add-apt-repository ppa:xuzhen666/dnscrypt sudo apt-get update && sudo apt-get install dnscrypt-proxy  
[http://15minutesoffame.be/nico/blog2/index.php?article22/securiser-ses-dns-dnscrypt-et-cache-local-avec-bind](http://15minutesoffame.be/nico/blog2/index.php?article22/securiser-ses-dns-dnscrypt-et-cache-local-avec-bind)

---

<div class="post-metadata">

**Author:** ![deobs](https://www.debian-fr.org/user_avatar/www.debian-fr.org/deobs/32/5811_2.png) [@deobs](https://www.debian-fr.org/u/deobs)\
**Post date:** [Août 8, 2017, 11:20 UTC](https://www.debian-fr.org/t/besoin-testeurs-pour-corriger-adapter-un-tuto-dnscrypt/74112/3 "2017-08-08T11:20:36Z")

</div>

salut merci pour le lien.  
Pour la partie concernant Dnscrypt Randomizer, il est interressant de savoir comment cela fonctionne.  
Pour le reste c’est base sur un ppa avec un vieille version, Dnscrypt est maintenant dispo dans les depots Debian avec des fonctionnalite qui donne la possibilite de se passer de dnsmasq ou unbound.
