Fenrir Posté(e) le 27 août 2017 Auteur Posté(e) le 27 août 2017 Essaye ça (sans rien changer) : curl -q -s https://tmpfiles.fenrir.fr/www.nas-forum.com/forum/topic/55709-tuto-filtrage-dns/test.sh | sh && ps aux | grep dnsmasq | grep 53 && nslookup jcount.com 127.0.0.1 0 Citer
HornyPoney Posté(e) le 27 août 2017 Posté(e) le 27 août 2017 nobody 2531 0.0 0.0 9532 3704 ? S 17:46 0:00 /bin/dnsmasq --listen-address=127.0.0.53 --port=53 --bind-interfaces --conf-file=/tmp/dnsmasq.conf --conf-dir=/tmp/dnsmasq.d root 2533 0.0 0.0 23116 972 pts/9 S+ 17:46 0:00 grep --color=auto dnsmasq Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: jcount.com Address: 184.154.246.140 0 Citer
Fenrir Posté(e) le 27 août 2017 Auteur Posté(e) le 27 août 2017 Et celle là (c'est le même script, j'ai juste changé le nslookup) : curl -q -s https://tmpfiles.fenrir.fr/www.nas-forum.com/forum/topic/55709-tuto-filtrage-dns/test.sh | sh && ps aux | grep dnsmasq | grep 53 && nslookup jcount.com 127.0.0.53 0 Citer
HornyPoney Posté(e) le 27 août 2017 Posté(e) le 27 août 2017 nobody 4212 0.0 0.0 9532 3700 ? S 17:52 0:00 /bin/dnsmasq --listen-address=127.0.0.53 --port=53 --bind-interfaces --conf-file=/tmp/dnsmasq.conf --conf-dir=/tmp/dnsmasq.d Server: 127.0.0.53 Address: 127.0.0.53#53 Name: jcount.com Address: 0.0.0.0 0 Citer
Fenrir Posté(e) le 27 août 2017 Auteur Posté(e) le 27 août 2017 Donc le script fonctionne bien sur ton nas, mais c'est la partie DNS Serveur qui ne fonctionne pas, ou n'a pas été configurée Le 09/03/2017 à 23:43, Fenrir a dit : Sauf qu'il faut aller le faire directement dans le fichier de configuration : /volume1/@appstore/DNSServer/etc/synodns.conf forwarders=127.0.0.53;80.67.169.40 Enfin on relance le paquet DNSServer : synoservice --restart pkgctl-DNSServer 0 Citer
HornyPoney Posté(e) le 27 août 2017 Posté(e) le 27 août 2017 Je l'avais fait, voici le fichier de conf : [resolve] forwarders="127.0.0.53;169.239.202.202" allow_ip="" allow_subnet="" allow-recursion="" forward_enable="yes" forward="first;" limit_enable="no" resolve_enable="yes" need_initial="no" [advanced] log_space="50" max-cache-size="50" max-cache-ttl="86400" recursive-clients="1000" tcp-clients="100" [log] default="1" queries="1" xfer-out="1" xfer-in="1" severity="Notice" security="1" general="1" resolver="1" Une seule chose, je n'ai pas coché "Limiter le service IP source" comme sur ton script, ne sachant pas si c'était nécessaire. 0 Citer
Fenrir Posté(e) le 27 août 2017 Auteur Posté(e) le 27 août 2017 Et tu as bien relancé le serveur dns du syno après la modif ? il y a 1 minute, HornyPoney a dit : Une seule chose, je n'ai pas coché "Limiter le service IP source" comme sur ton script, ne sachant pas si c'était nécessaire. Pas de lien avec le problème, mais quand on ne sait pas, il faut mieux demander ou faire confiance. Dans le cas présent, c'est expliqué dans le tuto DNS Server. 0 Citer
HornyPoney Posté(e) le 27 août 2017 Posté(e) le 27 août 2017 Oui oui, j'ai bien lancé synoservice --restart pkgctl-DNSServer. Laisse tomber pour l'instant, je t'ai déjà trop embêté avec ça, on ne va pas y passer le dimanche :) Merci quand même :) 0 Citer
PiwiLAbruti Posté(e) le 19 septembre 2017 Posté(e) le 19 septembre 2017 J'ai pimpé un peu le script initial pour gérer d'autres sources, ça fonctionne impeccable. Il y a actuellement 13942 noms bloqués, ça ne consomme que très peu de RAM (2,8Mo) et c'est toujours aussi réactif (malgré la brouette de DS213j sur lequel ça tourne). 0 Citer
Fenrir Posté(e) le 19 septembre 2017 Auteur Posté(e) le 19 septembre 2017 @PiwiLAbruti : j'avais modifié le script il y a quelques temps pour fusionner plusieurs sources, ça n'allait pas ? 0 Citer
PiwiLAbruti Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 (modifié) @Fenrir : J'ai utilisé d'autres sources qui nécessitent des expressions régulières spécifiques. Ça fonctionne très bien pour le moment, mais je vais fractionner ce script et mieux traiter le PID pour ne pas entrer en conflit avec d'autres instances de dnsmasq. Je ne sais pas si c'est dans les bonnes pratiques, mais en tout cas c'est Synology-bullshit-update-proof : dnsmasqBin=`which dnsmasq` # /volume1/@appstore/DNSServer/etc/synodns.conf -> forwarders=127.0.0.53 # synoservice --restart pkgctl-DNSServer dnsmasqBin=`which dnsmasq` dnsmasqConfDir='/usr/local/etc/dnsmasq.d' dnsmasqConfFile="$dnsmasqConfDir/dnsmasq.filter.conf" dnsmasqAdFile="$dnsmasqConfDir/dnsmasq.adlist.conf" dnsmasqAdFileTemp='/tmp/dnsmasq.adlist.conf.tmp' dnsmasqListen=127.0.0.53 dnsmasqPort=53 server1='80.67.169.12' # ns0.fdn.org server2='80.67.169.40' # ns1.fdn.org curlBin=`which curl` substitutionIp='0.0.0.0' adListUrl=( "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext" #"http://winhelp2002.mvps.org/hosts.txt" "https://easylist.to/easylist/easylist.txt" "https://easylist.to/easylist/easyprivacy.txt" "https://easylist.to/easylist/fanboy-annoyance.txt" "https://easylist.to/easylist/fanboy-social.txt" ) mkdir -p $dnsmasqConfDir cat <<EOT > $dnsmasqConfFile cache-size=5000 server=$server1 server=$server2 neg-ttl=300 no-resolv #clear-on-reload EOT #> $dnsmasqAdFileTemp # Empty file if exists for url in "${adListUrl[@]}"; do host=`echo $url | sed -n "s/^https\?:\/\/\([^/]\+\).*$/\1/p"` case $host in pgl.yoyo.org) $curlBin -s $url | sed "s/127\.0\.0\.1/$substitutionIp/" >> $dnsmasqAdFileTemp ;; easylist.to) $curlBin -s $url | grep -E '^\|\|[^^/]+\^\$third\-party$' | sed -n "s/^||\([^^/]\+\).*$/address=\/\1\/$substitutionIp/p" >> $dnsmasqAdFileTemp ;; #winhelp2002.mvps.org) # # ;; *) echo "Processing for $host list is not implemented" ;; esac done sort -u -o $dnsmasqAdFileTemp $dnsmasqAdFileTemp if [ -f "$dnsmasqAdFileTemp" ] then sudo mv $dnsmasqAdFileTemp $dnsmasqAdFile else exit 1 fi pid=`/bin/pidof dnsmasq` if [ "$pid" != '' ] then /bin/kill $pid fi $dnsmasqBin --listen-address=$dnsmasqListen --port=$dnsmasqPort --bind-interfaces --conf-file=$dnsmasqConfFile --conf-dir=$dnsmasqConfDir exit 0 Modifié le 20 septembre 2017 par PiwiLAbruti Nettoyage du script 0 Citer
Fenrir Posté(e) le 20 septembre 2017 Auteur Posté(e) le 20 septembre 2017 Ok Pour les which fais attention au path, certains paquets viennent avec leurs propres binaires (j'ai eu le cas je ne sais plus avec quoi), pour le sort, ajoute -f (--ignore-case) Pour les multiples instances de dnsmasq, le cas auquel il faut faire attention c'est si tu utilises le serveur DHCP et/ou PXE du Syno, sinon il n'a aucune raison de tourner. 0 Citer
PPJP Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 (modifié) Bonsoir, j'ai suivi ce tuto et pour moi cela ne fonctionne pas. J'ai cherché ce qui ne fonctionnait pas et n'ai abouti à rien. Pour résumer je suis dans la situation ou était @HornyPoney à la fin aout (j'ai fait les mêmes vérif avec les mêmes résultats) Précisions supplémentaires: quand je relance le serveur DNS le syno mouline quelques secondes et rend la main (pas de message indiquant que le redémarrage s'est fait) j'utilise un script qui est un mix entre celui de @Fenrir et celui de @PiwiLAbrutri (mais il semble OK) Avez-vous quelques pistes de recherche à me proposer? Merci Complément d'info quand je relance le serveur DNS les lignes de [resolve ]dans synodns.conf perdent leur indentation Modifié le 24 septembre 2017 par PPJP Complément info 0 Citer
unPixel Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 Tu peux proposer ton script aussi si tu veux ;) 0 Citer
PPJP Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 (modifié) Mon script: (je précise que je ne suis pas familier de bash) #!/bin/bash # # /volume1/@appstore/DNSServer/etc/synodns.conf -> forwarders=127.0.0.53 # synoservice --restart pkgctl-DNSServer dnsmasqConfDir='/volume1/conf/dnsmasq' dnsmasqConfFile="$dnsmasqConfDir/dnsmasq.conf" dnsmasqAdFile="$dnsmasqConfDir/dnsmasq.d/dnsmasq.adlist.conf" adFileTemp='/tmp/adlist.conf.tmp' adFilePerso='/volume1/adm/dnsmasq/filtreperso.txt' dnsmasqListen='127.0.0.53' dnsmasqPort='53' server1='80.67.169.12' # ns0.fdn.org server2='80.67.169.40' # ns1.fdn.org serverpixel='0.0.0.0' adListUrl=( "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext" #"http://winhelp2002.mvps.org/hosts.txt" #"https://easylist.to/easylist/easylist.txt" #"https://easylist.to/easylist/easyprivacy.cd /volume1/@appstore/DNSServer/etc/synodnstxt" #"https://easylist.to/easylist/fanboy-annoyance.txt" #"https://easylist.to/easylist/fanboy-social.txt" ) mkdir -p $dnsmasqConfDir/dnsmasq.d cat <<EOT > $dnsmasqConfFile # cache-size=5000 server=$server1 server=$server2 neg-ttl=300 no-resolv #clear-on-reload EOT cat $adFilePerso > $adFileTemp for url in "${adListUrl[@]}"; do host=`echo $url | sed -n "s/^https\?:\/\/\([^/]\+\).*$/\1/p"` case $host in pgl.yoyo.org) /bin/curl -s $url | sed "s/127\.0\.0\.1/$serverpixel/" >> $adFileTemp ;; winhelp2002.mvps.org) /bin/curl -s $url | tr -d '\r' | egrep -v "(^(#|$))|localhost" | awk '{print "address=/"$2"/"$1""}' >> $adFileTemp ;; easylist.to) /bin/curl -s $url | grep -E '^\|\|[^^/]+\^\$third\-party$' | sed -n "s/^||\([^^/]\+\).*$/address=\/\1\/$serverpixel/p" >> $adFileTemp ;; *) echo "Processing for $url is not implemented" ;; esac done sort -ufo $adFileTemp $adFileTemp if [ -f "$adFileTemp" ] then sudo mv $adFileTemp $dnsmasqAdFile else exit 1 fi pid=`/bin/pidof dnsmasq` if [ "$pid" != '' ] then /bin/kill $pid fi /bin/dnsmasq --listen-address=$dnsmasqListen --port=$dnsmasqPort --bind-interfaces --conf-file=$dnsmasqConfFile --conf-dir=$dnsmasqConfDir/dnsmasq.d exit 0 Modifié le 24 septembre 2017 par PPJP correctif erreur en fin de script 0 Citer
Einsteinium Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 Mais sinon, pourquoi ne pas utilisé les dns de opendns ? 0 Citer
PPJP Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 Pour ceci: Le 29/01/2017 à 01:58, Fenrir a dit : nb : j'utilise les DNS de FDN comme "redirecteurs", car ils sont fiables et respectent votre vie privée (contrairement à ceux d'OpenDNS par exemple), mais vous êtes libre d'utiliser les serveurs de votre choix, voir aucun 0 Citer
Einsteinium Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 Ouai bon opendns je comprends, vue qu’on peut avoir des statistiques d’utilisations.. 0 Citer
PiwiLAbruti Posté(e) le 4 octobre 2017 Posté(e) le 4 octobre 2017 Pour ceux qui ont ouvert dnsmasq sur internet, une mise à jour s'impose : Citation Version: 6.1.3-15152-6 (2017-10-03) Fixed Issues Fixed multiple security vulnerabilities regarding DNSmasq (CVE-2017-13704, CVE-2017-14491, CVE-2017-14495, CVE-2017-14496). Fixed multiple security vulnerabilities regarding DHCPv6 Server (CVE-2017-14492, CVE-2017-14493, CVE-2017-14494). Tout ça a été corrigé depuis la version 2.78. Le problème c'est qu'on n'a aucun moyen de le vérifier (version UNKNOWN) : me@DiskStation:~# dnsmasq -v Dnsmasq version UNKNOWN Copyright (c) 2000-2017 Simon Kelley Compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify This software comes with ABSOLUTELY NO WARRANTY. Dnsmasq is free software, and you are welcome to redistribute it under the terms of the GNU General Public License, version 2 or 3. 0 Citer
rjulie Posté(e) le 27 novembre 2017 Posté(e) le 27 novembre 2017 Juste une petite remarque les images sur les premières pages ne s'affiche plus 0 Citer
Lelolo Posté(e) le 27 novembre 2017 Posté(e) le 27 novembre 2017 Le problème doit venir de chez toi car cela fonctionne pour moi à cet instant 0 Citer
rjulie Posté(e) le 27 novembre 2017 Posté(e) le 27 novembre 2017 (modifié) En fait oui et non, c'est mon anti virus qui bloque : En désactivant ça fonctionne mais d'un autre coté Fenir tu ne devrais pas mettre à jour tes certificats pour passer à SSL V3 ? Je viens de vérifier le certificat est lestencrypt V3, je vais ouvrir un incident auprès du logiciel d'anti virus Modifié le 27 novembre 2017 par rjulie 0 Citer
Fenrir Posté(e) le 27 novembre 2017 Auteur Posté(e) le 27 novembre 2017 il y a 17 minutes, rjulie a dit : En désactivant ça fonctionne mais d'un autre coté Fenir tu ne devrais pas mettre à jour tes certificats pour passer à SSL V3 ? Je n'autorise pas le SSL 2, ni SSL 3, ni TLS 1.0 ni TLS 1.1, seulement TLS 1.2 (et TLS 1.3 sur le miroir) =>le pb vient bien de chez toi (sûrement les clefs EC) 0 Citer
rjulie Posté(e) le 27 novembre 2017 Posté(e) le 27 novembre 2017 Oui j'ai ouvert un incident auprès du support anti virus 0 Citer
ben9111 Posté(e) le 9 août 2018 Posté(e) le 9 août 2018 Bonjour, Petit retour d'expérience concernant ce tuto pour lequel je remercie beaucoup @Fenrir ! J'ai bien suivi le Tuto sur DS218+ à la seule exception du redémarrage du package DNSserver qui a planté en SSH, certainement car j'utilise aussi Active Directory Server. J'ai donc redémarré la NAS, relancé le script puis vérifié que la première redirection pointe bien vers 127.0.0.53 : c'était le cas. Après quelques vidage de cache DNS, la solution fonctionnait depuis les appareils de mon réseau local : COOL ! Mais au renouvellement de baux DHCP (mon NAS fait aussi DHCP), j'ai commencé à avoir des problèmes : les machines ne récupéraient plus de bail. En forçant une configuration réseau sur une machine, je me suis aperçu que le serveur DNS fonctionnait de manière erratique ou même plus du tout (même après redémarage/relance du script). Pire au bout d'un moment mon NAS est devenu complètement inaccessible sur le réseau (pas de réponse aux pings, tous les noms de domaine internes renvoyaient sur la page du routeur alors que cloudstation sharesync sur un NAS distant avait toujours accès). J'ai du faire un reset simple pour récupérer l'accès. J'ai donc l'impression que ce tuto a rendu instable le serveur DNS et le DHCP (j'ai lu qu'un DHCP est une fonction de DNSmasq), avec certainement peut-être ADS en facteur aggravant mais à votre avis : d'où peut venir le problème ? (en plus de moi 🤪 ) Au pire : comment puis-je désactiver complètement les effets de cette ligne du script : /bin/dnsmasq --listen-address=$dnsmasq_listen --port=$dnsmasq_port --bind-interfaces --conf-file=$dnsmasqconfdir/dnsmasq.conf --conf-dir=$dnsmasqconfdir/dnsmasq.d (j'ai déjà enlevé 127.0.0.53 des redirecteurs et je m'apprête à reactiver le DHCP sur le NAS) Merci beaucoup de m'avoir lu ! (je veux peut-être en faire un peu trop avec un seul serveur et ... pardon pour le déterrage...) 0 Citer
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.