วิธีรีบูทเราเตอร์ของคุณแบบ Geeky โดยอัตโนมัติ
Verizon FIOS นั้นยอดเยี่ยม - ความเร็วนั้นยอดเยี่ยมมากและราคาก็คือ…เอาละค่อนข้างแพง ปัญหาที่แท้จริงคือเราเตอร์ที่น่ากลัวที่พวกเขาให้คุณต้องรีบูทอยู่ตลอดเวลาซึ่งเป็นความเจ็บปวดของราชวงศ์เมื่อพิจารณาลงไปที่ชั้นใต้ดิน นอกจากนี้ฉันไม่ต้องการลงจากโซฟา.
ดังนั้นฉันจึงใคร่ครวญว่าฉันจะแก้ปัญหานี้โดยใช้เทคโนโลยีได้อย่างไร นั่นคือสิ่งที่เกินบรรยายทำถูกต้อง?
ใช่ฉันรู้ว่าฉันอาจจะโทรหา Verizon และอัพเกรดเราเตอร์ฉันแน่ใจว่าพวกเขามีรุ่นที่ดีกว่าในตอนนี้ และแน่นอนคุณสามารถอัปเดตเฟิร์มแวร์ได้ แต่มันไม่สามารถใช้งานได้กับเราเตอร์เก่าของฉันเนื่องจากไม่มีการอัปเดต ถึงเวลาสำหรับวิธีแก้ปัญหาที่ง่ายกว่าที่เกี่ยวข้องกับงาน cron งาน Cron เป็นการตัดสินใจที่ดีเสมอ.
หลังจากการค้นคว้าและระดมสมองสามนาทีทางออกที่นำเสนอก็คือคุณสามารถเปิดใช้งาน telnet บนเราเตอร์ติดตั้งสคริปต์ที่รันชุดคำสั่งโดยอัตโนมัติโดยใช้ส่วนต่อประสาน telnet จากนั้นกำหนดเวลาสคริปต์ด้วยงาน cron ให้ทำงานเป็นประจำ รากฐาน สำหรับฉันนั่นหมายถึงทุกเช้าเวลา 7 โมงเช้าหนึ่งชั่วโมงก่อนที่ฉันจะตื่นและอีกครั้งในเวลา 17:30 น. เนื่องจากฉันออกจากบ้านเสมอ ณ จุดนั้น การแก้ไขปัญหาและฉันสามารถใช้ Vim ซึ่งทำให้ฉันมีความสุข.
และแน่นอนคุณสามารถสร้างสคริปต์ให้ทำงานตามต้องการเพื่อรีบูตเราเตอร์ทันทีเมื่อใดก็ตามที่คุณต้องการ.
บันทึก: คุณอาจทำสิ่งเดียวกันกับเราเตอร์ที่ไม่ใช่ Verizon คุณจะต้องตรวจสอบแผงการจัดการเราเตอร์ของคุณและดูว่าตัวเลือกทำงานอย่างไร.
เชื่อมต่อกับเราเตอร์ของคุณผ่าน Telnet
สิ่งแรกที่คุณต้องทำคือหาวิธีเปิดใช้งาน telnet บนเราเตอร์ สำหรับเราเตอร์ Verizon ที่ต้องการเข้าสู่ขั้นสูง -> การบริหารท้องถิ่นและตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน“ การใช้พอร์ต Telnet หลัก” ตรวจสอบให้แน่ใจว่าได้คลิกใช้.
ณ จุดนี้คุณสามารถใช้ telnet จากเทอร์มินัลหรือพรอมต์คำสั่งเพื่อเชื่อมต่อกับเราเตอร์ได้อย่างง่ายดาย หากคุณใช้ Windows คุณอาจต้องเปิดใช้งาน telnet หากต้องการเชื่อมต่อเพียงพิมพ์สิ่งนี้แทนที่ที่อยู่ IP สำหรับ IP ของเราเตอร์ของคุณเองหากจำเป็น (แม้ว่าส่วนใหญ่จะตั้งค่าให้ใช้ช่วง 192)
telnet 192.168.1.1
เมื่อคุณอยู่ที่นั่นคุณสามารถพิมพ์คำสั่ง help เพื่อดูว่าตัวเลือกคืออะไร สำหรับ Verizon FIOS ตัวเลือกที่ฉันกำลังมองหาอยู่ในส่วนย่อยของระบบและตั้งชื่อว่า aptly“ reboot” คุณต้องพิมพ์“ reboot ระบบ” จริง ๆ และไม่ใช่แค่“ reboot”.
เมื่อคุณพิมพ์คำสั่งที่พรอมต์คุณจะถูกตัดการเชื่อมต่อและเราเตอร์จะรีบูต ง่ายใช่ แต่ใครอยากทำทุกอย่างที่พิมพ์ทุกครั้ง?
การเขียนสคริปต์ Telnet ผ่าน Terminal (OS X หรือ Linux หรือ Cygwin บน Windows)
เราจะสมมติว่าคุณมีสิทธิ์เข้าถึง bash shell ไม่ว่าจะเป็นในระบบปฏิบัติการปกติของคุณหรือหาก OS (Windows) ของคุณไม่มีทุบตีคุณอาจต้องติดตั้ง Cygwin.
มันง่ายอย่างน่าประหลาดใจที่สคริปต์ชุดคำสั่งและไพพ์ไว้ในแอปพลิเคชัน telnet สิ่งที่คุณต้องทำมีดังนี้:
(echo commandname; echo elsecommand) | telnet 192.168.1.1
ปัญหาเดียวคือการเข้าสู่ระบบซึ่งจู้จี้ที่คุณต้องผ่าน ... มันไม่ปรากฏขึ้นทันที ดังนั้นหากคุณไพพ์ใน“ echo admin” แล้ว“ echo password” มันจะเกิดขึ้นเร็วเกินไปและจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ การแก้ไขปัญหา? ใช้คำสั่ง sleep!
การเพิ่มคำสั่ง sleep 3 สองสามคำสั่งเพื่อรอสามวินาทีแก้ปัญหาได้ ก่อนอื่นเราจะสะท้อนชื่อผู้ใช้และรหัสผ่านจากนั้นเราจะสะท้อนคำสั่งรีบูตและทุกครั้งที่เรารอประมาณสามวินาที คำสั่งสุดท้ายจะรีบูตเซิร์ฟเวอร์ทันที:
(sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; รีบูตระบบ echo; sleep 3;) | telnet 192.168.1.1
คุณสามารถใส่สิ่งนี้ลงในเชลล์สคริปต์และรันมันได้ทุกเมื่อที่คุณต้องการ หรือคุณสามารถเพิ่มมันลงใน cron ของคุณเช่นนี้ (บน OS X หรือ Linux):
crontab -e
เพิ่มบรรทัดนี้ที่ใดที่หนึ่ง:
1 7 * * * (sleep 3; echo admin; sleep 3; echo mypassword; sleep 3; รีบูตระบบ echo; sleep 3;) | telnet 192.168.1.1
สิ่งนี้จะรีบู๊ตเราเตอร์ของคุณเวลา 7:01 น. ทุกเช้า.
รีบูตเราเตอร์ในแบบของ Windows
หากคุณใช้ Windows มันมีความซับซ้อนกว่ามากในการกำหนดเวลานี้โดยอัตโนมัติ แต่เราสามารถสคริปต์ได้อย่างง่ายดายเพียงพอ ก่อนอื่นคุณจะต้องเข้าไปที่แผงควบคุมไปที่แผง "เปิดหรือปิดคุณสมบัติ Windows" (เพียงค้นหา) จากนั้นเปิดใช้งานไคลเอ็นต์ Telnet.
ตอนนี้คุณสามารถวางสิ่งต่อไปนี้ลงใน Notepad ได้ แต่เปลี่ยน IP ของเราเตอร์หากจำเป็นและเปลี่ยนบรรทัด mypassword เป็นรหัสผ่านจริงของคุณแทน คุณอาจต้องแก้ไขสคริปต์สำหรับคำสั่งต่าง ๆ.
ตัวเลือกอย่างชัดเจน Dim oShell ตั้งค่า oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "เปิด 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendeps "admin ~" WScript Sleep 3000 oShell.Sendkeys "mypassword ~" WScript.Sleep 3000 oShell.Sendkeys "รีบูตระบบ ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript.Quit
บันทึกออกเป็นส่วนขยาย. vbs จากนั้นคุณสามารถคลิกสองครั้งที่มันเมื่อใดก็ได้ที่คุณต้องการรีบูตเราเตอร์.
การจัดตารางเวลาใน Windows ด้วยงานที่กำหนดเวลาไว้
เปิด Task Scheduler และสร้าง Basic Task ใหม่โดยตั้งชื่อและกำหนดการ - ทุกวันในเวลาที่แน่นอน จากนั้นใช้ตัวเลือกเริ่มโปรแกรมและเรียกดูไฟล์สคริปต์ที่คุณสร้างขึ้น.
นั่นเป็นสิ่งที่คุณต้องทำ.
บันทึก: คำแนะนำในบทความนี้มีเฉพาะกับ Verizon FIOS แต่คุณสามารถทำได้กับเราเตอร์ใด ๆ โปรดแจ้งให้เราทราบในความคิดเห็นหากคุณได้รับมันให้ทำงานกับเราเตอร์อื่นและเราจะปรับปรุงบทความเพื่อสะท้อนให้เห็น.