ルーターを自動的に再起動する方法
Verizon FIOSは素晴らしいです - 速度は信じられないほどです、そして価格は…まあ、ちょっと高価です。本当の問題は、彼らがあなたに与えるひどいルーターはいつも再起動される必要があるということです。さらに、私はソファから降りたくない.
そこで私はこの問題を技術を使って解決する方法を考えました。それはオタクがすることです、正しい?
うん、私は知っている、私はおそらくVerizonを呼び出してルータをアップグレードすることができます、私は彼らが今より良いモデルを持っていると確信しています。そして、確かに、あなたはファームウェアを更新することができます、しかし更新がないのでそれは私の古いルーターのために働かないでしょう。理想的にはcronの仕事を含むより簡単な解決策のための時間。 Cronの仕事は常に良い決断です.
ルータでtelnetを有効にし、telnetインタフェースを使用して一連のコマンドを自動的に実行するスクリプトを設定し、そのスクリプトをcronジョブでスケジュールして通常のスクリプトで実行することができます。基礎。私にとっては、毎朝午前7時、起きる1時間前、そして午後5時30分ということになります。なぜなら、私はいつも家の外にいるからです。問題は解決しました、そして私はVimを使うことができ、それも私を幸せにします.
そしてもちろん、いつでもすぐにルータを再起動するスクリプトをオンデマンドで実行することができます。.
注意: あなたはおそらくVerizonではないルータで同じことをすることができます。ルーターの管理パネルを確認して、そこでオプションがどのように機能するのかを確認する必要があります。.
Telnet経由でルータに接続する
あなたがしたいと思う最初の事はルータのtelnetを有効にする方法を理解することです。 Verizonルータの場合は、[Advanced] - > [Local Administration]に移動し、[Using Primary Telnet Port]が有効になっていることを確認する必要がありました。必ず適用をクリックしてください。.
この時点で、端末またはコマンドプロンプトからtelnetを使用してルーターに接続することができます。 Windowsを使用している場合は、おそらくtelnetを有効にする必要があります。接続するには、必要に応じてこれを入力し、自分のルーターのIPをIPアドレスに置き換えます(ほとんどの場合は192の範囲を使用するように設定されています)。
telnet 192.168.1.1
いったんそこに入ったら、通常helpコマンドを入力してオプションが何であるかを見ることができます。 Verizon FIOSの場合、私が探していたオプションはsystemサブセクションにあり、適切に「reboot」と題されていました。実際には「reboot」ではなく「system reboot」と入力する必要があります。.
プロンプトでコマンドを入力すると、切断され、ルータが再起動されます。簡単ですね。しかし、誰が毎回そのようなタイピングをすべてやりたいのか?
ターミナルを介したTelnetのスクリプティング(OS XまたはLinuxまたはWindowsのCygwin)
私たちはあなたがbashシェルにアクセスできると仮定します、それがあなたの普通のOSにあるかどうか、あるいはあなたのOS(Windows)がbashを持っていないなら、あなたはCygwinをインストールしなければならない.
コマンドのセットをスクリプト化してそれらをtelnetアプリケーションにパイプするのは驚くほど簡単です。あなたがする必要があるのはこのようなものです:
(echo commandname; echo anothercommand)| telnet 192.168.1.1
唯一の問題はあなたが通過しなければならない煩わしいログインです…それはすぐには現れません。そのため、「echo admin」を入力してから「echo password」を入力すると、処理が早くなりすぎてサーバーに送信されません。ソリューション? sleepコマンドを使う!
3秒間待つために、2つのsleep 3コマンドを追加すると、問題が解決します。最初にユーザー名とパスワードをエコーし、次にrebootコマンドをエコーします。毎回3秒間待機します。最後のコマンドはすぐにサーバを再起動します。
(スリープ3、エコー管理者、スリープ3、mypasswordのエコー、スリープ3、システムの再起動のエコー、スリープ3;) telnet 192.168.1.1
これをシェルスクリプトに入れて、いつでも実行できます。あるいは、これをあなたのcronに追加することもできます(OS XまたはLinuxの場合)。
クロンタブ-e
この行をどこかに追加してください。
1 7 * * *(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3;エコーシステムリブート; sleep 3;) telnet 192.168.1.1
毎朝7:01にルーターが再起動します。.
Windowsの方法でルータを再起動する
Windowsを実行している場合、これを自動的にスケジュールするのははるかに複雑ですが、私たちは間違いなく十分に簡単にそれを除外することができます。まず、コントロールパネルを開き、「Windowsの機能の有効化または無効化」パネルに移動して(それを検索するだけ)、Telnetクライアントを有効にする必要があります。.
これで、以下をメモ帳に貼り付けることができますが、必要に応じてルーターのIPアドレスを変更し、代わりにmypasswordの行を実際のパスワードに変更します。あなたは異なるコマンドのためにスクリプトを編集する必要があるかもしれません.
オプション明示的なDim oShellセットoShell = Wscript.CreateObject( "WScript.Shell")oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "open 192.168.1.1〜" WScript.Sleep 3000 oShell.Sendkeys "admin〜" WScript。スリープ3000 oShell.Sendkeys "mypassword〜" WScript.Sleep 3000 oShell.Sendkeys "システムの再起動〜" WScript.Sleep 3000 oShell.Sendkeys "〜" Wscript.Quit
拡張子.vbsとして保存し、ルータを再起動したいときはいつでもダブルクリックできます。.
スケジュールタスクを使用したWindowsでのスケジュール
タスクスケジューラを開いて新しい基本タスクを作成し、名前とスケジュールを付けます - ある特定の時間に毎日動作します。次に、[プログラムの開始]オプションを使用して、作成したスクリプトファイルを探します。.
それはあなたがしなければならないことのほとんどすべてです.
注意: この記事の手順はVerizon FIOSに固有のものですが、おそらくどのルータでも実行できます。他のルーターで動作するようになった場合はコメント欄にお知らせください。それを反映するように記事を更新します。.