meridian-shaft Jump to content
Forums

[TUTO] Configurer DNSCrypt V2 sur votre routeur OpenWRT


Recommended Posts

Aujourd’hui je vous propose un tuto sur comment installer DNSCrypt V2 sur un routeur OpenWRT.

A)  A quoi ça sert, qu’est-ce que c’est

Les serveurs DNS sont les annuaires d’internet : lorsque vous voulez aller sur un site dont vous connaissez l’adresse, par exemple « lecrabeinfo.net », votre PC/smartphone… fait tout d’abord une requête le serveur DNS pour lequel il est configuré, et ce dernier lui répond l’adresse IP du site, sur laquelle vous vous rendez enfin.

Le problème c’est que le protocole DNS est un vieux protocole, qui n’est pas crypté. SI vous testez de faire un enregistrement des paquets qui sortent de votre appareil, vous verrez les requêtes DNS en clair, visible. Ainsi si quelqu’un vous espionne, ou même votre fournisseur d’accès à internet, il peut voir si quel site vous allez. Il peut même, et c’est plus embêtant, modifier les paquets DNS et vous faire croire que l’IP du site que vous avez demandé est une autre : vous aller vous rendre sur le mauvais site, qui peut par exemple etre une copie pirate du site sur lequel vous souhaitez aller.

Depuis quelque temps certains se sont penché sur le problème pour remplacer ce vieillissant protocole DNS. Il y a entre autres les protocoles DNSCrypt, DNS-over-TLS, DNS-over-HTTPS, qui sont tous des protocoles chiffrés. Le problème c’est que ces protocoles ne sont pas accessibles avec les moyens classiques : on ne peut pas juste changer l’adresse du serveur DNS pour utiliser ces protocoles.

Pour plus de renseignement : https://dnscrypt.info

Il existe pour cela différentes implémentations : https://www.simplednscrypt.org sur Windows etc et dnscrypt-proxy pour linux dont OpenWRT.

L’avantage de l’installer sur votre routeur c’est que tous les clients du routeur utiliseront automatiquement ce protocole chiffré.

B)   Installer DNSCrypt-proxy sur OpenWrt

1)      Télécharger les fichiers nécessaires

Commencez par télécharger la dernière version du programme sur https://github.com/jedisct1/dnscrypt-proxy/releases

Choisissez le fichier «.tar.gz » qui correspond à l’architecture processeur de votre routeur (pour moi avec un routeur Xiaomi Mi Routeur 3G c’est « linux-mipsle »

Il faut ensuite extraire le fichier téléchargé avec le programme de votre choix 7zip, winrar etc

Téléchargez également le fichier de démarrage automatique en faisant un clic droit sur le lien suivant puis « enregistrer sous » et en nommant le fichier « dnscrypt-proxy » sans le « .txt » à la fin

https://raw.githubusercontent.com/etam/DNS-over-HTTPS-for-OpenWRT/master/dnscrypt-proxy

Mettez ce fichier au même endroit ou vous avez extrait les précédents fichier, dans un dossier « init.d »

2)      Compresser les fichiers

Le programme est assez volumineux pour le stockage de la plupart des routeurs. On va donc le comprimer.

Il faut tout d’abord télécharger UPX : téléchargez sur ce lien le fichier qui corresponds à votre installation (win64 pour la plupart)

Il faut ensuite extraire le fichier « upx.exe » dans le même dossier où vous avez précédemment extrait les fichiers de dnscrypt-proxy.

Trouvez l’adresse exact de votre dossier : faite un clic droit sur le fichier « dnscrypt-proxy » (pas celui qui est dans le dossier init.d) puis « propriétés » et copiez l’emplacement du fichier

Puis il faut ouvrir une fenêtre cmd : ouvrez le menu Windows pois tapez cmd puis « entrée ».

Dans la fenêtre d’invité de commande tapez « cd » puis espace puis faites un clic droit puis « entrée ».

Entrez ensuite la commande suivante :

upx –lzma dnscrypt-proxy

et laissez la compression se faire.

3)      Configurer les fichiers

Renommez « example-dnscrypt-proxy.toml » en « dnscrypt-proxy.toml » et « example-forwarding-rules.txt » en « forwarding-rules.txt ».

Ouvrez avec un bon éditeur de texte (par exemple Notepad++) le fichier « forwarding-rules.txt » et rajoutez à la fin de ce dernier :

Citation

lan 127.0.0.1

10.in-addr.arpa 127.0.0.1

192.in-addr.arpa 127.0.0.1

254.169.in-addr.arpa 127.0.0.1

Ouvrez avec un bon éditeur de texte (par exemple Notepad++) le fichier « dnscrypt-proxy.toml » et modifiez :

Citation

 

listen_addresses = ['127.0.0.1:53', '[::1]:53']

 

par

Citation

 

listen_addresses = ['127.0.0.53:53']

 

Pour configurer les serveur DNS que vous souhaitez utiliser il y a 2 possiblilités :

a)       Spécifier directement les serveurs DNS (ce que je préfère)

Il faut modifier

Citation

 

# server_names = ['scaleway-fr', 'google', 'yandex', 'cloudflare']

 

Par

Citation

 

server_names = [‘nomdesserveursdns’,’…’]

 

ou nomdesserveursdns est le nom des serveurs, que l’on peut trouvez ici : https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md , le nom des serveur étant apres « ## » avec une courte description

Chez moi par exemple, ma configuration est

Citation

 

server_names = ['quad9-dnscrypt-ip4-filter-pri', 'quad9-dnscrypt-ip4-filter-alt', 'quad9-dnscrypt-ip6-filter-pri', 'quad9-dnscrypt-ip6-filter-alt']

 

En utilisant quad9 en dnscrypt, qui sont les serveurs les plus rapides en France d’après moi

b)      En spécifiant les caractéristiques des serveurs que l’on souhaite

Si on laisse # devant « server_names », le programme va choisir le DNS le plus rapide parmi une liste qui répond aux critères que vous allez lui fournir

Pour spécifier ces critères il faut modifier dans « dnscrypt-proxy.toml », en dessous de « ## Require servers (from static + remote sources) to satisfy specific properties » les lignes en mettant « true » si on veut ce paramètre et « false » si on ne veut pas.

A noter que le programme semble planter au bout de quelques minutes à quelques heures avec des serveur DNS-over-HTTPS, que je déconseille donc. Si certains arrivent à les faire fonctionner, qu’ils n’hésitent pas à donner leur configuration.

4)      Transférer les fichiers sur votre routeur OpenWrt

Pour cela vous allez avoir besoin d’un logiciel de transfert SCP, par exemple « WinSCP »

Dans ce programme connectez vous sur votre routeur avec son IP, puis l’identifiant et le mot de passe SSH.

Il faut déplacer le fichier « dnscrypt-proxy » (pas celui dans init.d) dans le dossier « /usr/sbin »

Il faut déplacer les fichiers « dnscrypt-proxy.toml», « forwarding-rules.txt » dans le dossier « /etc/config »

Il faut déplacer le fichier « dnscrypt-proxy » (celui dans init.d) dans le dossier « /etc/init.d »

Puis il faut se connecter en SSH au routeur et entrer les commandes suivantes :

chmod +x /usr/sbin/dnscrypt-proxy

chmod +x /etc/init.d/dnscrypt-proxy

5)      Vérifier que tout fonctionne et activer le service

En SSH, entrez la commande suivante, qui ne doit pas retourner d’erreur normalement :

dnscrypt-proxy -config /etc/config/dnscrypt-proxy.toml -check

6)      Utiliser le service

Pour activer le service entrez les commandes suivantes :

/etc/init.d/dnscrypt-proxy enable

/etc/init.d/dnscrypt-proxy start

Pour utiliser le service dnscrypt-proxy, rendez vous sur votre interface web de configuration de votre routeur (Luci), dans l’onglet « réseau » et le sous onglet « DHCP et DNS »

Dans la case « transmission DNS » il faut rentrer « 127.0.0.53 » puis faire « Sauvegarder et Appliquer »

A noter que si dans vos interface réseaux vous avez configuré des serveurs DNS spécifiques, ils prendront le dessus sur votre serveur DNS dnscrpyt-proxy. De même si vous avez configuré des serveurs DNS directement sur vos appareils

 

Normalement tout devrait fonctionner. Allez sur https://www.dnsleaktest.com et cliquez sur « standard test » : seuls les serveurs que vous avez spécifiés dans votre configuration devraient apparaître.

 

J’espère que le tuto était assez clair 😊

  • J'aime 3
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...