Auteur Sujet: [FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt  (Lu 126753 fois)

0 Membres et 2 Invités sur ce sujet

artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 1 969
  • Montignac Lascaux (24)
[FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt
« Réponse #384 le: 02 juin 2025 à 05:25:14 »
Ce fut laborieux mais j'ai enfin pu configurer "IGMPPROXY" et "uHTTPd" dans OpenWRT, version 24.10.0.

On commence par "uHTTPd" :

1\ création de ce répertoire "/www/api" et non "/www/api/1.0".

2\ mettre dans "/www/api" tous vos fichiers "*.xml".

3\ mettre le script cgi dans ce même répertoire, mais vous le nommez "1.0".
Je sais, dans l'exemple donné par Rooot, il se nomme gatway.cgi, mais je l'ai bien renommé en "1.0".
C'est ça l'astuce. Pourquoi ? Il faut préciser dans l'url le script cgi qui sera exécuter, sinon cela ne fonctionne pas.
En rouge, le nom du script dans l'url : "192.168.1.1/api/1.0/?method=ftth.getInfo"
C'est ce que j'ai compris des contraintes de fonctionnement de "uHTTPd".

J'ai cherché à résoudre ce problème en conservant le nom "gateway.cgi", mais cela fut une prise de tête et sans succès.

4\ il faut rendre ensuite ce script cgi exécutable :
chmod +x /www/api/1.0
5\ modification du fichier de configuration "/etc/config/uhttpd". Vous ajoutez :
option cgi_prefix '/api/'et suppression ou mise en commentaire :
#       option cgi_prefix '/cgi-bin'Voici le fichier "uHTTPd" complet :
config uhttpd 'main'
        list listen_http '0.0.0.0:80'
        list listen_http '[::]:80'
        list listen_https '0.0.0.0:443'
        list listen_https '[::]:443'
        option redirect_https '0'
        option home '/www'
        option rfc1918_filter '1'
        option max_requests '3'
        option max_connections '100'
        option cert '/etc/uhttpd.crt'
        option key '/etc/uhttpd.key'
#       option cgi_prefix '/cgi-bin'
        list lua_prefix '/cgi-bin/luci=/usr/lib/lua/luci/sgi/uhttpd.lua'
        option script_timeout '60'
        option network_timeout '30'
        option http_keepalive '20'
        option tcp_keepalive '1'
        option ubus_prefix '/ubus'

        option cgi_prefix '/api/'

config cert 'defaults'
        option days '397'
        option key_type 'ec'
        option bits '2048'
        option ec_curve 'P-256'
        option country 'ZZ'
        option state 'Somewhere'
        option location 'Unknown'
        option commonname 'OpenWrt'
L'inconvénient de cette astuce est de ne plus disposer de LUCI, ni à aucun autre site web que vous avez hébergé.
Mais votre décodeur TV Plus SFR fonctionne. :) C'est le but recherché, non ?

6\ voici le script "cgi" que j'utilise :
#!/bin/sh

METHOD=$(echo "$QUERY_STRING" | sed -n 's/.*method=\([^&]*\).*/\1/p')

case "$METHOD" in
        ftth.getInfo)           FILE="ftth.xml"   ;;
        lan.getHostsList)       FILE="lan.xml"    ;;
        system.getInfo)         FILE="system.xml" ;;
        tv.getInfo)             FILE="tv.xml"     ;;
        usb.getInfo)            FILE="usb.xml"    ;;
        wan.getInfo)            FILE="wan.xml"    ;;
        *)
                echo "Status: 404 Not Found"
                echo "Content-type: text/html"
                echo
                echo "Method not found"
                exit 0
                ;;
esac

echo "Content-type: application/xml"
echo
cat "/www/api/$FILE" 2>/dev/null || echo "XML file not found"
C'est le même que celui donné par Rooot, sauf que "/1.0" a disparu du chemin.

On passe maintenant à l'IGMPPROXY.

7\ je n'avais pas compris qu'il fallait convertir le fichier igmpproxy que j'utilise sous "systemdnetworkd" dans le format UCI (Unified Configuration Interface). Après quelques recherches, sans se tromper de version puisque je suis dans la "24.10.0", j'ai trouvé comment faire :
config igmpproxy
    option quickleave 1

config phyint
    option network 'wan'
    option direction 'upstream'
    option ratelimit 0
    option threshold 1
    list altnet '1.1.1.1/32'
    list altnet 'xxx.xxx.xxx.xxx/26'
    list altnet '77.128.0.0/9'
    list altnet '224.0.0.0/8'
    list altnet '162.168.0.0/16'

config phyint
    option network 'br1'
    option direction 'downstream'
    option ratelimit 0
    option threshold 1
J'ai masqué mon adresse IPv4 publique.

8\ il n'est plus nécessaire de préciser les interfaces à interdire.

9\ il ne faut pas mettre les interfaces physiques mais les interfaces logiques.
Ce fichier igmpproxy au format UCI va être convertit et le résultat va se trouver dans "/etc/igmpproxy.conf". OpenWRT va rechercher les interfaces physiques à partir des interfaces logiques afin de les remplacer. Le fichier finalisé se nomme "/etc/igmpproxy.conf" que voici :
quickleave

phyint eth0 upstream ratelimit 0 threshold 1
        altnet 1.1.1.1/32
        altnet xxx.xxx.xxx.xxx/26
        altnet 77.128.0.0/9
        altnet 224.0.0.0/8
        altnet 162.168.0.0/16

phyint br1 downstream ratelimit 0 threshold 1

10\ dans ma structure réseau, j'ai wan & wan6 pour l'IPv4 & l'IPv6. j'ai un premier bridge br0 où j'ai rattaché usb0, usb1 et usb2, mes trois dongle éthernet. Dans le second bridge br1, j'ai rattaché mon quatrième dongle éthernet sous le nom tv0. Le flux multicast passe de wan puis ensuite vers le bridge br1 et sort par tv0. Tv0 ne possède pas d'adresse Ip. Il ne doit pas être référence dans le fichier igmpproxy.

11\ j'ai pu conserver le triple play (téléphone, télévision, internet) et aujourd'hui, mon OpenWRT sous Raspberry Pi 4B est opérationnel. Ce fut un peu moins compliquer à résoudre que sous "systemd-networkd". Je rencontre des problème pour affecter des adresses IPv6 à tous mes périphériques. L'exemple le plus frappant est windows où j'ai des interfaces (éthernet & wifi) et qu'un seul DUID. Si je déclare les deux, c'est le bordel. OpenWRT ne sait pas gérer les IAID, ce qui aurait pu résoudre ce problème. je vais devoir approfondir ce problème, mais je ne vais pas me lancer dans le NAT66.

@+

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
[FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt
« Réponse #385 le: 02 juin 2025 à 09:09:14 »
@artemus24 :

Citer
Maintenant, je me m'attaque aux baux statiques (option host) que l'on configure dans le fichier "/etc/config/dhcp". Autant, je n'ai eu aucun problème pour le dhcpv4 puisque
cela se fait à partir d'une adresse MAC qui est unique dans mon réseau local. Autant avec le dhcpv6, et en particulier les adresses de type GUA (Global Unicast Addresses),
j'ai rencontré des problèmes lorsque j'ai deux interfaces réseaux (éthernet et wifi) et un seul DUID, comme dans le cas de mon PC sous Windows. OpenWRT ne sait pas gérer
les IAID (Identity Association Identifier) ce qui aurait permis de faire la distinction entre ces deux interfaces. Et c'est là que je me retrouve avec des comportements erratiques,
du genre pas d'IPv6 sur le WiFi et le suffixe (interface identifier) attribué pour le WiFi, je le retrouve dans l'interface Ethernet. Il est recommandé de n'avoir qu'une
seule interface par DUID
et aussi de faire des compromis. Du genre attribuer une adresse IPv6 statique dans la seconde interface coté client mais pas dans OpenWRT.
Un vrai casse-tête ! Comment avez vous résolu ce problème ?

Ce que tu dis n'a ni queue ni tête !

Cela donne l'impression que tu reprends ce que tu as lu ailleurs (au hasard, un de mes posts) mais sans rien comprendre.

Donc, on retombe dans les même travers. Tu cherches à exposer des choses que tu ne maîtrises pas. Tu te plantes. Tu finis toujours par faire genre d'avoir une quelconque maîtrise.
Au final, ce que tu fais pourrait s'apparenter à de la désinformation.

Pour simplifier, dorénavant, je vais ignorer tes messages (je n'y répliquerais plus) ! Sinon, cela me fera une prise de tête inutile.
« Modifié: 02 juin 2025 à 09:56:08 par basilix »

xp25

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 6 507
[FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt
« Réponse #386 le: 02 juin 2025 à 21:32:01 »
Ce qui a été dit plusieurs fois c'est que le forum lafibre.info n'est pas un bloc-note/brouillon de vos expérimentations.

Vous devriez vous rencontrer, échanger en off, ce serait bien plus productif ;)

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
[FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt
« Réponse #387 le: 03 juin 2025 à 06:37:03 »
@xp25 :

J'ai repris les propos de @artemus24 car cela me contrariait.

J'ai publié des messages sur le forum posant des problèmes et j'ai rapporté mes recherches techniques.
Mon but était de résoudre mes problèmes et de rester motivé. Les problèmes que j'essaye de surmonter
peuvent concerner d'autres personnes. Il y a plusieurs façons de résoudre ces problèmes. Une chose est
sûre c'est que ces problèmes ne se résoudront pas d'eux-même. Sinon, je ne demande rien à personne.

D'une certaine façon, je participe, je contribue et je progresse (plutôt lentement). Il est évident que j'ai
des lacunes ou des déficiences sur telle ou telle chose. En ce qui concerne les objectifs que je me suis
fixé en réseautique ceux-ci deviennent de plus en plus accessibles. Donc, il est peu probable que je crée
de nouveaux posts ayant une facette expérimentale ou quelque peu bloc-note/brouillon. D'ailleurs, la
quantité n'est pas synonyme de qualité, j'envisage de réduire les messages que j'envoie sur le forum.
Je partagerais éventuellement du contenu sur un ou deux axes en fonction de l'aboutissement.

En ce qui concerne la collaboration, c'est incompatible avec les objectifs que je me suis fixé. De plus, je
ne suis pas affilié à @artemus24 ou au forum. Donc, niveau productivité, c'est incomparable. Pour finir,
si je devais avancer sur un objectif spécifié ce ne sera jamais avec @artemus24.

Fin de la parenthèse.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
[FTTH] Tuto bypass complet neufbox avec un routeur OpenWrt
« Réponse #388 le: 03 juin 2025 à 09:40:15 »
Mon avis sur le message de @artemus24 est pointu.

Les IAs ChatGPT, DeepSeek, et Claude en ont fait une tout autre analyse (« message globalement cohérent et fiable »). Mais leurs analyses sont invalides sur le plan technique.
Leur base théorique me semble partiellement correcte. Ces agents ne prennent apparemment pas en compte que le DUID est unique pour un client DHCP.

Citation de: IA DeepSeek-V3
Le problème des IAID (Identity Association Identifier) est réel : OpenWRT (basé sur dnsmasq ou odhcpd) ne gère pas toujours bien les IAID pour distinguer les interfaces (ex. Ethernet vs WiFi) d'un même client, surtout si elles partagent le même DUID (cas fréquent sous Windows).

Citation de: IA DeepSeek-V3
Un client DHCPv6 normalement configuré possède un seul DUID persistant.

En bref, cela fait illusion pour une IA. Pas pour une personne ayant des connaissances en réseautique. Contrairement à ce que ressortent les IAs, j'ai lu le RFC 8415 ainsi qu'un
ouvrage de référence en réseautique, et la documentation OpenWrt et pour finir les sources des logiciels de base (libubox, libuci, odhcpd).