Vì vậy, tôi đã suy ngẫm về cách tôi có thể giải quyết vấn đề này bằng cách sử dụng công nghệ. Đó là những gì những người chuyên nghiệp làm, đúng không?
Vâng, tôi biết, tôi có thể gọi Verizon và nâng cấp bộ định tuyến, tôi chắc chắn họ có mô hình tốt hơn ngay bây giờ. Và chắc chắn, bạn có thể cập nhật chương trình cơ sở, nhưng điều đó sẽ không hoạt động đối với bộ định tuyến cũ của tôi vì không có bản cập nhật. Thời gian cho một giải pháp dễ dàng hơn lý tưởng liên quan đến một công việc định kỳ. Việc làm cron luôn là một quyết định tốt.
Sau ba phút nghiên cứu và động não, một giải pháp tự giới thiệu: Bạn có thể bật telnet trên router, thiết lập kịch bản tự động chạy một loạt lệnh bằng giao diện telnet và sau đó lên lịch tập lệnh đó với lệnh cron để chạy thường xuyên nền tảng. Đối với tôi, điều đó có nghĩa là mỗi buổi sáng lúc 7 giờ sáng, một giờ trước khi tôi thức dậy, và một lần nữa vào lúc 5:30 chiều, vì tôi luôn luôn ra khỏi nhà vào thời điểm đó. Vấn đề được giải quyết, và tôi có thể sử dụng Vim, mà cũng làm cho tôi hạnh phúc.
Và tất nhiên, bạn có thể tạo một kịch bản để chạy theo yêu cầu để khởi động lại ngay lập tức bộ định tuyến bất cứ khi nào bạn muốn.
Chú thích:bạn có thể làm điều tương tự với một bộ định tuyến không phải là Verizon. Bạn sẽ cần phải kiểm tra bảng điều khiển quản trị của bộ định tuyến và xem các tùy chọn hoạt động trên đó như thế nào.
Kết nối với Bộ định tuyến của bạn qua Telnet
Điều đầu tiên bạn cần làm là tìm hiểu cách bật telnet trên bộ định tuyến. Đối với bộ định tuyến Verizon, yêu cầu phải đi vào Nâng cao -> Quản trị cục bộ và đảm bảo “Sử dụng Cổng chính Telnet” được bật. Đảm bảo nhấp vào Áp dụng.
telnet 192.168.1.1
Khi bạn ở trong đó, bạn thường có thể nhập lệnh trợ giúp để xem các tùy chọn là gì. Đối với Verizon FIOS, tùy chọn tôi đang tìm kiếm nằm trong phần phụ hệ thống, và có tên là “khởi động lại”. Bạn phải gõ “khởi động lại hệ thống” và không chỉ “khởi động lại”.
Scripting Telnet thông qua Terminal (OS X hoặc Linux hoặc Cygwin trên Windows)
Chúng tôi sẽ giả sử bạn có quyền truy cập vào bash shell, cho dù đó là hệ điều hành bình thường của bạn hay hệ điều hành của bạn (Windows) không có bash, bạn có thể phải cài đặt Cygwin.
Thật dễ dàng để viết kịch bản lệnh và đặt chúng vào ứng dụng telnet. Tất cả những gì bạn cần làm là một cái gì đó như thế này:
(echo commandname;echo anothercommand) | telnet 192.168.1.1
Vấn đề duy nhất là đăng nhập dai dẳng mà bạn phải trải qua … nó không hiển thị ngay lập tức. Vì vậy, nếu bạn đăng nhập vào "quản trị viên echo" và sau đó "echo password", nó sẽ diễn ra quá nhanh và sẽ không được gửi tới máy chủ. Giải pháp? Sử dụng lệnh ngủ!
Thêm vào một vài giấc ngủ 3 lệnh, để chờ đợi ba giây, giải quyết vấn đề. Trước tiên, chúng tôi sẽ lặp lại tên người dùng và mật khẩu, sau đó chúng tôi sẽ lặp lại lệnh khởi động lại và mỗi lần chúng tôi đợi 3 giây. Lệnh cuối cùng sẽ khởi động lại máy chủ ngay lập tức:
(sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Bạn có thể đặt nó vào một kịch bản lệnh shell và chạy nó bất cứ khi nào bạn muốn. Hoặc bạn có thể thêm nó vào cron của bạn như thế này (trên OS X hoặc Linux):
crontab -e
Thêm dòng này ở đâu đó:
1 7 * * * (sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Việc này sẽ khởi động lại bộ định tuyến của bạn lúc 7:01 sáng mỗi sáng.
Khởi động lại Router theo cách Windows
Nếu bạn đang chạy Windows, việc lập lịch biểu này tự động phức tạp hơn rất nhiều, nhưng chúng tôi chắc chắn có thể viết kịch bản một cách dễ dàng. Trước tiên, bạn sẽ cần phải đi vào Control Panel, vào bảng điều khiển “Turn Windows on hoặc off” (chỉ cần tìm kiếm nó), sau đó kích hoạt Telnet Client.
Option explicit Dim oShell set 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.Sleep 3000 oShell.Sendkeys 'mypassword~' WScript.Sleep 3000 oShell.Sendkeys 'system reboot~' WScript.Sleep 3000 oShell.Sendkeys '~' Wscript.Quit
Lưu nó ra như là một phần mở rộng.vbs, và sau đó bạn có thể nhấp đúp vào nó bất cứ lúc nào bạn muốn khởi động lại router.
Lập kế hoạch trong Windows với một nhiệm vụ theo lịch trình
Mở Task Scheduler và tạo một nhiệm vụ cơ bản mới, đặt tên cho nó và một lịch biểu - hàng ngày tại một thời điểm nhất định sẽ hoạt động. Sau đó, sử dụng tùy chọn Bắt đầu chương trình và duyệt đến tệp tập lệnh mà bạn đã tạo.
Chú thích:các hướng dẫn trong bài viết này dành riêng cho Verizon FIOS nhưng bạn có thể làm điều này với bất kỳ bộ định tuyến nào. Vui lòng cho chúng tôi biết trong nhận xét nếu bạn làm cho nó hoạt động với một bộ định tuyến khác và chúng tôi sẽ cập nhật bài viết để phản ánh nó.