Bagaimana untuk Reboot Router anda secara automatik dengan Geeky Way
Verizon FIOS hebat - kelajuannya luar biasa, dan harganya ... baik, agak mahal. Masalah sebenar adalah bahawa penghala yang dahsyat yang mereka berikan anda perlu reboot sepanjang masa, yang merupakan kesakitan diraja memandangkan ia turun di bawah tanah. Plus, saya tidak mahu turun sofa.
Jadi saya merenungkan bagaimana saya dapat menyelesaikan masalah ini menggunakan teknologi. Itulah yang dilakukan geeks, betul?
Ya, saya tahu, saya mungkin memanggil Verizon dan menaik taraf router, saya pasti mereka mempunyai model yang lebih baik sekarang. Dan pasti, anda boleh mengemas kini firmware, tetapi itu tidak akan berfungsi untuk penghala lama saya kerana tidak ada kemas kini. Masa untuk penyelesaian yang lebih mudah yang secara idealnya melibatkan pekerjaan cron. Pekerjaan cron sentiasa menjadi keputusan yang baik.
Setelah tiga minit penyelidikan dan brainstorming, penyelesaiannya muncul: Anda boleh mengaktifkan telnet pada router, membuat skrip yang secara automatik menjalankan satu siri perintah menggunakan antarmuka telnet, dan kemudian menjadualkan skrip itu dengan tugas cron untuk berjalan secara teratur asas. Bagi saya, itu bermakna setiap pagi pada jam 7 pagi, satu jam sebelum saya bangun, dan sekali lagi pada 5:30 petang, kerana saya sentiasa keluar dari rumah pada ketika itu. Masalah diselesaikan, dan saya boleh menggunakan Vim, yang juga membuatkan saya gembira.
Dan tentunya, anda boleh membuat skrip untuk berjalan mengikut permintaan untuk terus reboot router bila-bila masa yang anda mahukan.
Catatan: anda mungkin boleh melakukan hal yang sama dengan router yang bukan Verizon. Anda perlu menyemak panel pentadbiran router anda dan lihat bagaimana pilihannya berfungsi di sana.
Menyambung ke Router anda melalui Telnet
Perkara pertama yang anda ingin lakukan adalah memikirkan bagaimana untuk membolehkan telnet di penghala. Untuk penghantar Verizon, yang diperlukan masuk ke Advanced -> Pentadbiran Tempatan dan memastikan "Menggunakan Port Telnet Utama" diaktifkan. Pastikan anda klik Terapkan.
Pada ketika ini, anda boleh dengan mudah menggunakan telnet dari terminal atau command prompt untuk menyambung ke router. Jika anda menggunakan Windows, anda mungkin perlu mendayakan telnet. Untuk menyambung, ketikkan ini, menggantikan alamat IP untuk IP router anda sendiri jika perlu (walaupun kebanyakan ditetapkan untuk menggunakan julat 192)
telnet 192.168.1.1
Sebaik sahaja anda berada di sana, anda biasanya boleh menaip arahan bantuan untuk melihat pilihan apa. Untuk Verizon FIOS, pilihan yang saya cari adalah dalam sub-seksyen sistem, dan tepat bertajuk "reboot." Anda perlu mengetikkan "sistem reboot" dan bukan hanya "reboot" walaupun.
Sebaik sahaja anda menaip perintah pada prompt, anda akan terputus sambungan, dan penghala akan disambung semula. Mudah, ya. Tetapi siapa yang mahu melakukan semua yang menaip setiap kali?
Scripting Telnet melalui Terminal (OS X atau Linux atau Cygwin pada Windows)
Kami akan menganggap anda mempunyai akses ke shell bash, sama ada itu dalam OS biasa anda, atau jika OS anda (Windows) tidak mempunyai bash, anda mungkin perlu memasang Cygwin.
Ia menghairankan mudah untuk skrip set arahan dan paip ke dalam aplikasi telnet. Yang perlu anda lakukan adalah seperti ini:
(echo commandname; echo anothercommand) | telnet 192.168.1.1
Satu-satunya masalah adalah log masuk yang merengut bahawa anda perlu melalui ... ia tidak muncul dengan serta-merta. Jadi jika anda paip dalam "echo admin" dan kemudian "echo password", ia akan berlaku terlalu cepat dan tidak akan dihantar ke pelayan. Penyelesaian? Gunakan arahan tidur!
Menambah beberapa kali 3 arahan, menunggu tiga saat, menyelesaikan masalah itu. Mula-mula kita akan echo nama pengguna dan kata laluan, dan kemudian kita akan echo perintah reboot, dan setiap kali kita akan menunggu tiga saat antara. Perintah terakhir akan reboot pelayan dengan serta-merta:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Anda boleh memasukkannya ke dalam skrip shell dan menjalankannya bila-bila masa anda mahu. Atau anda boleh menambahkannya ke cron anda seperti ini (di OS X atau Linux):
crontab -e
Tambahkan baris ini di suatu tempat:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; echo system reboot; sleep 3;) | telnet 192.168.1.1
Ini akan menyambung semula penghala anda pada pukul 7:01 pagi setiap pagi.
Reboot Penghala Jalan Windows
Jika anda menjalankan Windows, lebih rumit untuk menjadualkan ini secara automatik, tetapi kami pasti dapat skripnya dengan mudah. Mula-mula anda perlu masuk ke Panel Kawalan, masuk ke panel "Menghidupkan atau mematikan Windows" (cari sahaja), dan kemudian aktifkan Pelanggan Telnet.
Sekarang anda boleh menyisipkan yang berikut ke dalam Notepad, tetapi menukar IP router jika perlu, dan ubah baris laluan mypassword menjadi kata laluan sebenarnya anda. Anda mungkin perlu mengedit skrip untuk arahan yang berbeza.
Opsyen jelas Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "buka 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript. Tidur 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "reboot sistem ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
Simpan ia sebagai lanjutan .vbs, dan kemudian anda boleh klik dua kali pada bila-bila masa anda mahu reboot router.
Penjadualan dalam Windows dengan Tugas Terjadual
Buka Penjadual Tugas dan buat Tugas Asas baru, memberikannya nama dan jadwal - setiap hari pada waktu tertentu akan berfungsi. Kemudian gunakan pilihan Start Program dan semak imbas ke fail skrip yang telah anda buat.
Itu cukup banyak yang perlu anda lakukan.
Catatan: arahan dalam artikel ini adalah khusus untuk Verizon FIOS tetapi anda mungkin boleh melakukan ini dengan mana-mana penghala. Tolong beritahu kami dalam ulasan jika anda mendapatkannya untuk bekerja dengan router lain dan kami akan mengemas kini artikel itu untuk mencerminkannya.