Vie privée : installer Cloudflared sur Raspberry Pi

Les DNS sont une technologie que votre connexion Internet utilise pour rechercher des sites web et se connecter à des serveurs. Mais saviez-vous que les DNS ne masquent pas votre activité en ligne ? Dans cet article, je vais vous montrer comment protéger votre vie privée en ligne avec un Raspberry Pi.

Cloudflared est un programme Linux qui peut être installé sur Raspberry Pi pour sécuriser le DNS et protéger votre vie privée. Cloudflared fonctionne en chiffrant les requêtes DNS pour l’ensemble du réseau.

Ce guide vous fournira les étapes pour installer Cloudflared. En bonus, je couvrirai également son intégration avec le bloqueur de publicités Pi-Hole pour une navigation ultra-rapide et sécurisée. Lisez la suite pour apprendre comment transformer le Raspberry Pi en un champion de la confidentialité personnelle !

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Le problème : pourquoi le DNS est-il non sécurisé ?

Le système de noms de domaine (DNS) est utilisé pour trouver des adresses sur Internet. Le problème est que le DNS est intrinsèquement non sécurisé.

Qu’est-ce que le DNS ?

Lorsque vous recherchez un site web comme raspberrytips.com, votre connexion Internet demande à un résolveur DNS de convertir le nom textuel en une adresse IP numérique. C’est ainsi que votre PC trouve un serveur sur Internet pour charger le site que vous souhaitez.

diagram showing DNS resolution process

Pourquoi devriez-vous vous préoccuper de la sécurité DNS ?

Le DNS est apparu dans les années 1980, lorsque l’accès public à Internet en était à ses tout débuts. Des décennies plus tard, le même système est toujours utilisé pour tout ce que vous faites en ligne.

Un nouveau problème devient évident : le DNS est obsolète en ce qui concerne la sécurité et la confidentialité (en anglais).

  • Les requêtes DNS sont envoyées en clair. En d’autres termes, elles sont lisibles par n’importe qui.
  • Le DNS ne nécessite pas d’authentification. Il ne vérifie pas qui a envoyé quoi, ni si la réponse provient d’une source légitime.
diagram showing dns insecure by sending data via plaintext

Ces faiblesses signifient que votre FAI ou des traqueurs tiers peuvent espionner votre activité sur internet. Cela signifie également que des acteurs malveillants peuvent détourner vos requêtes DNS pour mener leurs attaques.

La solution : le chiffrement DNS

Si le DNS n’est pas sécurisé, que pouvez-vous faire ? La réponse est le chiffrement DNS. Le chiffrement DNS encode les requêtes afin qu’elles ne puissent être lues que par les destinataires. C’est comme mettre un verrou sur votre trafic DNS.

diagram showing PC with DNS encryption

Il existe actuellement plusieurs méthodes pour le chiffrement DNS, telles que DNS-over-HTTPS et DNS-over-TLS. Dans ce guide, nous allons activer DNS-over-HTTPS (DoH).

Chiffrement DNS avec Raspberry Pi

Maintenant que vous comprenez comment fonctionne le chiffrement DNS, comment l’activer ? Une excellente façon d’accéder à cette technologie gratuitement est d’exécuter sur votre Raspberry Pi un programme appelé Cloudflared.

Le projet Cloudflared est officiellement maintenu par Cloudflare, l’un des plus grands fournisseurs de CDN (Content Delivery Network). Le programme Cloudflared crée des tunnels pour établir un réseau sécurisé.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Il peut faire beaucoup de choses sophistiquées, mais pour nos besoins, nous allons installer Cloudflared sur un Raspberry Pi pour sécuriser votre DNS et garder votre trafic internet privé.

Une fois installé, votre Pi agira comme un intermédiaire entre vos appareils et Internet. Au lieu de devoir configurer chaque appareil de votre réseau un par un, votre Pi activera le chiffrement DNS pour tous vos appareils, protégeant ainsi votre PC et vos appareils mobiles.

diagram showing Pi acting as dns encryption device

De quoi ai-je besoin pour faire fonctionner Cloudflared ?

  • Raspberry Pi : Un modèle avec un processeur 64 bits, comme le Pi 5, Pi 4, ou Pi 3 fonctionnera.
    Le support des modèles 32 bits n’est pas disponible actuellement.
  • Fonctionnement 24/7 : Votre Pi doit fonctionner en permanence pour traiter les requêtes internet.
    Assurez-vous d’utiliser une configuration stable (comme le Pironman 5). Vous pouvez ajouter une batterie de secours si nécessaire (comme celle que j’ai testée ici, en anglais).
  • Connexion Ethernet : La résolution DNS doit être rapide et stable, donc votre Pi doit être connecté à votre routeur par Ethernet.
  • Accès au routeur : Vous devrez accéder au panneau d’administration de votre routeur pour modifier les paramètres DNS.
  • Cloudflared : Des instructions pour installer ce programme seront fournies ci-dessous.

Remarque : Ce guide peut être plus adapté aux utilisateurs intermédiaires ou avancés. Vous aurez besoin de connaissances en réseau, paramètres de routeur, et la ligne de commande Linux.

Y a-t-il des inconvénients ?

Activer le chiffrement DNS ralentira-t-il ma connexion Internet ? Non.
Utiliser Cloudflared est plus rapide qu’un VPN et ne ralentit pas ma connexion.
C’est plus rapide que d’utiliser le DNS par défaut de mon FAI. Cela vient du fait que le DNS de Cloudflare est le résolveur public le plus rapide au monde.

Cependant, cet avantage a un inconvénient. Votre Pi doit être allumé en permanence pour gérer vos requêtes DNS. Si votre Pi tombe en panne, votre connexion Internet cessera de fonctionner. Mais ne vous inquiétez pas, je vais vous montrer comment contourner ce problème.

Cela dit, j’utilise Cloudflared depuis que j’ai eu mon Raspberry Pi 4B. Ma connexion Internet n’a été coupée qu’une seule fois, mais c’était de ma faute car je n’ai pas mis à jour le programme pendant des années. Je vais vous montrer comment activer les mises à jour automatiques pour éviter ce problème.

Comment installer Cloudflared sur Raspberry Pi

Maintenant que vous comprenez comment fonctionne le DNS, vous êtes prêt à activer le chiffrement DNS. Dans cette section, vous allez installer Cloudflared à partir du GitHub officiel de Cloudflare. Ensuite, vous le configurerez pour activer le chiffrement DNS et le lancer au démarrage.

Installer Cloudflared

Remarque : Les instructions ci-dessous concernent les Raspberry Pi avec des processeurs 64 bits, tels que le Pi 5, Pi 4, Pi 3, Pi 2 (v1.2), et Pi Zero 2. Désolé, Cloudflared ne fonctionne pas correctement sur les modèles 32 bits au moment de la rédaction de cet article.

Pour installer Cloudflared, ouvrez un terminal et entrez ces commandes :

  • Téléchargez en utilisant wget (en anglais) :
    wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
  • Déplacez les fichiers pour les installer sur votre système :
    sudo mv -f ./cloudflared-linux-arm64 /usr/local/bin/cloudflared
  • Rendez le programme exécutable :
    sudo chmod +x /usr/local/bin/cloudflared
  • Vérifiez s’il est installé :
    cloudflared -v
command line showing cloudflared executable permissions and path is accessible

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Configurer Cloudflared

Ensuite, vous allez créer un fichier de configuration pour Cloudflared. Ce fichier est l’endroit où vous allez spécifier l’utilisation des serveurs DNS avec chiffrement. Voici comment :

  • Créer le fichier de configuration avec Nano :
    sudo nano /etc/default/cloudflared
  • Coller la ligne suivante pour utiliser le chiffrement DoH de Cloudflare :
    CLOUDFLARED_OPTS=--address 0.0.0.0 --port 53 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
  • Créer un nouvel utilisateur pour exécuter le service :
    sudo useradd -s /usr/sbin/nologin -r -M cloudflared
  • Donner à votre compte de service la propriété du programme et du fichier de configuration :
    sudo chown cloudflared:cloudflared /etc/default/cloudflared
    sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared
command line showing summary of cloudflared configuration files

Exécuter Cloudflared au démarrage

Ensuite, vous voudrez vous assurer que Cloudflared s’exécute au démarrage :

  • Créer un script de démarrage :
    sudo nano /etc/systemd/system/cloudflared.service
  • Collez les lignes suivantes :
    [Unit]
    Description=cloudflared DNS over HTTPS proxy
    After=syslog.target network-online.target


    [Service]
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    CapabilityBoundingSet=CAP_NET_BIND_SERVICE

    Type=simple
    User=cloudflared
    EnvironmentFile=/etc/default/cloudflared
    ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS
    Restart=on-failure
    RestartSec=10
    KillMode=process


    [Install]
    WantedBy=multi-user.target
  • Enregistrez et quittez (CTRL+x, y, Entrée).
  • Activez le service Cloudflared pour qu’il s’exécute au démarrage :
    sudo systemctl enable cloudflared
    sudo systemctl start cloudflared
    sudo systemctl status cloudflared
cloudflared system service status showing enabled and active on port 53

Tester le service Cloudflared

Enfin, testons que Cloudflared résout les requêtes DNS comme prévu :

  • Installez le paquet dnsutils pour obtenir l’utilitaire dig :
    sudo apt install dnsutils
  • Effectuez un test avec la commande dig :
    dig @127.0.0.1 -p 53 raspberrytips.com

Exécuter cette commande demande à votre Pi de résoudre un site web pour vous en utilisant Cloudflared. Si vous obtenez une erreur « connection refused », alors il y a un problème : vérifiez votre installation et la configuration ci-dessus.

Un test réussi devrait renvoyer une réponse complète comme celle-ci :

cloudflared dig test with successful response

Félicitations ! Vous avez correctement installé Cloudflared avec chiffrement DNS. Mais attendez, vous n’avez pas encore terminé ! Vous devez indiquer à votre routeur d’utiliser votre Pi pour le DNS. Je vais vous montrer comment dans la section suivante.

Post-installation : envoyer toutes les requêtes DNS à votre Pi

Maintenant que Cloudflared fonctionne, il est temps de protéger tous les appareils de votre réseau avec le chiffrement DNS. Dans cette section, vous allez accéder au panneau d’administration de votre routeur. De là, vous allez lui indiquer d’envoyer toutes les requêtes DNS à votre Pi.

Changer le serveur DNS sur votre routeur

Pour compléter les étapes ci-dessous, vous aurez besoin d’accéder au panneau d’administration de votre routeur. Une manière courante est de ouvrir un navigateur web et d’entrer l’adresse réseau locale de votre routeur (par exemple, 192.168.1.1). L’IP exacte dépendra de la configuration de votre routeur.

route command to find router ip address

Si vous ne l’avez pas encore fait, assignez une adresse IP statique à votre Raspberry Pi. Vous devrez probablement redémarrer votre Pi pour que la nouvelle adresse prenne effet. J’ai assigné à mon Pi une adresse IP statique “192.168.1.69” pour notre exemple ci-dessous.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Dans l’interface d’administration de votre routeur, trouvez la section “DNS Server” ou “Name Server”. Il est probable que cette section soit actuellement vide. Vide signifie que vous utilisez par défaut le DNS de votre fournisseur d’accès Internet.

Dans la section du serveur de noms, ajoutez l’adresse IP locale de votre Pi. Enregistrez.

section du serveur de noms du routeur, montrant l'IP du Pi ajoutée

Maintenant, votre routeur utilisera votre Pi comme serveur DNS pour votre connexion internet. Lorsqu’un appareil de votre réseau demande quelque chose comme une page web, votre routeur enverra cette requête DNS à votre Pi. Le Pi utilisera alors Cloudflared pour chiffrer la requête.

Testons si votre connexion internet fonctionne toujours avec ce nouveau changement. Sur votre PC ou un autre appareil de votre réseau, ouvrez un site web. Est-ce que ça charge ? Si oui, vous l’avez configuré correctement !

Si les sites web ne se chargent pas, alors vous avez probablement mal configuré quelque chose. Si vous avez besoin que votre internet fonctionne à nouveau pendant que vous dépannez, allez vérifier les paramètres DNS de votre routeur, effacez les paramètres et enregistrez pour revenir à la configuration par défaut.

Vérifiez si le chiffrement DNS fonctionne

Mais comment savoir si le chiffrement est actif ? Pour vérifier si le chiffrement DNS fonctionne, ouvrez cette page d’aide Cloudflare. Si le chiffrement DNS fonctionne, la ligne “Using DNS over HTTPS” devrait indiquer “Yes.”

DNS encryption showing DoH active

C’est tout ce qu’il y a à faire ! Je vous félicite de protéger votre vie privée. Certaines personnes pourraient penser que vous êtes paranoïaque, mais tous les signes montrent que la sécurité DNS devient une norme.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).

Étapes facultatives

Cette section est optionnelle mais couvre des moyens bonus de configurer Cloudflared.

Configurer le DNS de secours

Dans le cas rare où votre installation Pi + Cloudflared plante, votre accès internet cessera de fonctionner. Dans ces situations, ajoutez un serveur DNS supplémentaire en DNS de secours sur votre routeur pour maintenir votre connexion internet active.

Dans l’exemple ci-dessus, j’ai ajouté le serveur DNS public Quad9 (9.9.9.9) en tant que DNS de secours. Vous voudrez supprimer cette ligne dès que vous serez sûr que votre installation Pi + Cloudflared fonctionne à nouveau (car le serveur de secours ne chiffre pas les requêtes DNS).

Automatiser les mises à jour de Cloudflared

Mon accès internet est tombé en panne une fois parce que j’ai oublié de mettre à jour Cloudflared pendant quelques années. Maintenant, je mets à jour Cloudflared automatiquement avec le script ci-dessous. Il télécharge simplement les fichiers les plus récents puis les copie.

Voici comment automatiser les mises à jour de Cloudflared :

  • Créez un script qui s’exécutera en tant que tâche cron une fois par mois :
    sudo nano /etc/cron.monthly/cloudflared-updater
  • Collez ces lignes :
    #!/bin/bash
    wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
    sudo systemctl stop cloudflared
    sudo mv -f ./cloudflared-linux-arm /usr/local/bin/cloudflared
    sudo chmod +x /usr/local/bin/cloudflared
    sudo systemctl start cloudflared
    cloudflared -v

    sudo systemctl status cloudflared
  • Enregistrez et quittez.
  • Rendez le script exécutable :
    sudo chmod +x /etc/cron.monthly/cloudflared-updater
  • Transférez la propriété à l’utilisateur root pour les bonnes permissions :
    sudo chown root:root /etc/cron.monthly/cloudflared-updater
  • Effectuez un test depuis votre répertoire personnel :
    cd ~
    sudo /etc/cron.monthly/cloudflared-updater
cloudflared update script as a monthly cron job

Utiliser Pi-Hole avec Cloudflared

Cette section est pour ceux qui utilisent déjà Pi-Hole sur Raspberry Pi. Peut-être comme moi, vous voulez la rapidité du blocage de publicités et du cache DNS de Pi-Hole, mais vous souhaitez également utiliser le chiffrement DNS.

Voici comment faire fonctionner Pi-Hole et cloudflared ensemble :

  • Installez Pi-Hole en suivant notre guide.
  • Modifiez votre configuration cloudflared pour utiliser le port 5053 à la place :
    • Ouvrez la configuration cloudflared :
      sudo nano /etc/default/cloudflared
    • Changez cette ligne pour spécifier le port :
      CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
    • Redémarrez votre Pi :
      sudo reboot
  • Ouvrez le panneau d’administration de Pi-Hole dans un navigateur web (par exemple, 192.168.1.69/admin).
  • Allez dans Settings > DNS.
  • Décochez tous les serveurs DNS en amont publics dans la colonne de gauche. Voir la capture d’écran ci-dessous.
  • Cochez Custom 1 (IPv4) dans la colonne de droite, et dans l’espace vide, entrez :
    127.0.0.1#5053
    Ce paramètre indique à Pi-Hole d’envoyer les requêtes DNS à votre service cloudflared sur le port 5053.
  • Assurez-vous de faire défiler vers le bas et de cliquer sur Enregistrer.
pi-hole admin panel with cloudflared setup

Vous avez terminé. Maintenant, votre Pi bloquera les publicités, mettra en cache les requêtes DNS, et activera également le chiffrement DNS. Quel appareil incroyable !

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources

Comment avez-vous trouvé cet article ?

Cliquez sur une étoile pour noter !

Note moyenne / 5. Nombre de votes :

Aucun vote pour l'instant ! Soyez le premier à évaluer cet article.

Si vous avez aimé cet article ...

Partagez le sur les réseaux

Nous sommes désolés que vous n'ayez pas aimé cet article !

Améliorons cet article !

Comment pouvons-nous améliorer cet article ?


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *