Verizon FIOS je skvělý - rychlosti jsou neuvěřitelné a cena je ... no, trochu drahá. Skutečným problémem je, že hrozný router, který vám dávají, musí být neustále restartován, což je královská bolest vzhledem k tomu, že je dole v suterénu. Navíc nechci slézt z pohovky.
Uvažoval jsem tedy, jak bych mohl vyřešit tento problém pomocí technologie. To je to, co dělají geekové, že?
Jo, já vím, asi bych mohl zavolat Verizon a upgradovat router, jsem si jist, že teď mají lepší model. Samozřejmě můžete aktualizovat firmware, ale to u mého starého routeru nebude fungovat, protože aktualizace neexistuje. Čas na jednodušší řešení, které v ideálním případě zahrnuje práci cron. Práce Cronu jsou vždy dobré rozhodnutí.
Po třech minutách výzkumu a brainstormingu se představilo řešení: Můžete povolit telnet na routeru, nastavit skript, který automaticky spustí řadu příkazů pomocí rozhraní telnet, a poté naplánovat tento skript s úlohou cron, aby se spouštěl na běžném základ. Pro mě to znamenalo každé ráno v 7 hodin ráno, hodinu předtím, než se probudím, a znovu v 17:30, protože v tu chvíli jsem vždy z domu. Problém vyřešen a mohu použít Vim, což mě také dělá šťastným.
A samozřejmě můžete vytvořit skript, který se spustí na vyžádání a okamžitě restartuje router, kdykoli budete chtít.
Poznámka: pravděpodobně můžete udělat totéž s routerem, který není Verizon. Budete muset zkontrolovat panel pro správu routeru a zjistit, jak tam možnosti fungují.
Připojení k routeru přes Telnet
První věcí, kterou budete chtít udělat, je zjistit, jak povolit telnet na routeru. U routeru Verizon to vyžadovalo přechod do části Pokročilé -> Místní správa a ujištění, že je povoleno „Používání primárního portu Telnet“. Nezapomeňte kliknout na Použít.
V tomto okamžiku se můžete snadno připojit pomocí telnetu z terminálu nebo příkazového řádku k routeru. Pokud používáte Windows, pravděpodobně budete muset povolit telnet. Chcete-li se připojit, zadejte toto a v případě potřeby nahraďte IP adresu svého routeru (i když je většina nastavena na použití rozsahu 192)
telnet 192.168.1.1
Jakmile jste tam, můžete obvykle zadat příkaz nápovědy a zjistit, jaké jsou možnosti. Pro Verizon FIOS byla možnost, kterou jsem hledal, v podsekci systému a měla příhodný název „restart“. Ve skutečnosti musíte zadat „restart systému“, nejen „restartovat“.
Po zadání příkazu na výzvu budete odpojeni a router se restartuje. Snadné, ano. Ale kdo chce dělat všechno to psaní pokaždé?
Skriptování Telnetu přes terminál (OS X nebo Linux nebo Cygwin ve Windows)
Budeme předpokládat, že máte přístup k prostředí bash, ať už je to ve vašem běžném operačním systému, nebo pokud váš operační systém (Windows) nemá bash, možná budete muset nainstalovat Cygwin .
Je překvapivě snadné napsat soubor příkazů a poslat je do aplikace telnet. Vše, co musíte udělat, je něco takového:
(echo commandname; echo anothercommand) | telnet 192.168.1.1
Jediným problémem jsou otravné přihlašovací údaje, kterými musíte projít ... nezobrazí se hned. Pokud tedy zadáte „echo admin“ a poté „echo heslo“, stane se to příliš rychle a nebude odesláno na server. Řešení? Použijte příkaz spánku!
Přidání několika příkazů spánku 3, počkejte tři sekundy, problém vyřeší. Nejprve zopakujeme uživatelské jméno a heslo, poté zopakujeme příkaz restartu a pokaždé mezi nimi počkáme tři sekundy. Poslední příkaz okamžitě restartuje server:
(spánek 3; echo admin; spánek 3; echo moje heslo; spánek 3; restart systému echa; spánek 3;) | telnet 192.168.1.1
Můžete to vložit do skriptu prostředí a spustit jej, kdykoli budete chtít. Nebo jej můžete přidat do svého cronu takto (v OS X nebo Linux):
crontab -e
Přidejte někam tento řádek:
1 7 * * * (režim spánku 3; správce ozvěny; režim spánku 3; echo moje heslo; režim spánku 3; restart systému ozvěny; režim spánku 3;) | telnet 192.168.1.1
Tím se každé ráno restartuje router v 7:01.
Restart routeru způsobem Windows
Pokud používáte Windows, je mnohem komplikovanější naplánovat to automaticky, ale určitě to můžeme dostatečně snadno skriptovat. Nejprve budete muset přejít do Ovládacích panelů, přejít na panel „Zapnout nebo vypnout funkce systému Windows“ (stačí je vyhledat) a poté povolit klienta Telnet.
Nyní můžete do Notepadu vložit následující text, ale v případě potřeby změnit IP routeru a místo toho změnit řádek mypassword na své skutečné heslo. Možná budete muset upravit skript pro různé příkazy.
Možnost explicitní Dim oShell set oShell = Wscript.CreateObject ("WScript.Shell") oShell.Run "telnet" WScript.Sleep 3000 oShell.Sendkeys "otevřeno 192.168.1.1 ~" WScript.Sleep 3000 oShell.Sendkeys "admin ~" WScript.Sleep 3000 oShell.Sendkeys "moje heslo ~" WScript.Sleep 3000 oShell.Sendkeys "restart systému ~" WScript.Sleep 3000 oShell.Sendkeys "~" Wscript. Quit
Uložte jej jako příponu .vbs a poté na něj poklepejte, kdykoli chcete router restartovat.
Plánování v systému Windows s naplánovanou úlohou
Otevřete Plánovač úloh a vytvořte nový základní úkol, který mu dá název a plán - bude fungovat každý den v určitou dobu. Poté použijte možnost Spustit program a vyhledejte soubor skriptu, který jste vytvořili.
To je skoro vše, co musíte udělat.
Poznámka: pokyny v tomto článku jsou specifické pro Verizon FIOS, ale pravděpodobně to můžete udělat s jakýmkoli routerem. Pokud vám to umožní pracovat s jiným směrovačem, dejte nám prosím vědět v komentářích a článek aktualizujeme, aby to odrážel.