Einsteinium Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 Préambule Bonjour à tous, Nous allons voir aujourd’hui l’installation d’un serveur AdGuard en docker version express et sa configuration de base avec sous domaine. Qui dit sous domaine… dit certificat ! Donc je vous invite à suivre ce tutoriel, car je partirai du principe où vous l’avez suivi : I - Préparation de l'installation A ) On commence par l’augmentation d’une limite du serveur « UDP Receive Buffer Size », faire une tâche qui s'exécutera au démarrage : Panneau de configuration / Planificateurs de tâches / Créer / Tâche déclenchée / Script défini par l'utilisateur Avec pour utilisateur "root", en évènement "Démarrage", que l’on désactive et dans le script on inscrit : echo net.core.rmem_max=2500000 >> /etc/sysctl.conf sysctl -p Exécutez manuellement la tâche pour appliquer la modification, cette modification est permanente, mais gardez la tâche de côté au cas où un update ferait sauter cette dernière. B ) On commence par la création d'un dossier "AdGuard" dans le dossier "docker" C ) Création de 2 sous dossiers que vous créez dans le dossier "AdGuard" : "confdir" et "workdir" II - Création du docker A ) Le script du docker La création d'un fichier "dockeradguard.sh" dans le dossier "AdGuard" contenant les lignes suivantes : #!/bin/sh docker pull adguard/adguardhome:latest docker stop AdGuard docker rm AdGuard docker image prune -f docker volume ls -qf dangling=true | xargs -r docker volume rm docker run -d \ --cpu-shares=10 \ --memory=1G \ --memory-swap=1G \ --name=AdGuard \ -v /volume1/docker/AdGuard/workdir:/opt/adguardhome/work:rw \ -v /volume1/docker/AdGuard/confdir:/opt/adguardhome/conf:rw \ -v /volume1/docker/Acme/domain.tld:/opt/adguardhome/cert:ro \ -p 53:53/tcp -p 53:53/udp \ -p 3000:3000/tcp \ --restart always \ adguard/adguardhome:latest exit 0 B ) Les variables à personnaliser 1 ) La mémoire --memory=1G \ --memory-swap=1G \ Ici le réglage est pour 1Go, alors je débute dans AdGuard, je sais que les updates de liste mangent de la mémoire donc j’ai prévu très large, néanmoins vous pouvez réduire ces valeurs, jamais vu le docker au dessus de 100Mo, il faudra mettre alors pour : 128Mo : 128M 256Mo : 256M La variable memory-swap = memory, empêche le docker de déborder dans le swap une fois la limite de mémoire max atteinte. 2 ) Les certificats Si vous avez suivi le tutoriel mis en préambule alors ici il ne reste qu'à personnaliser cette ligne en remplaçant « domain.tld » : -v /volume1/docker/Acme/domain.tld:/opt/adguardhome/cert:ro \ 3 ) Le port Une fois la configuration de base faite en seconde partie, vous pourrez supprimer ce port qui deviendra inutile du script : -p 3000:3000/tcp \ C ) Création et update journalier Nous créons une tâche qui exécutera notre fichier tous les jours à 5h30 : Panneau de configuration / Planificateurs de tâches / Créer / Tâche planifiée / Script défini par l'utilisateur Avec pour utilisateur "root" et dans le script le chemin de notre fichier "/volume1/docker/AdGuard/dockeradguard.sh" Exécutez manuellement la tâche pour la création initiale. Voilà c'est terminé, on ouvre temporairement dans le pare-feu du nas le port 3000, en seconde partie je donne les configurations. Adresse du serveur : http://ipdunas:3000 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 27 février 2022 Auteur Partager Posté(e) le 27 février 2022 Je vous donne ma configuration, le serveur adguard fera ses requêtes en DoH. A vous ensuite de personnaliser à votre sauce, cela n'est vraiment que pour vous donner une base de départ et vous invite à en débattre le cas échéant si votre avis diverge ou si vous voulez rajouter votre touche. Premier lancement Adresse du serveur : http://ipdunas:3000 Etape 1/5 : On clique sur "C'est parti" Etape 2/5 : Interface web administrateur, on modifie le port 80 par 3000, puis on valide par "Suivant" Etape 3/5 : Ici pas besoin de détail 🙂 Etape 4/5 : On clique sur "Suivant" Etape 5/5 : On valide avec "Ouvrir le Tableau de bord" Création du sous domaine pour AdGuard : Pour DSM 7, n'ayant plus vue sur DSM 6 Dans Panneau de configuration / Sécurité / Avancé / Niveau de profil TLS / SSL : Compatibilité intermédiaire Dans : Panneau de configuration / Portail de connexion / Avancé A ) Création d'un profil d'accès afin que AdGuard ne soit pas accessible à distance On Clique sur le bouton "Profil de contrôle d'accès" puis "Créer". Nom du profil : Lan On clique ensuite deux fois sur "Créer" et on met : Sur la première ligne en IP source : 192.168.0.0/24 ou 192.168.1.0/24 en fonction de votre réseau puis on laisse "Autoriser" Sur la seconde ligne on n'inscrit rien en IP source et on choisit "Refuser" Maintenant on peut sauvegarder. B ) Création du sous domaine On clique sur le bouton "Proxy inversé" puis "Créer". Dans Général : Nom du proxy inversé : AdGuard Source : - Protocole : HTTPS - Nom d'hôte : adguard.ndd.fr - port : 443 Activer HSTS ☑️ Profil de contrôle d’accès : Lan (du point précédent) Destination : - Protocole : HTTPS - Nom d'hôte : localhost - Port : 3001 Dans En-tête personnalisée : On fait "Créer" puis "WebSocket" Dans Paramètres avancés : Les 3 délais à 60 Version HTTP du proxy : HTTP 1.1 Utiliser la page d'erreur renvoyée par le serveur cible La configuration AdGuard Si je ne précise pas un point particulier, alors c'est que le champs est par défaut. Dans Paramètres / Paramètres généraux : On va réduire l'intervalle de mise à jour des filtres à 12 heures, un juste milieu, la valeur suivante étant une heure... cela est un peu disproportionné. Les 3 cases suivantes sont cochées chez moi, là c'est à vous de voir, perso je vous le recommande surtout si vous avez des enfants. Configuration du journal : On coche Anonymiser l'IP du client et on réduit la rétention du journal des requêtes à 30 jours pour réduire la lourdeur des logs. Dans Paramètres / Paramètres DNS : Serveurs DNS upstream : https://family.cloudflare-dns.com/dns-query Alors ici j'ai mis les adresse dns doh de cloudflare en mode "family" qui bloque les logiciels malveillants et le contenu réservé aux adultes. Serveurs DNS d'amorçage : 1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003 Qui correspondent au serveur mis précédemment. Configuration du serveur DNS : Limite de taux : 0 Activer DNSSEC ☑️ Mode du blocage : IP nulle Configuration du cache DNS : Remplacer le TTL minimum : 300 Remplacer le TTL maximum : 86400 Caching optimiste ☑️ Dans Paramètres / Paramètres de chiffrement : Activer le Chiffrement (HTTPS,......) : ☑️ Nom du serveur : adguard.ndd.fr Port HTTPS : 3001 Emplacement du certificat : /opt/adguardhome/cert/fullchain.cer Emplacement de la clef privée : /opt/adguardhome/cert/domain.tld.key (modifier domain.tld) Dans Filtres / Listes de blocage DNS : 1) On Active "AdAway Default Blocklist" 2) On clique sur "Ajouter liste de blocage" puis "Choisissez dans la liste" Dans "Choisir des listes de blocage", on coche tout sauf les "Régional" 3) On clique sur "Ajouter liste de blocage" puis "Ajouter une liste personnalisée", on le fera à 4 reprises pour les listes suivantes : Mobile ads filter / https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_11_Mobile/filter.txt Social media filter / https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_4_Social/filter.txt URL Tracking filter / https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_17_TrackParam/filter.txt Tracking Protection filter / https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_3_Spyware/filter.txt C'est terminé pour les réglages, on peut donc faire le point II - B ) 3 ) du tutoriel et supprimer le port 3000 du pare feu du nas, on ouvrira le port 53 en TCP & UDP dans le pare-feu du nas vers l'ip du routeur, vous accédez désormais à la configuration de adguard via son sous domaine et il ne vous reste plus qu'à indiquer dans votre routeur en serveur l'ip de votre nas 🙂 Pour testé la bonne activation du DoH : https://1.1.1.1/help 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 (modifié) Pourquoi https://localhost:3001 pour le proxy inversé. Le port 3001 n'est mentionné nulle part ailleurs, tu voulais pas dire 3000 ? Et pourquoi https ? Adguard s'expose par défaut sur un port sécurisé ? Autre chose, pour l'écriture en octet pour la mémoire dans docker cli, tu peux utiliser le "M" pour mega. Donc 128Mo -> 128M. Merci pour le tuto sinon, je testerai un jour pour comparer avec Pihole. Modifié le 27 février 2022 par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 27 février 2022 Auteur Partager Posté(e) le 27 février 2022 il y a 25 minutes, .Shad. a dit : Pourquoi https://localhost:3001 pour le proxy inversé. 3000 http, 3001 https avec AdGuard, le port est visible dans la configuration que je donne, je l’ai donc mis dans le reverse, par habitude avec Plex, ou cela cause des problèmes, bref vieille habitude. Après à la base je fessais du DoT de bout en bout lors de mes test, donc c’était nécessaire, avant de me ravisé et de ne faire que du dns simple entre le docker et le routeur avec du DoH entre AdGuard et le Wan. il y a 36 minutes, .Shad. a dit : Autre chose, pour l'écriture en octet pour la mémoire dans docker cli, tu peux utiliser le "M" pour mega. Donc 128Mo -> 128M. Effectivement pour la mémoire, la encore une vieille habitude, j’éditerais le tutoriel, car effectivement plus simple pour les novices. il y a 37 minutes, .Shad. a dit : Merci pour le tuto sinon, je testerai un jour pour comparer avec Pihole. A la base j’ai été séduit par le fait de ne pas avoir besoin de super droit et le fait de pouvoir faire du doh/dot principalement et d’autres options bien sympathiques directement aussi (recherche sécurisé et cie…), voilà une comparaison sommaire : https://github.com/AdguardTeam/AdGuardHome#comparison-pi-hole Apres niveau interface, rapidité et fluidité… Que du bon. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 (modifié) Hello 🙂 @Einsteinium Ton tuto m'intéresse pour certains réglages au niveau du DoT/DoH. J'ai actuellement une installation fonctionnelle de Adguard-Home en macvlan, mais sans utiliser de nom de domaine ni de https pour ADGH. J'ai ça comme réglages dans l'onglet DNS : (clic pour zoomer) Lien vers l'image : https://i.imgur.com/3JgyTrQ.png Mais du coup, je ne sais pas si les requêtes DNS partent bien en DoH... Faut que je tente avec tes réglages pour voir ^^ et donc que je monte le certificat ACME. Mais du coup, question, pourquoi tu fais créer le conteneur avec un script que tu lances tous les jours ? C'est pour en faire une MAJ tous les jours s'il y en a une de dispo ? Perso, je passe par Portainer pour créer mes conteneurs, et j'utilise watchtower pour faire les MAJ. Modifié le 27 février 2022 par MilesTEG1 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 27 février 2022 Auteur Partager Posté(e) le 27 février 2022 Il y a 1 heure, MilesTEG1 a dit : Mais du coup, je ne sais pas si les requêtes DNS partent bien en DoH... https://1.1.1.1/help Il y a 1 heure, MilesTEG1 a dit : Mais du coup, question, pourquoi tu fais créer le conteneur avec un script que tu lances tous les jours ? C'est pour en faire une MAJ tous les jours s'il y en a une de dispo ? Perso, je passe par Portainer pour créer mes conteneurs, et j'utilise watchtower pour faire les MAJ. Exactement, perso je n'utilise aucun docker avec de super droit et au final cela revient au même, alors oui la c'est chaque jour, mais cela reload chaque jour les dock. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 Il y a 2 heures, Einsteinium a dit : https://1.1.1.1/help Oh ! Top, merci 🙂 Vu ce qui va suivre, je pense que c'est tout bon pour le DoH 😄 Mais pas pour le DoT. Y a moyen d'avoir ça aussi ? Ou bien c'est l'un ou l'autre ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 C'est l'un ou l'autre. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 27 février 2022 Partager Posté(e) le 27 février 2022 il y a 26 minutes, .Shad. a dit : C'est l'un ou l'autre. Ok, c'est ce que je me disais en voyant les réglages dans les navigateurs 🙂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 28 février 2022 Partager Posté(e) le 28 février 2022 Du coup, je reste sur ma manière d'installer/configurer mes conteneurs ^^ Par contre, est-ce d'une utilité particulière que je fasse la manip du certificat et du nom de domaine pour adguard ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Shiraz Adama Posté(e) le 26 février 2023 Partager Posté(e) le 26 février 2023 Bonjour, Merci pour ce tuto. Par contre lors du déploiement du conteneur via le script, j'ai une erreur qui empêche de le lancer. docker: Error response from daemon: driver failed programming external connectivity on endpoint AdGuard (18336e8478e7a6f213d1a19cea600cf61131df2fb8a1f5855bf3551d2d9d3006): Error starting userland proxy: listen tcp4 0.0.0.0:53: listen: address already in use. Ce que je comprends, un autre programme écoute déjà le port 53, comment identifier ce programme ? Alors j'ai mal interpréter l'erreur. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.