AdGuard Home sur un NAS Synology (avec Docker)

AdGuard Home est une solution que nous apprécions sur Cachem. Facile à mettre en place, elle permet de protéger tout un réseau des publicités (ordinateur, smartphone, tablette, TV, IoT…) que ce soit pour un navigateur ou dans une application mobile. La solution est redoutable, gratuite et peut s’installer sur un Raspberry Pi, NAS (avec Docker ou non), un routeur… Aujourd’hui, nous allons découvrir comme l’installer facilement sur un NAS Synology avec Docker.

adguard synology Docker - AdGuard Home sur un NAS Synology (avec Docker)

AdGuard Home & NAS Synology

AdGuard Home est un système de blocage des publicités et de traceurs (Google, Facebook…) pour l’ensemble d’un réseau. Aussi, il peut bloquer l’accès aux sites malveillants, frauduleux et potentiellement infectés par des virus. Une fois configuré, il protège tous vos appareils et vous n’aurez besoin d’aucun autre logiciel. De plus, l’outil offre de nombreuses fonctionnalités : Contrôle parental et recherche sécurisée, Blocage de services spécifiques (YouTube, Twitch, TikTok, Facebook…), ré-écriture DNS, serveur DHCP, Cache DNS, etc.

Il est d’une efficacité redoutable et il n’y a aucune application à installer sur vos appareils.

NAS Synology

Il existe plusieurs solutions pour installer AdGuard Home sur un NAS Synology. Aujourd’hui, nous allons utiliser Docker. Ce n’est pas la seule méthode et un prochain article arrivera pour ceux ne disposant pas d’un NAS récent et doté d’un processeur Intel.

Le tutoriel s’appuie sur DSM 7.0, mais les écrans sont identiques avec DSM 6.x.

Installer Docker sur un NAS Synology

La première étape consiste à installer Docker. Pour cela, connectez vous à l’interface d’administration DSM. Allez dans le Centre de Paquet et cherchez Docker. Cliquez sur le bouton Installer puis patienter quelques secondes. Une boîte de dialogue va vous informer du changement de paramètres réseau nécessaires au fonctionnement. C’est tout à fait normal.

Télécharger l’image AdGuard Home

Ouvrez Docker et allez dans le menu de gauche Registre. Tapez dans la zone de recherche en haut AdGuard. Double cliquez sur le lien correspondant à AdGuardHome (cf. : image ci-dessous).

synology docker AdGuard - AdGuard Home sur un NAS Synology (avec Docker)

Le double clic lance le téléchargement de l’image Docker. Une boîte de dialogue s’affiche, sélectionnez latest qui correspond au téléchargement de la dernière version d’AdGuard Home. On appuie sur le bouton Sélectionner et on patiente le téléchargement (52 Mo).

docker latest - AdGuard Home sur un NAS Synology (avec Docker)

Maintenant, allez dans le menu Images pour voir si le téléchargement est finalisé. On peut double-cliquer sur l’image adguardhome fraîchement téléchargée. Si vous n’aimez pas le double-clic, vous pouvez sélectionner l’image puis cliquer sur le bouton Lancer.

Créer le conteneur AdGuard

On vous propose de créer le conteneur. Dans un premier temps, vous pouvez changer le nom de celui-ci (Nom du conteneur).

conteneur adguard - AdGuard Home sur un NAS Synology (avec Docker)

On clique sur le bouton Paramètres avancés, une boîte de dialogue s’ouvre. Tout d’abord, vous pouvez cocher la case Activer le redémarrage automatique si le conteneur s’arrête sans raison. Par défaut, le conteneur se relance à chaque démarrage du NAS Synology (si celui-ci est actif lors de l’extinction du boîtier) sans cocher cette case.

Ensuite, on va sur l’onglet Volume et on clique sur le bouton Ajouter un dossier. Nous vous recommandons d’utiliser le répertoire docker (par défaut) et de créer sous dossier pour chaque conteneur. Là, on clique sur le bouton créer et va donner le nom AdGuard par exemple. Dans ce dossier, on va créer un sous-dossier config et un second data.

volume docker adguard - AdGuard Home sur un NAS Synology (avec Docker)

Si l’interface vous semble trop restrictive, passez par File Station 😉 Nous sélectionnons le dossier config et on ajoute en face /opt/adguardhome/conf qui correspond au chemin d’accès dans le conteneur. On refait la même chose pour data et on ajoute en face /opt/adguardhome/work/data

On se déplace dans l’onglet Réseau et on coche la case Utiliser le même réseau que Docker Host.

docker adguard reseau synology - AdGuard Home sur un NAS Synology (avec Docker)

Appuyez sur le bouton Appliquer. Maintenant, vous devriez être revenu sur l’écran précédent et on appuie sur le bouton Suivant et enfin le bouton Effectué.

fin docker adguard - AdGuard Home sur un NAS Synology (avec Docker)

Réglages d’AdGuard Home

Déplacez vous dans le menu de gauche Conteneur. Vous devriez retrouver votre conteneur avec le nom que vous lui avez spécifié.

conteneur AdGuard OK Docker - AdGuard Home sur un NAS Synology (avec Docker)

Ouvrez un nouvel onglet dans votre navigateur et tapez le nom de votre NAS (ou l’adresse IP) suivi du port 3000. Exemple : MonNAS:3000 ou 192.168.1.100:3000. Vous devriez obtenir cet écran.

bienvenue AdGuard Home synology - AdGuard Home sur un NAS Synology (avec Docker)

Cliquez sur le bouton C’est parti. Dans le second écran, faites attention à bien choisir le port de mon NAS et son adresse IP. Mettez par exemple le port 3001 par défaut. En effet, le port 80 est déjà réservé par le NAS, il ne sera pas possible de l’utiliser ici directement. On clique sur Suivant.

parametres adguard synology - AdGuard Home sur un NAS Synology (avec Docker)

Ensuite, on va créer un utilisateur de connexion avec son mot de passe… Après, on appuie sur le bouton Suivant.

identifiant connexion adguard home - AdGuard Home sur un NAS Synology (avec Docker)

Enfin, vous avez une page d’information pour régler vos appareils (routeur, windows, macOS, android…). Appuyez sur le bouton Suivant, cette page se retrouve dans les menus par la suite.

liste adguard - AdGuard Home sur un NAS Synology (avec Docker)

Il ne reste plus qu’à cliquer sur le bouton Ouvrir le Tableau de bord. Après vous êtes authentifié, allez directement sur Filtres > Liste de blocages DNS. Une seule liste, la première est cochée… C’est dommage, cochez les 2 autres 😉 Voila, AdGuard Home fonctionne maintenant !

Optimisations

Allez dans le menu Paramètres > Paramètres DNS... Vous constaterez que le premier serveur DNS Upstream est celui de Quad9. AdGuard Home est un proxy DNS qui envoie les requêtes DNS aux serveurs upstream. Vous pouvez spécifier différents serveurs, ou un seul, qui seront utilisés pour résoudre les domaines. Vous pouvez le changer ici et ajouter celui de votre choix (OpenNIC, OpenDNS ou CloudFlare). C’est la même chose pour la section Serveurs DNS d’amorçage. Sachez que ceux par défaut peuvent très bien vous convenir. Il n’est pas obligatoire de faire des changements. Aujourd’hui, les DNS CloudFlare sont relativement efficaces :

  • Ajouter https://dns.cloudflare.com/dns-query dans la section Serveurs DNS upstream
  • Ajouter en première position 1.1.1.1 est recommandée pour Serveurs DNS d’amorçage.

Vous trouverez d’autres DNS à cette adresse 😉

Pour optimiser votre conteneur (vitesse et espace de stockage), nous vous recommandons de décocher la case Activer le journal et/ou de réduire la Rétention du journal de requête à 24h (Menu Paramètres > Paramètres généraux). Sincèrement, cela n’apporte rien de vraiment d’intéressant et cela ne surcharge rien votre conteneur.

optimisation docker synology adguard - AdGuard Home sur un NAS Synology (avec Docker)

Une fois ces réglages terminés, il est possible de limiter les ressources de notre conteneur Docker. Pour cela, arrêter votre conteneur AdGuard (bouton Toggle sur la ligne à droite), cliquez sur le bouton Modifier. Sur cet écran, cochez la case Activer la limitation de ressources puis pour la Priorité des processeurs choisissez Bas. Enfin, vous pouvez choisir une Limite de mémoire… par exemple à 64 Mo (ou moins). AdGuard Home ne consomme que très peu de ressource et il est optimisé pour fonctionner sur des petites configurations. Autonome, il se fait rapidement oublier.

Réglage de votre Freebox / Livebox / Bbox…

Nous allons maintenant paramétrer la box opérateur afin d’utiliser AdGuard pour bloquer la publicité sur tous vos appareils de votre domicile/entreprise. Pour cela, il faut vous connecter à l’interface d’administration de votre box :

Changez l’adresse du DNS primaire par celui de votre NAS. On laissera le DNS secondaire, car celui-ci prendra le relais (et évitera de ne plus avoir d’accès) si votre conteneur ou NAS ne fonctionne plus. C’est juste une mesure de sécurité. Pour que le changement soit pris en compte sur votre appareil, désactivez et réactivez le Wi-Fi (smartphone/tablette). Pour les appareils connectés par câble, nous vous recommandons de les redémarrer 😉

Ceux disposant d’une box SFR (Red) ou certaines Orange (Sosh), il semblerait que votre opérateur ne vous laisse pas la liberté de choisir vos DNS. Il faudra faire la modification sur chaque appareil. Pour cela, nous vous renvoyons vers ces tutos :

Conclusion

AdGuard Home protège désormais tous les appareils de la maison ou du bureau. Vous pouvez désormais retirer votre bloqueur de publicité dans vos navigateurs… et naviguer en tout sécurité. Bien sûr, vous pouvez le garder pour encore plus de protection. L’objectif est rempli : installer AdGuard Home sur un NAS Synology. L’outil consomme peu de ressources (processeur, mémoire et disque) et il est facile à maintenir. AdGuard Home est très puissant et les possibilités sont nombreuses…

  1. Bonjour,
    AdGuard Home ne fonctionne plus correctement sur mon DS920+ depuis la dernière version DSM. Le problème est lié avec l’utilisation de passerelles multiple.
    J’ai donc supprimé AdGuard Home.
    Je suis passé à NextDSN, solution sans installation qui se met en place très simplement, qui fonctionne partout et pas uniquement sur le réseau local du NAS.

    1. Bonjour Michel et merci du partage.
      C’est étrange ton souci, je ne l’ai pas rencontré avec DSM 7.0. Pour les passerelles multiples (VPN par exemple), il existe un réglage 😉

      NextDNS n’est pas gratuit ou avec seulement 300 000 requêtes/mois. Chez moi, 2 adultes / 2 ados, nous avons environ 48 000 requêtes/jours soit 1 440 000 requêtes/mois (sur 30 jours).

      Est-ce que NextDNS propose le contrôle parental ? Peux-tu bloquer certaines requêtes de ton choix (exemple un domaine/IP) suivant par appareil/profil ? Propose-t-il la réécriture DNS très utile avec nos NAS ?
      AdGuard Home apporte aussi un cache au réseau (requête < 1ms) et donc accélère la navigation.

      1. Bonjour Fx,
        Je suis en train de regarder ce que je peux faire justement entre le reverse proxy du synology, et la ré-écriture DNS dans AdGuard Home.
        J’ai l’impression qu’en cumulant les 2, on peut obtenir une configuration très « confortable », apr exemple avec des sous-domaines plutôt que des IP, que l’on lance la requête depuis le réseau local ou l’extérieur.

        Par exemple :
        A- le service drive.domaine.com est exposé à l’extérieur -> j’utilise le reverse proxy de DSM pour faire pointer ce sous-domaine sur le service Synology Drive du NAS.
        B- le service portainer.domaine.com est par sécurité uniquement accessible depuis le réseau interne -> je ne crée pas de reverse proxy dans DSM, mais je crée une règle de ré-écriture DNS dasn Adguard Home pour que portainer.domaine.com renvoie vers 192.168.0.20:XXX (ou XXX est le port du container docker portainer sur le NAS).

        Est-ce que ça fonctionnerait selon vous ? Si oui, un guide là-dessus intéresserait beacoup de monde.
        On pourrait alors protéger un ensemble de services en les rendant accessible que en local, mais en profitant quand même du confort d’une url plutôt que d’une adresse ip avec un port.

  2. Bonjour,

    Une petite remarque : le « fonctionne seulement sur certaines Livebox » est ambiguë, et peut laisser penser que c’est l’IP d’accès à l’interface d’admin qui est variable selon les modèles de Livebox.

    Peut être serait-il utile de remplacer le propos par quelque chose comme « seuls certains modèles de Livebox permettent de changer les DNS primaires et secondaires, la majorité des Livebox ne permettent pas ce changement » ?

    Quoi qu’il en soit, merci pour cet article 🙂

    1. Adguard Home ne peut pas s’installer sur un RT2600ac. Il faut installer dans un conteneur Docker. Il faut un NAS (modèle + chez Syno) ou un ordinateur.
      Par contre on peut très bien changer les DNS dans le routeur pour utiliser AdGuard Home. C’est ce que je fais.
      Par contre j’ai installé AdGuard Home avec Portainer (ou avec docker-compose) en macvlan pour que le NAS et les autres services puissent aussi utiliser AdGuard. Mais ça c’est un peu plus complexe à faire.

        1. C’est ce que j’ai à la maison mais j’aurais voulu supprimer le Raspberry et n’utiliser que le RT2600AC qui est actif 24h/24 365 jours par année.

  3. Mon seul souci c’est si adguard est down, je n’ai plus d’internet. Pourtant j’ai un DNS secondaire mais il semble que mon routeur ne s’y intéresse pas 🙁

  4. Le soucis que je rencontre avec AdGuard Home est que toutes les requêtes dans la liste « Meilleurs clients » par exemple sont vues comme venant du router et non de chaque client individuellement 🙁
    Quelqu’un aurait une solution pour ça ?

    1. Je me réponds à moi-même, ayant trouvé la solution : Dans mon router Asus, il faut certes ajouter l’adresse IP du NAS dans la zone DNS de la connexion internet mais, il faut également l’ajouter dans une zone DNS identique dans la section du serveur DHCP cette fois.

      Une fois cela fait, tous les clients du réseau sont correctement identifiés sur le serveur AdGuard.

      1. Bonjour,
        Je constate la même chose sur un réseau UniFi : l’unique meilleur client que je vois solliciter AdGuard est mon USg => une idée pour arriver à une meilleure identification des clients sollicitant ce bloqueur de pub ?
        Encore merci à tous,
        RD

        1. Je me réponds :
          Réglages > Réseaux > LAN > Serveur de Nom DHCP > cocher Manuel > saisir l’adresse IP du serveur AgGuard
          par ailleurs, pour chacun des 2 WAN installés :
          Serveur DNS > saisir l’adresse IP du serveur AgGuard

    1. Probablement que tu utilise le serveur DHCP sur le NAS ? ou DNS server ?

      La solution est de faire un reseau macvlan pour AdGuard

      1. C’est OK je suis passé par macvlan
        sudo docker network create -d macvlan -o parent=eth0 –subnet=192.168.5.0/24 –ip-range=192.168.5.100/32 –gateway=192.168.5.1 adguard_network
        + un brigde sur network docker

        j’avais un conflit aussi (en plus du serveur DNS et Synology directory server) avec « open vswitch » utilisé pour Virtual Machine manager

        Tout fonctionne bien.

    2. Je me réponds :
      Réglages > Réseaux > LAN > Serveur de Nom DHCP > Manuel > saisir l’adresse IP du serveur AgGuard
      par ailleurs, pour chacun des 2 WAN installés :
      Serveur DNS > saisir l’adresse IP du serveur AgGuard

      1. Salut,
        Si tu utilise un port autre que le 53, alors cela ne marchera pas pour les requetes DNS, car les périphériques font toujours leurs demandes sur le port 53 par defaut

  5. Bonjour,
    Comment l’ajouter a mon routeur RT2600AC ?
    C’est dans centre de réseau? Un petit tuto vite fait pour ne pas faire n’importe quoi svp?
    Merci les amis 🙂

    1. Si tu lis bien tous les commentaires, quelqu’un a déjà répondu qee ce n’était pas possible!

  6. J’ai réussi à installer tout ça sur mon DS713+, j’ai renseigné l’ip du nas en DNS primaire de ma bbox ultym (google en secondaire), mais j’ai l’impression que la box se fiche du nas et n’envoie quasiment rien à adguard …
    Tout fonctionne si, par ex, je force l’ip du syno en dns sur chaque poste en config manuelle(mac mini, tel android, etc)
    Problème spécifique aux bbox, ou j’ai raté quelque chose ?

  7. Le DNS secondaire ne vient pas si il y a défaut du DNS primaire, du trafic passe toujours dedans.
    Pour être sûr que tout passe via AdGuard, il ne faut pas de DNS secondaire.

  8. Mais en gros si j’utilise mon NAS comme serveur DNS du domaine je ne peux pas utiliser ADGuard sur le même serveur. Dommage

  9. hello je l’ai installé et ça a l’air de plutôt bien fonctionner. quelqu’un a une idée de pourquoi je continue quand même a voir les pub quand j’utilise l’appli météo France sur mon mobile Android?

  10. C’est effectivement un super produit, j’ai remplacé mon fidele pihole en VM par cet adguard sur un docker depuis un bon moment et je vous confirme que ce produit est tres efficace et tres fiable, je gere en plus le control parental plus implement que pihole.
    Par contre effectivement la MAJ est moins simple que pihole; il faut faire un export de la conf via les paraetres du docker, retelecharger vie le repository la derniere version puis l’installer en important les parametre sauvegardés au préalable (je vous dis cela de memoire car je ne l’ai pas devant les yeux et je ne le fais pas souvent).
    J’aimerais juste qu’il fasse en plus la resolution de mes adresses locales, je pense qu’il faut que je fouille un peu plus. Ca m’eviterait de devoir gérer le nom de mes machines en double dans mon ubiquiti et dans adguard.

    1. Tu ne peux pas passer la mise à jour intégrée au système Adguard ? Sur mon Pi, j’ai juste à cliquer et ça fait la mise à jour

  11. Pas de possibilité de changer le DNS sur Livebox 4. Tu y fais référence pas mais il n’y a aucun champs sur l’interface. Y a t il une astuce? car je voudrais que tous les clients DHCP en beneficient de AdGuard.

    Merci

  12. Non sur les livebox c’est verouillé sauf il me semble sur les versons pros.
    Chez moi (pas en livebox mais c’est pareil), j’ai désactivé le dhcp que je fais tourner ailleurs (sur ton nas par exemple), ca permet de mettre ce que tu veux comme DNS sinon faut se frapper toutes les machines à la main pour mettre le DNS mais je déconseille cela car tu en oublieras forcement et à chaque modification il faut repasser partout d’autant plus que cela n’est pas toujorus simple avec les objets connectés.

    1. Merci Thomas, je vais modifier ma config DHCP.

      Par contre, cette version ne bloque pas les pub sur youtube. Une idée?

  13. Hello tout le monde,

    Moi aussi je suis utilisateur d’Adguard Home depuis un petit moment (et avant j’étais sur Pi-Hole).

    Pour le moment, j’ai Rapsberry Pi qui me sert pour Adguard mais j’étudie la solution Docker sur mon DS918+ (surtout pour l’aspect monitoring via Docker, car pas de monitoring sur le Pi et la rationalisation du matériel).

    Seulement voilà, je me demande si c’est vraiment judicieux de mettre ce DNS sur un NAS, étant donné qu’il va fonctionner tout le temps et ainsi empêcher le NAS de se « reposer ».

    Qu’en pensez-vous ? Cela ne risque-t’il pas de nuire à la durée de vie des disques ?

    Merci d’avance.

  14. Bonjour,
    Merci pour ce tutoriel, une utilisation interessante de Docker sur NAS Synology 🙂

    Après avoir tout installé j’ai un léger problème: les pubs continuent à s’afficher alors qu’il y a beaucoup de choses qui s’affichent comme bloqué dans le journal des requetes d’ADGuard Home…mes règles de filtrage sont pourtant assez violentes (350 000 règles en tout)

    Comment une pub peut-elle apparaitre comme filtrée côté journal des requetes alors qu’elle s’affiche sur le PC ?

    J’ai du louper un truc c’est pas possible !!!

  15. Bonjour,
    Perso, je bloque dès une des 1ères étapes :
    Nous sélectionnons le dossier config et on ajoute en face /opt/adguardhome/conf qui correspond au chemin d’accès dans le conteneur. On refait la même chose pour data et on ajoute en face /opt/adguardhome/work/data
    ce que je commence à faire, mais je ne peux aller à l’étape suivante car le champ  »Chemin d’accès » passe en rouge en me disant que la valeur est incorrecte…
    Une idée ?
    Merci,
    Rd

      1. Bonjour Seb,
        J’ai bien créé chacun de ces 2 répertoires, mais c’est le remplissage du champ qui bloque : est-ce le chemin indiqué dans le tuto dépend de chaque machine ?
        RD

  16. reBonjour,
    Finalement, en retentant de saisir /opt/adguardhome/work/data ainsi que /opt/adguardhome/conf en enlevant le 1er « / », c’est passé 😉
    Pas trop compris…

  17. par contre, nouvelle (petite) impasse : Pour optimiser votre conteneur (vitesse et espace de stockage), nous vous recommandons de décocher la case Activer le journal et/ou de réduire la Rétention du journal de requête à 24h (Menu Paramètres > Paramètres généraux).
    Je n’ai pas trouvé où se trouve ce paramètre ; promis, je suis à jeun ^^

  18. Hey merci pour l’article passionnant!.. ça donne l’eau à la bouche !
    kindly reminder.. ce serait cool de disposer d’une version pour des NAS plus anciens (c’est mon cas)

    A++ et bonnes fêtes de Pâques !

  19. Impeccable comme tuto.
    j’ai fait l’installation en macvlan+gateway et j’utilise 2 dockers (stable et beta).
    De cette façon j’ai ma redondance de DNS même s’ils sont sur un seul NAS pour le moment.
    Comme j’ai une livebox, j’ai réduit son DHCP à 2 IPs pour pouvoir utiliser mon décodeur TV, et le DHCP est maintenant aussi sur le NAS.
    Par contre, j’ai constaté que mes PC en windows 10 récupéraient un DNS en IPv6 (apriori celui de la livebox) lorsque le stack IPv6 était activé, ce qui bypassait le filtrage de ADguard.
    En désactivant le stack IPv6, plus de probleme, le filtrage fonctionne au top 😉

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.