Aller au contenu

aurelp

Membres
  • Inscription

  • Dernière visite

  1. Bonjour, le mode "relais IPV6" était un peu trop limitant vis à vis de mes attentes: j'ai fini par arriver à une configuration qui répond à mes besoins, à savoir: un réseau A: dédié TV, uniquement en Wifi et IPV6 -> résout complètement le problème erreur #1014 sur freebox pop😀 le mode opératoire pour configurer IPV6 est très bien décrit dans ce post https://www.nas-forum.com/forum/topic/49966-configuration-ipv6-sur-rt1900ac-avec-freebox/#findComment-1319374614 un réseau B: filaire/wifi, en IPV4, pour tous les autres périphériques pas d'isolement de ces 2 réseaux car j'ai besoin que mon serveur Plex sur réseau B puisse communiquer avec la box TV qui se trouve sur le réseau A: des règles pare-feu permettent de ne laisser passer que le strict nécessaire en ces 2 réseaux mise à jour des paramètres DNS server sur SRM en lien avec le reseau dedié TV et la plage d'adresses IP associée Seul point qu'il me reste à traiter est le temps de chargement des chaines TV un peu long, de l'ordre de 10 secondes aujourd'hui : j'ai cru comprendre qu"il était possible d'améliorer cela: https://lafibre.info/remplacer-freebox/freebox-pop-ucg-ultra-configuration-ipv6-pour-player-popoqee/12/ Extrait Analyse du lag Avant l'ajout de l'entrée DNS : latence de +/- 10 secondes. Après l'ajout : +/- 3/4 secondes. J'ai fait des captures Wireshark pour éliminer le délai restant. Voici la séquence exacte observée : Le player envoie une requête DNS AAAA pour mafreebox.freebox.fr afin d'obtenir l'adresse IPv6 de la box - c'est l'étape d'authentification réseau Free Le player tente une connexion TCP vers la box sur le port RTSP 554 - c'est un vestige du protocole historique Free TV (les chaînes étaient autrefois distribuées en multicast IPTV directement depuis la box). En mode bridge, la box ne sert plus de contenu vidéo et ne répond pas sur ce port en IPv6 ~1 seconde plus tard, pas de réponse : le player envoie une retransmission TCP ~2 secondes plus tard : le firewall renvoie un ICMPv6 "Destination Unreachable" signalant que la connexion RTSP est impossible Le player abandonne la tentative RTSP et enchaîne sur les connexions OQEE Requêtes DNS sur license.oqee.net et api.oqee.net - le player obtient des enregistrements A et AAAA pour ces serveurs Connexion HTTPS vers api.oqee.net (2a01:e0f:1:9000::67) - récupération du manifeste de la chaîne et du token d'accès Requête DNS sur time.akamai.com - synchronisation horaire, nécessaire pour la validation des tokens DRM et la synchronisation des flux live Le player initie le streaming vers 2a01:e00:0:ffff::f5 - une adresse Anycast du réseau CDN Free/Proxad (2a01:e00::/32). Certains segments transitent également par Akamai (2a02:26f0::/32), un CDN tiers utilisé par Free pour la distribution de contenu. Le player n'obtient pas cette adresse via DNS - c'est le serveur api.oqee.net qui la fournit dans la réponse du manifeste (HLS/DASH). Le trafic est routé vers le point de présence Free le plus proche La vidéo est lancée Le fix final Le délai résiduel de 3-4 secondes vient des étapes 2-4 : le player attend la réponse RTSP qui ne viendra jamais. La solution est d'ajouter une règle Reject (pas Block) sur le firewall pour le port 554 vers la box : Reject | IPv6 | TCP | LAN net IPv6 | IP_GUA_Freebox | port 554 La distinction Block vs Reject est capitale : Block droppe le paquet silencieusement et le player attend le timeout TCP complet (~3 secondes). Reject envoie immédiatement un TCP RST, le player comprend instantanément que ce port n'est pas disponible et passe à l'étape suivante en quelques millisecondes. Résultat : le lag restant disparaît complètement Si quelqu'un sait comment transposer ça sur SRM, je suis preneur 😀
  2. Bonjour @Audio content que tu as pu trouver la cause racine de ton problème 😀 j'ai vérifié mes logs, pas de souci de mon coté, script et tache planifiée étant en accord sur le paramètre que tu as cité. bonne fin de week-end,
  3. Bonjour @Audio Je n'ai pas eu ce type de messages dans le log, seulement la première partie avec le nombre d'adresses ajoutées. A l'occasion j'irai consulter le dernier log pour voir si cela a évolué. As tu essayé avec la version que j'ai proposée initialement, sans rien modifier ? Si oui avais tu également ce même type de message ?
  4. Bonjour @church merci pour ta suggestion. j'ai continué à creuser un peu et j'ai fini pas tomber sur cet article: https://www.forum-nas.fr/threads/comment-bien-configurer-le-rt2600ac-les-nas-les-conteneurs-docker-en-ipv6-et-garder-oqee-fonctionnel-sur-lappletv.19027/page-2 En activant simplement "relais IPV6", et sans évolution sur mes regles de pare-feu cela semble resoudre le probleme "erreur 1014" et le flux TV transite à nouveau dans ma config actuelle (freebox server en DMZ -> RT2600ac -> freebox pop TV) ... par contre j'ai du mal à savoir ce qui se cache exactement derrière ce principe de relais IPV6 et si c'est bien safe pour mon reseau local... la simplicité de la solution me laisse songeur par rapport à l'ensemble des posts que j'ai pu consulter...
  5. Je fais appel à la communauté car je cherche à résoudre un problème qui semble être constaté depuis peu chez un certain nombre de clients Free. Lorsqu'un routeur est utilisé entre la freebox server et la box TV (freebox pop), le flux ne semble plus passer, avec à la clef une erreur #1014. Je comprends que c'est en lien avec une évolution Free qui impose un adressage IP V6 de la freebox pop qui n'etait pas obligatoire jusque là pour avoir le flux TV mais qui semble impératif maintenant. Je creuse plusieurs forums/articles mais mes connaissances en infra réseau restant limitées, et encore plus quand il s'agit d'IP V6, je fais appel à vous pour savoir s'il existe une solution qui est décrite avec un RT2600ac (je trouve des infos pour d'autres routeurs, mais j'ai du mal à appliquer sur un RT2600ac) Mes sources https://lafibre.info/remplacer-freebox/erreur-dash1014-dns-depuis-mi-mars-2026-en-freebox-ultra-bridge-routeur-tiers/ https://lafibre.info/remplacer-freebox/freebox-pop-ucg-ultra-configuration-ipv6-pour-player-popoqee/12/ https://blog.kulakowski.fr/post/openwrt-derriere-une-freebox-ipv6-dmz-et-bridge Quelle serait la configuration à appliquer sur mon routeur RT2600ac qui se trouve entre ma freebox en DMZ et ma box TV? Je précise que ma box TV est connectée en WIFI et que je ne peux pas faire de connexion filaire entre mon RT2600ac et ma box TV. Une solution peu elegante que j'utilise pour le moment est d'avoir 2 wifi actifs: le wifi de la box free, uniquement utilisé pour la box TV le wifi du RT2600ac pour tous les autres périphériques de la maison Je voudrais retrouver une config qui me permette de tout faire passer via le wifi du RT2600ac. Merci pour votre aide :)
  6. Bonjour, en lisant il y a quelques jours un article sur FireHOL (https://korben.info/firehol-protection-ip-pare-feu.html), je me suis re-penché sur ce script, actif sur mon NAS et routeur depuis plusieurs années. voici une version qui intègre les listes niveaux 2 et 3 (j'ai cru comprendre que la liste niveau 1 contient des IP locales, je n'ai donc pas pris de risque...) cela fait un petit complément d'adresses "à risque" intégrées dans la liste des blocages! #!/bin/sh # #How to Use: AutoblockScriptSynology # # Téléchargez le script. Copiez le dans un dossier de votre choix. # Pour DSM, Créez une tache planifiée avec root comme utilisateur. # sh /dossier_où_ a_été copié_le_script/autoblocksynology.sh # Pour SRM, Créez une ligne dans crontab avec root comme utilisateur. # sh /dossier_où_ a_été copié_le_script/autoblocksynology.sh # ############################################################################### ############################################################################### # Script du tutoriel de nas-forum.com par Superthx ############################################################################### # Ce script accepte un paramètre: "raz" # S'il est présent: # le script débute par la suppression des IP non bloquées définitivement ############################################################################### ### PARAMETRAGE ### ################### # Fréquence de lancement de ce script par la tache planifiée (en heures) #(exemples: 1 si chaque heure, 24 si journalier) Freq="1" # Adresses des sites source séparées par un espace Liste_Url="https://lists.blocklist.de/lists/ \ https://feodotracker.abuse.ch/downloads/ https://rules.emergingthreats.net/blockrules/ https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/" # Pour la liste de www.blocklist.de # Liste de choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots} # {strongips} {ircbot} {bruteforcelogin} #Choix séparés par un espace, exemple "ssh apache bruteforcelogin" Choix_Blocklist_de="all" # Pour la liste de www.feodotracker.abuse.ch # Liste de choix par ordre de sévérité: # {ipblocklist_recommended} {ipblocklist} {ipblocklist_aggressive} Choix_Feodotracker="ipblocklist_aggressive" Choix_Emergingthreats="compromised-ips" Choix_Firehol_lev2="firehol_level2.netset" Choix_Firehol_lev3="firehol_level3.netset" #Fichier personnel facultatif listant des IP (1 par ligne) à bloquer Filtre_Perso="filtreperso.txt" # Pour trace facultative des IP non conformes au format IP v4 ou v6 #Choix: {0}: sans trace, {1}: dans fichier log, {2}: dans fichier spécifique Trace_Ano=1 File_Ano="anoip.txt" # à renseigner si option2 (sinon ne pas supprimer) # Pour afficher des info plus détaillées en fin de fichier log #info: {0}: sans info, {1}: avec info info=1 ############################################################################### ############################################################################### ### CONSTANTES ### ################## Version="v0.1.0" db="/etc/synoautoblock.db" dirtmp="/tmp/autoblock_synology" marge=60 ############################################################################### ### FONCTIONS ### ################################## raz_ip_bloquees(){ sqlite3 $db <<EOL delete from AutoBlockIP where DENY = 1 and ExpireTime > 0; EOL echo "Le blocage des IP non bloquées définitivement a été supprimé" } ############################################################################### tests_initiaux(){ echo -e "\nDemarrage du script `basename $0` $Version: $(date)" if [ -f "/bin/bash" ]; then TypeShell="bash" elif [ -f "/bin/sh" ]; then TypeShell="sh" else echo -e "Erreur dans le script\nAbandon du script" exit 1 fi if [[ $# -gt 0 ]]; then if [[ "$1" == "raz" ]]; then raz_ip_bloquees else echo -e "Parametre $1 incorrect!\nSeul parametre autorisé: 'raz'" echo "Abandon du script" exit 1 fi fi if [ ! -d "/tmp" ]; then # par sécurité echo -e "Le dossier tmp n'existe pas\nAbandon du script" # par sécurité exit 1 # par sécurité elif [ ! -d $dirtmp ]; then mkdir $dirtmp chmod 755 $dirtmp fi } ############################################################################### raz_fil_ano(){ if [ -f $File_Ano ]; then rm $File_Ano fi if [[ $Trace_Ano == 2 ]]; then echo -e "\nDemarrage du script $Version: $(date)" > $File_Ano fi } ############################################################################### info_nb_ip(){ nb_new=$(wc -l $tmp1 | cut -d' ' -f1) nb=$((nb_new-nb_old)) if [[ $nb -gt 0 ]];then if [[ $info == 1 ]];then echo "$nb IP téléchargées sur $fil" fi else if [[ $fil != $Filtre_Perso ]];then echo "Echec chargement IP depuis le site $fil" else echo "$nb IP téléchargée sur $fil" fi fi nb_old=$nb_new } ############################################################################### acquisition_ip(){ tmp1="$dirtmp/temp1" nb_old=0 if [ -f $Filtre_Perso ];then fil=$Filtre_Perso cat "$fil" > $tmp1 info_nb_ip else touch $Filtre_Perso fi for url in $Liste_Url; do host=`echo $url | sed -n "s/^https\?:\/\/\([^/]\+\).*$/\1/p"` case $host in lists.blocklist.de) for chx in $Choix_Blocklist_de; do fil="$url$chx.txt" curl -s $fil >> $tmp1 echo "" >> $tmp1 # ajout fin ligne absent info_nb_ip done ;; feodotracker.abuse.ch) for chx in $Choix_Feodotracker; do fil="$url$chx.txt" curl -s $fil | sed "/#/d" >> $tmp1 info_nb_ip done ;; # ajouté le 06/04/2026, mettre le racine du site, le script vient jusqu'à la liste d'IP rules.emergingthreats.net) for chx in $Choix_Emergingthreats; do fil="$url$chx.txt" curl -s $fil >> $tmp1 echo "" >> $tmp1 # ajout fin ligne absent info_nb_ip done ;; # ajouté le 06/04/2026, mettre le racine du site, le script vient jusqu'à la liste d'IP raw.githubusercontent.com) for chx in $Choix_Firehol_lev2; do fil=$url$chx curl -s $fil | sed "/#/d" >> $tmp1 info_nb_ip done for chx in $Choix_Firehol_lev3; do fil=$url$chx curl -s $fil | sed "/#/d" >> $tmp1 info_nb_ip done ;; # pour des sites comportant une seule liste contenant exclusivement des IP host3|host4|host5) fil=$url curl -s $url >> $tmp1 info_nb_ip ;; *) echo "Le traitement pour $url n'est pas implanté" ;; esac done sort -ufdo $tmp1 $tmp1 nb_ip=$(wc -l $tmp1 | cut -d' ' -f1) } ############################################################################### maj_ip_connues(){ sqlite3 $db <<EOL drop table if exists Var; create table Var (name text primary key, value text); EOL `sqlite3 $db "insert into Var values ('stop', $block_off)" `sqlite3 $db <<EOL drop table if exists Tmp; create table Tmp (IP varchar(50) primary key); .mode csv .import /tmp/autoblock_synology/temp1 Tmp alter table Tmp add column ExpireTime date; alter table Tmp add column Old boolean; update Tmp set ExpireTime = (select value from Var where name = 'stop'); update Tmp set Old = ( select 1 from AutoBlockIP where Tmp.IP = AutoBlockIP.IP); update AutoBlockIP set ExpireTime=( select ExpireTime from Tmp where AutoBlockIP.IP = Tmp.IP and Tmp.Old = 1) where exists ( select ExpireTime from Tmp where AutoBlockIP.IP = Tmp.IP and Tmp.Old = 1); delete from Tmp where Old = 1; drop table Var; EOL rm $tmp1 } ############################################################################### tracer_ip_incorrecte(){ case $Trace_Ano in 1) echo "$nb_invalide:IP non traitée (format IP incorrect): $ip" ;; 2) echo "$nb_invalide : $ip" >> $File_Ano ;; *) ;; esac } ############################################################################### hex_en_dec(){ if [ "$1" != "" ];then printf "%d" "$(( 0x$1 ))" fi } ############################################################################### maj_ipstd(){ ipstd='' if [[ $ip != '' ]]; then if expr "$ip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' > \ /dev/null; then ipstd=$(printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" \ ${ip//./' '}) elif [[ $ip != "${1#*:[0-9a-fA-F]}" ]]; then ip6=$ip echo $ip6 | grep -qs "^:" && $ip6="0${ip6}" if echo $ip6 | grep -qs "::"; then sep=$(echo $ip6 | sed 's/[^:]//g') absent=$(echo ":::::::::" | sed "s/$sep//") rempl=$(echo $absent | sed 's/:/:0/g') ip6=$(echo $ip6 | sed "s/::/$rempl/") fi blocks=$(echo $ip6 | grep -o "[0-9a-f]\+") set $blocks ipstd=$(printf "%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X" \ $(hex_en_dec $1) $(hex_en_dec $2) $(hex_en_dec $3) $(hex_en_dec $4) \ $(hex_en_dec $5) $(hex_en_dec $6) $(hex_en_dec $7) $(hex_en_dec $8)) else tracer_ip_incorrecte fi if [[ $ipstd != '' ]]; then printf '%s,%s,%s,%s\n' "$ip" "$start" "$block_off" "$ipstd" >> $tmp1 fi fi } ############################################################################### import_nouvelles_ip(){ sqlite3 $db <<EOL drop table Tmp; create table Tmp (IP varchar(50) primary key, RecordTime date, ExpireTime date, IPStd varchar(50)); .mode csv .import /tmp/autoblock_synology/temp1 Tmp EOL } ############################################################################### insertion_nouvelles_ip_nas(){ sqlite3 $db <<EOL insert into AutoBlockIP select IP, RecordTime, ExpireTime, 1, IPStd, NULL, NULL from Tmp where IPStd is not NULL; drop table Tmp; EOL } ############################################################################### insertion_nouvelles_ip_routeur(){ sqlite3 $db <<EOL insert into AutoBlockIP select IP, RecordTime, ExpireTime, 1, IPStd from Tmp where IPStd is not NULL; drop table Tmp; EOL } ############################################################################### insertion_nouvelles_ip(){ newip=`sqlite3 $db "select IP from Tmp where IP <>''"` for ip in $newip; do maj_ipstd done if [ -f $tmp1 ]; then import_nouvelles_ip if [[ $TypeShell == "bash" ]];then insertion_nouvelles_ip_nas elif [[ $TypeShell == "sh" ]];then insertion_nouvelles_ip_routeur fi rm $tmp1 fi } ############################################################################### informations_finales(){ maj=`sqlite3 $db "select count(*) from AutoBlockIP where RecordTime < $start and ExpireTime = $block_off"` ajt=`sqlite3 $db "select count(*) from AutoBlockIP where RecordTime = $start"` block=`sqlite3 $db "select count(*) from AutoBlockIP where DENY = 1 and (ExpireTime = 0 or ExpireTime > $(($start+$marge+30)))"` echo "$nb_ip IP ont été traitées" echo "$maj IP ont vu leur blocage prolongé" echo "$ajt nouvelles IP ont été ajoutées" echo "$block IP seront bloquées suite à cette mise à jour" duree=$((`date +%s`- $start)) if [[ $TypeShell == "bash" ]];then echo -e "Fin du script exécuté en $(($duree/60))mn $(($duree%60))s" elif [[ $TypeShell == "sh" ]];then echo "Fin du script exécuté en $duree secondes" fi } ############################################################################### ### SCRIPT ### ############## start=`date +%s` block_off=$((start+Freq*2*3600+$marge)) pwd_init=`pwd` cd `dirname $0` tests_initiaux $1 raz_fil_ano acquisition_ip maj_ip_connues insertion_nouvelles_ip if [[ $info == 1 ]];then informations_finales else echo "Script terminé" fi cd $pwd_init exit 0 ###############################################################################

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Account

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.