La Fibre

Datacenter et équipements réseaux => Routeurs => SFR Remplacer la box SFR par un routeur => Discussion démarrée par: oupsman le 01 janvier 2022 à 17:39:10

Titre: GRAFANA & ONT SFR
Posté par: oupsman le 01 janvier 2022 à 17:39:10
Bonjour à toutes et tous,

un peu agaçé parce qu'après avoir remplacé ma SFR Box par un routeur OPNsense, je ne pouvais pas accéder aux métriques de l'ONT, j'ai développé un petit script plugin telegraf qui va donc interroger l'ONT à intervales fixes et met les données dans une base Influx DB.

Le dashboard ressemble à l'image jointe au post.

Le code (très simple) est accessible ici :

https://git.oupsman.fr/oupsman/ontstats

Je le fais tourner sur mon OPNSense, mais la version qui tourne sur mon PC de dév accède aussi à l'ONT donc on peut le mettre n'importe où sur le réseau.
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 05 janvier 2022 à 08:39:12
C’est une excellente idée mais te serait-il possible de faire un tuto pour pouvoir l’exploiter sur un routeur par exemple…

En tout cas merci beaucoup hâte que tu exploites le maximum de métriques de l’ONT

Comment fait-tu pour te connecté à l’ONT
Titre: GRAFANA & ONT SFR
Posté par: Steph le 05 janvier 2022 à 09:17:57
Il suffit d'aller voir le code : Telnet
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 05 janvier 2022 à 09:31:47
C’est une excellente idée mais te serait-il possible de faire un tuto pour pouvoir l’exploiter sur un routeur par exemple…

En tout cas merci beaucoup hâte que tu exploites le maximum de métriques de l’ONT

Comment fait-tu pour te connecté à l’ONT

La procédure dépendant du routeur, ça va être compliqué d'avoir quelque chose d'assez détaillé mais je vais ajouter les grandes lignes dans le document.

Titre: GRAFANA & ONT SFR
Posté par: thedark le 05 janvier 2022 à 09:54:14
Il suffit d'aller voir le code : Telnet
Sinon pour ceux qui ont la box plus de SFR.
Simplement avec http://192.168.1.1/api/?method=ont.getInfo  :P
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 05 janvier 2022 à 15:40:21
En faisant de la capture de trames sur le lien entre l'ONT et la Box, j'ai pu voir comment fonctionnait la récupération des informations et j'ai simplement reproduit le même fonctionnement.

La box plus se base aussi sur un ONT externe Altice ? SI oui, ça m'intéresse de voir quelles sont les informations remontées :)
Titre: GRAFANA & ONT SFR
Posté par: thedark le 05 janvier 2022 à 15:48:11
En faisant de la capture de trames sur le lien entre l'ONT et la Box, j'ai pu voir comment fonctionnait la récupération des informations et j'ai simplement reproduit le même fonctionnement.

La box plus se base aussi sur un ONT externe Altice ? SI oui, ça m'intéresse de voir quelles sont les informations remontées :)
https://lafibre.info/remplacer-sfr/etat-ont/ ça.
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 06 janvier 2022 à 11:49:45
Suite aux différents retours, j'ai retravaillé mon script et ajouté quelques métriques supplémentaires. J'ai aussi ajouté les grandes lignes de la configuration à faire sur son routeur.

Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 10 janvier 2022 à 12:40:08
Salut !
j'ai remarqué un truc chez moi :
Si je mets l'ONT à plat sur la box : Temp = 52°c  :-\ bon c'est pas recommandé par SFR mais je ne pensais pas qu'il y aurait autant d'impact.
Si je mets l'ONT à côté de la box, à plat : Temp = 42/43°c, pratiquement 10°c d'écart !
Si je mets l'ONT à côté de la box, à la verticale (sur sa tranche) : Temp = 40°c stable.

Je suis dans une pièce avec temp ambiante à 21°C.
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 10 janvier 2022 à 13:06:00
Effectivement, le mien est posé à plat sur un bureau, température relativement stable à 40°C, pour une pièce à 20, 21°C
Titre: GRAFANA & ONT SFR
Posté par: chc99 le 10 janvier 2022 à 13:20:38
Bonjour,
Et on pourrait faire fonctionner le script sur une Box8?
L'ONT est intégré, mais la console de la box ne propose aucune info.

http://192.168.1.1/api/1.0/?method=system.getInfo
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 10 janvier 2022 à 13:51:30
Bonjour,
Et on pourrait faire fonctionner le script sur une Box8?
L'ONT est intégré, mais la console de la box ne propose aucune info.

http://192.168.1.1/api/1.0/?method=system.getInfo
l'interface web ne donne aucune info ??
il faudrait voir s'il y a une nouvelle API qui permet d'interroger la box, et de préférence sans authentification.
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 10 janvier 2022 à 13:57:56
Bonjour,
Et on pourrait faire fonctionner le script sur une Box8?
L'ONT est intégré, mais la console de la box ne propose aucune info.

http://192.168.1.1/api/1.0/?method=system.getInfo

Je ne suis même pas certain que le script fonctionnerait si je remettais la Box Sfr à la place de mon OPNSense. En fait, pour qu'il fonctionne, il faut que la box laisse passer les flux vers l'ONT et je pense que SFR aura tendance à les protéger : le login/mot de passe de ce truc ne changeant jamais, n'importe qui pourrait prendre la main sur les ONT et les bloquer en changeant le mot de passe par exemple ...

Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 10 janvier 2022 à 14:36:05
192.168.1.1 c'est l'ip de la box, pas de l'ONT...donc on interroge la box par son API, la box interroge l'ONT par je ne sais quel moyen telnet, et retourne l'info par l'API.
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 10 janvier 2022 à 14:55:27
Bonjour, comment faire pour que mon ONT soit accessible depuis mon pc et mon Synology (qui va hébergé telegraf, j'ai fait ajouté 192.168.4.1 sur mon routeur mais lorsque je rentre cette adresse sur mon pc je retombe sur mon routeur ...
Je suis sur un EdgeRouter 4 v2.0.9-hotfix.2
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 10 janvier 2022 à 14:57:17
L'ONT a pour adresse 192.168.4.254, pas de 192.168.4.1.

L'IP 192.168.4.1 doit être ajoutée sur l'interface WAN, et non sur l'interface LAN, je me flagellerai avec des orties fraiches pour avoir laissé trainer cette erreur dans mon README.md
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 10 janvier 2022 à 15:13:36
L'ONT a pour adresse 192.168.4.254, pas de 192.168.4.1.

L'IP 192.168.4.1 doit être ajoutée sur l'interface WAN, et non sur l'interface LAN, je me flagellerai avec des orties fraiches pour avoir laissé trainer cette erreur dans mon README.md

Merci de cette réponse rapide, malheureusement lorsque j'essai d'ajouté l'adresse sur l'interface WAN j'obtiens ... comment résoudre ce petit problème ?
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 10 janvier 2022 à 15:15:28
Euh, tu obtiens quoi exactement ?
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 10 janvier 2022 à 15:17:46
Euh, tu obtiens quoi exactement ?
Désolé j'avais oublié de joindre la capture
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 10 janvier 2022 à 15:36:41
Alors là, je connais peu EdgeOS, j'ai bien un ER-X qui dort dans son carton chez moi mais je n'ai jamais cherché à le configurer pour Red By SFR, donc là je pourrai pas t'aider.
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 10 janvier 2022 à 16:17:13
@Asclèpios
sur Openwrt pour assigner 2 ip à une interface on fait soit un bridge soit un alias de l'interface, voir ici :
https://forum.openwrt.org/t/correct-way-to-have-2-ip-addresses-on-a-given-interface/11975/2

essai de chercher dans cette voie...ca ne devrait pas etre si différent sur EdgeOs, le principe devrait être le même.
Titre: GRAFANA & ONT SFR
Posté par: kgersen le 10 janvier 2022 à 17:00:29
@Asclèpios:
essai d'ajouter via ssh (ou CLI via l'interface web) sur le erl4:
configure
set interfaces pseudo-ethernet peth1 link eth1
set interfaces pseudo-ethernet peth1 address 192.168.4.1/24
set interfaces pseudo-ethernet peth1 description "acces ONT"
commit
save
exit

tu peux également faire cela via l'interface web dans "Config tree".
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 10 janvier 2022 à 20:12:05
@oupsman
je me suis mis une ip alternative sur la carte réseau de mon PC, sur le sous réseau 192.168.4.0/24
et lorsque je scan le sous réseau je trouve des ip ??
Ma box répond sur 192.168.1.1 et sur 192.168.4.1 mais les autres ip c'est quoi ? j'ai scanné les ports sur le 254 ca n'a pas l'air d'être mon ONT ca ne répond pas a autre chose qu'un ping.
(https://i2.paste.pics/dc957be272026fa6a8313329b1f9cd73.png)

(https://i2.paste.pics/7fcbcc61cf82ffe6830484489814057a.png)
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 11 janvier 2022 à 08:03:37
Alors là  :o

C'est d'autant plus étrange que pour aller chercher le 192.168.4.254 depuis ton PC, tu sors sur Internet ! Je pense que cette adresse est sur le réseau interne de SFR, mais je ne saurais pas te dire à quoi ça correspond.

Titre: GRAFANA & ONT SFR
Posté par: Steph le 11 janvier 2022 à 08:24:53
C'est tout à fait cela.
Il y a des fils qui en parlent, trouvables en filtrant sur les adresses concernées.
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 11 janvier 2022 à 08:32:22
de quel adresse parles-tu ? je n'ai rien trouvé...

Edit:
https://lafibre.info/sfr-espace-technique/perte-frequente-synchro-pon-orange-perte-paquets/msg765780/#msg765780
(https://i.imgur.com/TmHg9Lk.png)
Titre: GRAFANA & ONT SFR
Posté par: Steph le 11 janvier 2022 à 08:47:51
Oui, c'est bien ce fil. 192.168.4.0 part chez SFR, après ce que c'est... ?
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 11 janvier 2022 à 08:58:15
C'est marrant, on a un pattern qui se retrouve dans les deux traceroutes, en particulier la petite boucle (la même IP deux fois de suite).

Mais pour ma part avec mon routeur perso, je n'ai pas du tout la même chose. Je ne peux pas pinger l'ONT depuis mon réseau local, juste y faire un telnet donc le traceroute ne passera pas. Si j'ai le temps aujourd'hui, je modifierai mes règles de firewall pour autoriser le ping, ça peut être intéressant. 
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 11 janvier 2022 à 08:58:34
en tout cas ce qui est clair c'est qu'on ne peut pas interroger l'ONT si on garde la Box SFR, a moins de passer par l'API de la box http://192.168.1.1/api/?method=ont.getInfo
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 11 janvier 2022 à 11:22:00
Bonjour, je te remercie pour les commandes données ici, maintenant comment faire pour tester ? Si je rentre l’adresse dans mon navigateur je n’ai aucun retour 😅

@Asclèpios:
essai d'ajouter via ssh (ou CLI via l'interface web) sur le erl4:
configure
set interfaces pseudo-ethernet peth1 link eth1
set interfaces pseudo-ethernet peth1 address 192.168.4.1/24
set interfaces pseudo-ethernet peth1 description "acces ONT"
commit
save
exit

tu peux également faire cela via l'interface web dans "Config tree".
Titre: GRAFANA & ONT SFR
Posté par: thedark le 11 janvier 2022 à 11:24:51
Ping 192.168.4.254.
Titre: GRAFANA & ONT SFR
Posté par: Asclèpios le 11 janvier 2022 à 11:30:15
Merci beaucoup sa fonctionne… maintenant me reste à mettre en place le script sur mon routeur ou sur mon Synology ?
D’après ce que j’ai compris il faut le mettent là où je vais installer télégraf donc sur le Syno ?
Titre: GRAFANA & ONT SFR
Posté par: thedark le 11 janvier 2022 à 11:32:25
en tout cas ce qui est clair c'est qu'on ne peut pas interroger l'ONT
Tu es sur ?
Titre: GRAFANA & ONT SFR
Posté par: oupsman le 11 janvier 2022 à 11:36:24
Merci beaucoup sa fonctionne… maintenant me reste à mettre en place le script sur mon routeur ou sur mon Synology ?
D’après ce que j’ai compris il faut le mettent là où je vais installer télégraf donc sur le Syno ?

Oui, en lançant le script, il renvoi juste une ligne de données, il faut donc le mettre là ou est Telegraf et ensuite modifier la configuration Telegraf pour que celui-ci exécute le script à chaque collecte de métriques.
Titre: GRAFANA & ONT SFR
Posté par: cetipabo le 11 janvier 2022 à 12:48:53
Tu es sur ?
si tu tronques ma phrase, elle n'a plus le même sens  ;)
Citer
...si on garde la Box SFR, a moins de passer par l'API de la box http://192.168.1.1/api/?method=ont.getInfo

D'après le test que je viens de faire, et d'après ce qui est expliqué ici (https://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/Comment_se_connecter_%C3%A0_un_ONT_SFR)
Si on est avec la box SFR (pas son routeur custom) pas moyen de dialoguer directement avec l'ONT, on se retrouve hors de son réseau local, et c'est bien ce qu'il m'est arrivé.

Citer
/!\ Par défaut la box d'SFR route certains sous-réseaux privés (par exemple 192.168.4.0/24) ver l'infrastructure SFR, si vous effectuez un "ping" ver 192.168.4.254 en étant connecté derrière la box il y aura une réponse, mais ce ne sera pas celle de l'ONT, mais l'infrastructure d'SFR qui répondra, on peut le reconnaître à la latence, le temps de réponse de l'ONT oscille entre ~1-4ms, alors que l'infrastructure d'SFR oscille entre ~10-12ms (testé depuis Toulouse, le serveur qui répond est probablement dans la région parisienne) /!\
Titre: GRAFANA & ONT SFR
Posté par: Steph le 11 janvier 2022 à 12:59:35
Et ce n'est probablement pas un hasard que l'ONT SFR soit sur le même sous-réseau 192.168.4.0/24 qu'une partie de l'infra SFR. Peut-être pour le monitoring des ONT ou leur mise à jour?
Titre: GRAFANA & ONT SFR
Posté par: Philibert le 23 mars 2022 à 22:20:18
Salut,

j'ai un petit peu galéré à mettre Télégraf en place dans mon écosystème Home Assistant, mais ça y est, cela fonctionne.

Je ne sais pas si c'est le cas pour tout le monde, mais la Regex qui effectue le parse de l'état des LEDs ne marchait pas car elle ne prenait pas en compte les champs vides, et faisait péter tout le script.
En effet, j'ai un ONT AlticeLabs "V1" avec seulement 3 voyants sur le dessus, et des voyants sur le port Ethernet.

Voici la réponse à la commande "show led status" :

           EQPT        PON        MGNT        LAN        ALM
===================================================================
COLOR      GREEN       GREEN      GREEN       GREEN      OFF
CURSTATE   ON          ON         ON          ON         OFF
PRESTATE   ON          ON         ON          ON         OFF
LEDSTATE               SOLID      SOLID

La regex suivante fonctionne à priori, du moins le script ne plante plus :
.*LEDSTATE {3}([A-Z]{1,8}| {8}) {4,7}([A-Z]{1,8}| {8}) {3,6}([A-Z]{1,8}| {8}) {3,6}([A-Z]{1,8}| {8}) {4,7}([A-Z]{1,8}| {8}) *Point intéressant de ce dashboard, j'ai un RSSI à -32dB en réception, c'est border ça il me semble, non ? Cela dit, la connexion fonctionne très bien
Titre: GRAFANA & ONT SFR
Posté par: Philibert le 12 juin 2022 à 15:54:29
Finalement la mise à jour de la regex marchait pour l'ancien ONT mais pas pour le nouveau que j'ai reçu, celle-ci devrait fonctionner pour les deux :

.*LEDSTATE {3}([A-Z]{1,8}| {8}) {4,7}([A-Z]{1,8}| {8}) {3,6}([A-Z]{1,8}| {8}) {3,7}([A-Z]{1,8}| {8})( {4,7}([A-Z]{1,8}| {8}))? *
Titre: GRAFANA & ONT SFR
Posté par: hsd le 18 décembre 2022 à 20:36:03
Hello,

Pour ceux que ça intéresse, voici pour monitorer l'ONT de SFR avec Cacti

Voici les graphes que cela donne.

(https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133575;image)

(https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133577;image)

(https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133579;image)

Le script pour récupérer les valeurs de l'ONT. Il faut le placer dans le répertoire de script de cacti (/usr/share/cacti/scripts/ par défaut)
A télécharger ici https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133581 (https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133581)

#!/bin/sh

telnet="telnet"
filename="/usr/share/cacti/scripts/logONT.txt"
(
echo "open 192.168.4.254"
sleep 2
echo "admin4me"
sleep 1
echo "connect4you@support"
sleep 1
echo "show gpon RSSI"
sleep 4
echo "show led"
sleep 4
echo "exit"
) | $telnet > $filename 2>&1

LEDS=$(grep COLOR $filename)
#CURSTATE=$(grep CURSTATE $filename)
#PRESTATE=$(grep PRESTATE $filename)
LEDSTATE=$(grep LEDSTATE $filename)
CURSTATEEQPT=$(echo $LEDS | cut -d ' ' -f 2)
CURSTATEPON=$(echo $LEDS | cut -d ' ' -f 3)
CURSTATEMGNT=$(echo $LEDS | cut -d ' ' -f 4)
CURSTATELAN=$(echo $LEDS | cut -d ' ' -f 5)
LEDSTATEEQPT=$(echo $LEDSTATE | cut -d ' ' -f 2)
LEDSTATEPON=$(echo $LEDSTATE | cut -d ' ' -f 3)
LEDSTATEMGNT=$(echo $LEDSTATE | cut -d ' ' -f 4)
LEDSTATELAN=$(echo $LEDSTATE | cut -d ' ' -f 5)

if [ $(echo $LEDS | cut -d ' ' -f 2) = "GREEN" ] && [ $(echo $LEDSTATE | cut -d ' ' -f 2) = "SOLID" ]
then
LEDSTATEEQPT=1
else
LEDSTATEEQPT=0
fi

if [ $(echo $LEDS | cut -d ' ' -f 3) = "GREEN" ] && [ $(echo $LEDSTATE | cut -d ' ' -f 3) = "SOLID" ]
then
LEDSTATEPON=1
else
LEDSTATEPON=0
fi

if [ $(echo $LEDS | cut -d ' ' -f 4) = "GREEN" ] && [ $(echo $LEDSTATE | cut -d ' ' -f 4) = "SOLID" ]
then
LEDSTATEMGNT=1
else
LEDSTATEMGNT=0
fi

if [ $(echo $LEDS | cut -d ' ' -f 5) = "GREEN" ] && [ $(echo $LEDSTATE | cut -d ' ' -f 5) = "SOLID" ]
then
LEDSTATELAN=1
else
LEDSTATELAN=0
fi

echo "receiveRSSI:"$(awk '/receive RSSI/ {print $(NF-1)}' $filename)\
" transmitRSSI:"$(awk '/transmit RSSI/ {print $(NF-1)}' $filename)\
" Current:"$(awk '/Current/ {print $(NF-1)}' $filename)\
" Temperature:"$(awk '/Temperature/ {print $(NF-1)}' $filename)\
" VCC:"$(awk '/Vcc/ {print $(NF-1)}' $filename)\
" currentEQPT:"$LEDSTATEEQPT\
" currentPON:"$LEDSTATEPON\
" currentMGNT:"$LEDSTATEMGNT\
" currentLAN:"$LEDSTATELAN

Et le template Cacti à télécharger https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133582 (https://lafibre.info/remplacer-sfr/grafana-ont-sfr/?action=dlattach;attach=133582)