Auteur Sujet: WatchDog pour le routeur ? (avec Softdog pour Windows et projet Arduino)  (Lu 5223 fois)

0 Membres et 1 Invité sur ce sujet

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
Hello,

Après le 10ième plantage de mon PC "passerelle" (ce qui reste toujours allumé avec TeamViewer et VNC) à cause du pilote Realtek Ethernet qui plante. J'ai mis en place une tache planifiée qui teste le réseau, reset les interface et reboot si nécessaire (c'est un softdog). Le code est ci-dessous.
Question bête, mon routeur ADSL Technicolor TG788 était plutôt fiable. La Freebox Crystal de mon voisin est plutôt plantogène (aka nécessite d'être débranchée/rebranchée). 
La Livebox v4 est plutôt dans la catégorie "technicolor" ou la catégorie "crystal" ?
(J'hésite à installer un watchdog hardware qui redémarre Livebox et swicths en cas de perte de ping vers l'extérieur.)

-Simon-

Code de mon batch, but étant de ne redémarrer l'ordinateur que si le routeur ou 3 services Windows (TeamViewer, VNC, Explorer) ou 6 services internet différents réseau sont bien indisponibles :
@echo off
cls
rem **************************************************************************
rem Script spécial anti-carte-réseau-défaillante / Simon 03032019
rem **************************************************************************
rem  A exécuter en tant que tâche planifiée
rem  Au démarrage du système, reporter d'une heure puis toutes les 15 minutes.
rem  Autorisations maximales et exécution masquée
rem **************************************************************************
rem Quand tout marche bien, le script ping le routeur et le NAS et recommencera ainsi
rem Si l'un des deux est en erreur, il ping le routeur et un service web1
rem Si l'un des deux est en erreur, il reset la couche réseau de Windows 1/2
rem Si l'un des deux est en erreur, il ping le routeur et un service web2
rem Si l'un des deux est en erreur, il ping le routeur et un service web3
rem Si l'un des deux est en erreur, il reset la couche réseau de Windows 2/2
rem Si l'un des deux est en erreur, il ping le routeur et un service web4
rem Si l'un des deux est en erreur, il ping le routeur et un service web5
rem Si l'un des deux est en erreur, il archive le fichier de log et redémarre Windows
rem Note : Ce script doit être stocké sur un lecteur local ! (à cause du reset réseau)

rem *** compteur de retentative
set retry=0

:retry
set result=*

:systématique
echo TEST Service TeamViewer
tasklist /FI "IMAGENAME eq TeamViewer_Service.exe" 2>NUL | find /I /N "TeamViewer_Service.exe">NUL
if errorlevel 1 set result=%result%/KO Teamviewer

echo TEST Service TightVNC
tasklist /FI "IMAGENAME eq tvnserver.exe" 2>NUL | find /I /N "tvnserver.exe">NUL
if errorlevel 1 set result=%result%/KO TightVNC

echo TEST explorer
tasklist /FI "IMAGENAME eq explorer.exe" 2>NUL | find /I /N "explorer.exe">NUL
if errorlevel 1 set result=%result%/KO WinExplorer

echo TEST Livebox
set ip=livebox
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Livebox

:test0
if not %retry%==0 goto :test1
echo TEST Nas
set ip=stockage.local
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Nas

:test1
if not %retry%==1 goto :test2
echo TEST ping.eu
set ip=ping.eu
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO ping.eu

:test2
if not %retry%==2 goto :test3
echo TEST Qwant
set ip=www.qwant.com
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Qwant

:test3
if not %retry%==3 goto :test4
echo TEST Bing
set ip=www.bing.com
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Bing

:test4
if not %retry%==4 goto :test5
echo TEST Google
set ip=www.google.com
rem ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Google

:test5
if not %retry%==5 goto :result
echo TEST Amazon
set ip=www.amazon.com
ping -n 1 %ip%
ping -n 1 %ip% | find "temps"
if errorlevel 1 set result=%result%/KO Amazon

:result
rem *** on logue le résultat
echo ***SoftDog*** %date% %time% Resultat: %result%
echo ***SoftDog*** %date% %time% Resultat: %result% >> C:\SoftDog.log

rem *** Si pas d'erreur, on finit immédiatement
if "%result%"=="*" goto :end

rem *** sinon ...
echo On recommence...
rem *** pause de 60 secondes (ce qui permet 5 minutes d'erreur avant un reboot)
timeout 60
set /a retry=%retry%+1
if %retry%==1 goto :netfix
if %retry%==3 goto :netfix
if %retry%==5 goto :shutdown
goto :retry

rem *** Option corrective 1 :
rem *** on redémarre le réseau
:netfix
  echo Action : RESET NETWORK
  echo Action : RESET NETWORK >> C:\SoftDog.log
  netsh winsock reset
  netsh int ip reset
  ipconfig /release
  ipconfig /renew
  ipconfig /flushdns
goto :retry

rem *** Option corrective 2 :
rem *** on redémarre le système
:shutdown
  echo Action : RESTART
  echo Action : RESTART >> C:\SoftDog.log
  rem *** Renommage du log avant reboot pour l'histoire !
  set _my_datetime=%date%_%time%
  set _my_datetime=%_my_datetime: =_%
  set _my_datetime=%_my_datetime::=%
  set _my_datetime=%_my_datetime:/=_%
  set _my_datetime=%_my_datetime:.=_%
  set _my_datetime=%_my_datetime:,=%
  rename C:\SoftDog.log C:\SoftDog_reboot_%_my_datetime%.log
  rem *** Redemarrage
  shutdown /r /f /t 10
  rem *** On attend le redémarrage
  timeout 10

:end
rem *** pause pour débug uniquement
rem pause
« Modifié: 14 mars 2019 à 09:44:51 par sim_v »

lechercheur123

  • AS2027 MilkyWan
  • Expert
  • *
  • Messages: 1 296
  • Montauban (82)
    • AS208261 - Pomme Télécom
WatchDog ?
« Réponse #1 le: 02 mars 2019 à 03:33:01 »
Dans mon cas, j'ai un serveur derrière une Livebox 4 (les 2 sur un onduleur). 3 mois se sont écoulés depuis son installation et je n'ai pas encore perdu accès à mon serveur (hors changement d'IP, mais la perte de connexion dure juste le temps que le DynDNS se mette à jour). Je note notamment que le firewall IPv6 est moins bugué et n'a pour l'instant pas planté (contrairement à son homologue sur Livebox Play qui me faisait perdre l'accès IPv6 sur le serveur).

J'ai pour l'instant un uptime de 41j, qui correspond au moment où la Livebox a été débranchée pour changer la multiprise la connectant à l'onduleur.

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #2 le: 02 mars 2019 à 12:06:14 »
C'est effectivement correcte. Tout est sur onduleur.

Je pensais intégrer à un outil comme ici : https://www.gotronic.fr/art-controleur-ethernet-watchdog-tcw112-wd-27071.htm
Microcontrolleur qui ping et active un relais en cas de souci. Paramétrage par une interface HTTP.
Une alternative tout-en-un intégrée dans une prise : http://lanterne-rouge.over-blog.org/2019/02/prise-pilotable-par-ethernet-iqsocket.et-ses-problemes.html

lechuck

  • Abonné Orange Fibre
  • *
  • Messages: 1 758
  • 06
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #3 le: 02 mars 2019 à 20:38:22 »
Question bête à quoi sert ce PC "passerelle" ???

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #4 le: 03 mars 2019 à 13:36:42 »
En fait, c'est PC sans écran ( le mien : https://www.amazon.fr/Alfawise-Mini-PC-Z83V-Processeur/dp/B074V7M1JD , il y a mieux depuis) qui me sert à accéder à mon réseau local depuis l'extérieur ou depuis un autre PC local, à lancer des speedtests depuis un portable, déplacer de volumineux dossiers sur le réseau gigabit (depuis un portable en Wifi), scanner avec ClamAV le NAS, etc. Il est allumé 24/24&7/7 donc disponible.
Il y a aussi un enregistreur TNT et CapTvTy pour charger des replays.
Bref, un PC pas puissant mais bénéficiant du Gigabit réseau et à qui je peux confier des tâches barbantes que je sois chez moi ou pas.
Consommation de quelques watts seulement.

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #5 le: 05 mars 2019 à 08:44:32 »
Bon je me lance dans la conception d'un Watchdog pour le routeur, les switchs, le "PC passerelle" et le NAS.
Un Watchdog 4 en 1 sur une base Arduino !

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #6 le: 09 mars 2019 à 22:19:03 »
Fini !
Le code source est dans ce post https://lafibre.info/installation-fibre/watchdog/msg633162/#msg633162



Et l'interface WEB épurée ...
« Modifié: 14 mars 2019 à 09:56:03 par sim_v »

lechercheur123

  • AS2027 MilkyWan
  • Expert
  • *
  • Messages: 1 296
  • Montauban (82)
    • AS208261 - Pomme Télécom
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #7 le: 10 mars 2019 à 19:29:49 »
Sympa :)

Par contre, un Uno ne suffisait pas pour la mémoire ? Il en faut autant que ça ?

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #8 le: 10 mars 2019 à 19:55:47 »
A cause des messages je sature le UNO. Avant même l'interface Web il était saturé. La différence de prix entre UNO et MEGA reste assez faible.

Compilation en mode UNO :
Le croquis utilise 33152 octets (102%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 4754 octets (232%) de mémoire dynamique, ce qui laisse -2706 octets pour les variables locales. Le maximum est de 2048 octets.

Avec un LCD géré à minima, sans debug et sans interface web (qui est le seul moyen de le configurer !) ca peut passer !
Mais pour les quelques euro de la différence de prix entre clone UNO et clone MEGA.
(je tiens à préciser que j'ai des kits Arduino officiels dont le starter kit !)

lechercheur123

  • AS2027 MilkyWan
  • Expert
  • *
  • Messages: 1 296
  • Montauban (82)
    • AS208261 - Pomme Télécom
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #9 le: 10 mars 2019 à 19:57:33 »
Effectivement, ça dépasse :)

(je tiens à préciser que j'ai des kits Arduino officiels dont le starter kit !)

Tu as le droit d'utiliser des clones. Après tout, c'est du Open Hardware :)

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #10 le: 13 mars 2019 à 09:57:40 »
Bon ça marche vraiment bien. Je vais voir si une version UNO (il existe des cartes UNO avec Ethernet intégré) est jouable sans gestion du Debug et du LCD.
Ca ferait une solution watchdog à moins de 30 EUR.

sim_v

  • Abonné Orange Fibre
  • *
  • Messages: 186
  • Gévezé 35
WatchDog pour le routeur ? (ce post inclut un Softdog pour Windows)
« Réponse #11 le: 14 mars 2019 à 09:20:21 »
Version UNO impossible, avec l'interface Web j'ai une 200% de variables globales. Pour le code ça passe.
Je serais à 120-130% je pourrais optimiser mais 200% la marche est trop haute.