21Jul

Comment réinitialiser automatiquement votre routeur la voie Geek

Verizon FIOS est génial - les vitesses sont incroyables, et le prix est. .. bon, plutôt cher. Le vrai problème est que le terrible routeur qu'ils vous donnent doit être redémarré tout le temps, ce qui est une douleur royale compte tenu qu'il est dans le sous-sol. De plus, je ne veux pas sortir du canapé.

J'ai donc envisagé comment je pourrais résoudre ce problème en utilisant la technologie. C'est ce que font les geeks, n'est-ce pas?

Oui, 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 firmware, mais cela ne fonctionnera pas pour mon ancien routeur car il n'y a pas de mise à jour. Il est temps pour une solution plus facile qui implique 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 ce script avec un travail cronrégulièrement. Pour moi, cela signifiait tous les matins à 7h du matin, une heure avant le réveil, et encore à 17h30, puisque je suis toujours à l'extérieur de la maison à ce moment-là.Problème résolu, et je peux utiliser Vim, ce qui me rend aussi heureux.

Et bien sûr, vous pouvez faire un script à lancer à la demande pour redémarrer immédiatement le routeur quand vous le voulez.

Remarque: vous pouvez probablement faire la même chose avec un routeur qui n'est pas Verizon. Vous devrez vérifier le panneau d'administration de votre routeur et voir comment fonctionnent les options.

Connexion à votre routeur via Telnet

La première chose que vous voulez faire est de comprendre comment activer telnet sur le routeur. Pour le routeur Verizon, cela exigeait d'aller dans Advanced - & gt;Administration locale et assurez-vous que "Utiliser le port Telnet principal" est activé.Assurez-vous de cliquer sur Appliquer.

À ce stade, vous pouvez facilement utiliser telnet depuis le terminal ou l'invite de commande pour vous connecter au routeur. Si vous utilisez Windows, vous devrez probablement activer telnet. Pour se connecter, il suffit de taper ceci, en substituant l'adresse IP de l'IP de votre propre routeur si nécessaire( bien que la plupart utilisent la plage 192)

telnet 192.168.1.1

Une fois que vous êtes là, vous pouvez généralement taper la commande help pourvoir quelles sont les options. Pour Verizon FIOS, l'option que je cherchais était dans la sous-section du système, et s'appelait justement "reboot". Vous devez en fait taper "system restart" et pas seulement "reboot".

Une fois que vous tapez la commande à l'invite, vous serez déconnecté et le routeur sera redémarré.Facile, ouiMais qui veut faire tout ce tapant à chaque fois?

Scripting Telnet à travers 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) n'a pas bash, vous devrez peut-être installer Cygwin.

Il est étonnamment facile de programmer un ensemble de commandes et de les envoyer dans l'application telnet. Tout ce que vous devez faire est quelque chose comme ceci:

( echo commandname; echo anothercommand) |telnet 192.168.1.1

Le seul problème est la connexion lancinante que vous devez traverser. .. il ne s'affiche pas tout de suite. Donc, si vous utilisez un "echo admin" puis un "echo password", cela arrivera trop vite et ne sera pas envoyé au serveur. La solution? Utilisez la commande de sommeil!

Ajouter dans un couple de sommeil 3 commandes, attendre trois secondes, résout le problème. Nous allons d'abord nous faire l'écho du nom d'utilisateur et du mot de passe, puis nous ferons écho à la commande reboot, et chaque fois nous attendrons trois secondes. La dernière commande va redémarrer le serveur immédiatement:

( sleep 3, echo admin, sleep 3, echo mypassword, sleep 3, redémarrage du système echo, sleep 3;) |Telnet 192.168.1.1

Vous pouvez mettre cela dans un script shell et l'exécuter quand vous le voulez. Ou vous pouvez l'ajouter à votre cron comme ceci( sur OS X ou Linux):

crontab -e

Ajouter cette ligne quelque part:

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

Cela va redémarrer votre routeur à 07h01 chaque matin.

Redémarrage du routeur Windows Way

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

Maintenant, vous pouvez coller ce qui suit dans le Bloc-notes, mais changez l'IP du routeur si nécessaire, et changez la ligne mypassword pour être votre mot de passe réel à la place. Vous devrez peut-être modifier le script pour différentes commandes.

Option explicite Dim oShell ensemble oShell = Wscript. CreateObject( "WScript. Shell") oShell. Run "telnet" WScript. Sleep 3000 oShell. Sendkeys "ouvrir 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 pouvez doubler-cliquez dessus chaque fois que vous voulez redémarrer le routeur.

Planification dans Windows avec une tâche planifiée

Ouvrez le planificateur de tâches et créez une nouvelle tâche de base, en lui donnant un nom et un horaire - tous les jours à un certain moment 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 l'obtenez de travailler avec un autre routeur et nous mettrons à jour l'article pour le refléter.