Page d'accueil » comment » Comment redémarrer automatiquement votre routeur de la manière geek

    Comment redémarrer automatiquement votre routeur de la manière geek

    Verizon FIOS est génial - les vitesses sont incroyables et le prix est… bon, un peu cher. Le vrai problème, c’est que le terrible routeur qu’ils vous fournissent doit être redémarré en permanence, ce qui est pénible, car il est au sous-sol. De plus, je ne veux pas me lever du canapé.

    J'ai donc réfléchi à la façon dont je pourrais résoudre ce problème en utilisant la technologie. C'est ce que font les geeks, non?

    Ouais, je sais, je pourrais probablement appeler Verizon et mettre à jour le routeur, je suis sûr qu'ils ont un meilleur modèle maintenant. Et bien sûr, vous pouvez mettre à jour le micrologiciel, mais cela ne fonctionnera pas pour mon ancien routeur car il n'y a pas de mise à jour. Il est temps de trouver une solution plus simple impliquant idéalement un travail cron. Les emplois Cron sont toujours une bonne décision.

    Après trois minutes de recherche et de brainstorming, une solution s’est présentée: vous pouvez activer telnet sur le routeur, configurer un script qui exécute automatiquement une série de commandes à l’aide de l’interface telnet, puis planifier son exécution avec une tâche cron de manière régulière. base. Pour moi, cela voulait dire tous les matins à 7h du matin, une heure avant mon réveil, et à 17h30, car je suis toujours à l'extérieur de la maison. Problème résolu, et je peux utiliser Vim, ce qui me rend également heureux.

    Et bien sûr, vous pouvez créer un script à exécuter à la demande pour redémarrer immédiatement le routeur quand vous le souhaitez..

    Remarque: vous pouvez probablement faire la même chose avec un routeur autre que Verizon. Vous devrez vérifier le panneau d'administration de votre routeur et voir comment les options fonctionnent là-bas..

    Connexion à votre routeur via Telnet

    La première chose à faire est de déterminer comment activer Telnet sur le routeur. Pour le routeur Verizon, cela nécessitait d'aller dans Avancé -> Administration locale et en s'assurant que «Utiliser le port Telnet principal» était activé. Assurez-vous de cliquer sur Appliquer.

    À ce stade, vous pouvez facilement utiliser telnet à partir du terminal ou d'une invite de commande pour vous connecter au routeur. Si vous utilisez Windows, vous devrez probablement activer telnet. Pour vous connecter, tapez simplement ceci, en remplaçant l'adresse IP par l'adresse de votre propre routeur si nécessaire (bien que la plupart soient configurés pour utiliser la plage 192)

    telnet 192.168.1.1

    Une fois que vous y êtes, vous pouvez généralement taper la commande help pour voir quelles sont les options. Pour Verizon FIOS, l’option que je recherchais se trouvait dans la sous-section système et portait à juste titre l’appellation «redémarrage». Vous devez en fait taper «redémarrage du système» et non pas simplement «redémarrer»..

    Une fois que vous avez tapé la commande à l’invite, vous serez déconnecté et le routeur sera redémarré. Facile, oui. Mais qui veut faire tout ce qui tape à chaque fois?

    Scripting Telnet via le terminal (OS X ou Linux ou Cygwin sous Windows)

    Nous allons supposer que vous avez accès au shell bash, que ce soit dans votre système d'exploitation normal ou si votre système d'exploitation (Windows) ne dispose pas de bash, vous devrez peut-être installer Cygwin..

    Il est étonnamment facile de scripter un ensemble de commandes et de les diriger vers l'application telnet. Tout ce que vous avez à faire est quelque chose comme ça:

    (echo nom_commande; echo autre commande) | telnet 192.168.1.1

    Le seul problème est la connexion fastidieuse que vous devez obtenir… elle ne s'affiche pas immédiatement. Donc, si vous dirigez un "administrateur d'écho" puis un "mot de passe d'écho", cela se produira trop rapidement et ne sera pas envoyé au serveur. La solution? Utilisez la commande de sommeil!

    Ajouter quelques commandes sleep 3, attendre trois secondes, résout le problème. Nous allons d’abord faire écho le nom d’utilisateur et le mot de passe, puis la commande de redémarrage et chaque fois, nous attendrons trois secondes. La dernière commande va immédiatement redémarrer le serveur:

    (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; redémarrage du système d'écho; sleep 3;) | telnet 192.168.1.1

    Vous pouvez l'insérer dans un script shell et l'exécuter à tout moment. Ou vous pouvez l'ajouter à votre cron comme ceci (sous OS X ou Linux):

    crontab -e

    Ajouter cette ligne quelque part:

    1 7 * * * (sommeil 3; écho admin; sommeil 3; écho mypassword; sommeil 3; redémarrage du système d'écho; sommeil 3;) | telnet 192.168.1.1

    Cela redémarrera votre routeur à 7h01 chaque matin..

    Redémarrage du routeur sous Windows

    Si vous utilisez Windows, il est beaucoup plus compliqué de planifier cela automatiquement, mais nous pouvons certainement le scripter assez facilement. Vous devez d’abord accéder au Panneau de configuration, au panneau «Activer ou désactiver les fonctionnalités Windows» (recherchez-le simplement), puis activer le client Telnet..

    Vous pouvez maintenant coller les éléments suivants dans le Bloc-notes, mais modifiez l’adresse IP du routeur, si nécessaire, et modifiez la ligne mypassword pour qu'elle devienne votre mot de passe actuel. Vous devrez peut-être éditer le script pour différentes commandes.

    Option explicite Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "ouvert 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "redémarrage du système ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit

    Enregistrez-le en tant qu'extension .vbs et vous pourrez alors double-cliquer dessus à tout moment pour redémarrer le routeur..

    Planification sous Windows avec une tâche planifiée

    Ouvrez le planificateur de tâches et créez une nouvelle tâche de base, en lui attribuant un nom et un calendrier. Chaque jour, à une certaine heure, cela fonctionnerait. Ensuite, utilisez l'option Démarrer un programme et naviguez jusqu'au fichier de script que vous avez créé..

    C'est à peu près tout ce que vous avez à faire.

    Remarque: les instructions de cet article sont spécifiques à Verizon FIOS, mais vous pouvez probablement le faire avec n’importe quel routeur. S'il vous plaît laissez-nous savoir dans les commentaires si vous le faites fonctionner avec un autre routeur et nous mettrons à jour l'article pour le refléter.