WOL - přes internet z venku po delší době

Poskytovatelé a technologie, dial-up, ADSL, kabel, optika, bezdrátové připojení

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod shaman171 19. 3. 2015 01:47

Ahoj,
vím, že už tu je na toto téma milion vláken, ale ani v jednom jsem nenašel řešení takové, aby mi fungovalo.
Problém je, že mi nejde spustit počítač (NTB Lenovo SL510) přes WOL po delší době po uspání do režimu spánku (cca po 5 minutách) z venkovního internetu. Z vnitřní sítě ho spustím klidně i po 8 hodinách po uspání. Pokud ho vypnu, tak ho nedokážu spustit nikdy (což bude spíše počítačem, než routerem).
Mám internet od O2 a jejich "super" router: Huawei HG622u
Podle návodu na stránce: http://portforward.com/english/routers/port_forwarding/Huawei/HG622u/Wake_on_LAN.htm
jsem bez problémů přemapoval porty na svůj NTB, udělal jsem to i pro NAS a na ten se z venkovní sítě dostanu, takže předpokládám, že jsou doopravdy otevřené porty i pro WOL na NTB.

V počítači jsem v BIOSu WOL povolil.
V počítači jsem vše nastavil podle všemožných návodů:
wol-1.jpg

wol-2.jpg
wol-2.jpg (57.75 ) Zobrazeno 5944 krát

wol-3.jpg
wol-3.jpg (59.95 ) Zobrazeno 5962 krát


Schéma napájení je na počítači nastaveno stále na vysoký výkon.

Problém si tedy myslím bude v routeru.
Našel jsem spousty různých návodů a triků, uvedu zde tedy vše možné co jsem již vyzkoušel.
- Nastavil jsem v routeru MAC adrese mého NTB pevnou IP adresu
- V NTB jsem na síťové kartě nastavil tu samou pevnou IP adresu, abych si tím mohl být jistý, že jí dostane a stejnou masku sítě a výchozí bránu
- Jak jsem již psal jsem přemapoval příslušné porty na IP adresu daného počítače
- Nastavil jsem volbu DMZ na routeru na IP adresu svého NTB (mám pocit, že se jedná o něco, co pošle všechny pakety, které router nerozpozná na danou zadanou IP adresu)
- Poté jsem zkoušel podlé návodu v tomto tématu: http://forum.zive.cz/viewtopic.php?f=924&t=1126349&st=0&sk=t&sd=a&hilit=hg622u+wol nastavit uvolnění portů na IP adresách 10.0.0.255 a nebo 10.255.255.255, ale to mi router nedovolí
- Poté jsem pochopil, že to, že to nejde zapnout po cca 5 minutách je tím, že router si nepamatuje ARP záznam, našel jsem, že je možné do routeru do ARP tabulky dodat záznam, když jsem tam ovšem dodal IP adresu počítače a MAC adresu síťové karty, tak jedíně, čeho jsem docílil bylo, že nebyl na tom počítači přes síťovou kartu funkční připojení k internetu a omezené připojení do vnitřní sítě

Dále už prostě nevím co bych měl zkusit, abych počítač dokázal probudit přes internet i po oněch 5 minutách.

Nenapadá Vás někoho něco? Mám podezření, že tento router je zakletý, všude po internetu se s tímto routerem řeší různé problémy, ale málokdy se to vyřeší.

Všem moc děkuju za jakékoliv nápady.
shaman171
Junior

Odeslat příspěvekod Nargon 19. 3. 2015 05:43

Tohle je těžké, některý router to umí, některý to neumí. A některý se třeba tváří že to umí, ale ve výsledku to neumí. Pokud chceš řešení, které bude fungovat tak musíš mít řešení nezávislé na routeru. Nejlépe tak, že využiješ "Wake-on-lan" opravdu na LAN a nikoli přes internet.
K tomu ovšem potřebuješ zařízení, které je připojené ve tvé síti a je nonstop online. Psal jsi že máš NAS a myslím že na každý nas je nějaká aplikace/návod/postup jak z něj poslat probouzecí magic paket. Takže jediné co je pak potřeba je zprovoznění port forward aby jsi se z internetu dostal na ten nas a mohl jsi to vyslat "lokálně". A port forward na běžící stroj funguje všude.
Pokud se ti nelíbí spotřeba trvale běžícího nasu, tak pár lidí to řešilo přes raspberry pi, nebo podobný minipočítač, který má spotřebu nula nula nic.
Čistě teoreticky někdy je možné vyslat ten magic paket i přímo z routeru, pak odpadá ta nutnost dalšího zařízení, protože se to vyšle lokálně přímo z routeru, ale pochybuji že to u tohoto tvého typu bude možné.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod JaneCkaa 19. 3. 2015 09:14

Ahoj, měl jsem stejné problémy, návody, které by měly fungovat stejně nefungují :-). Nakonec jsem to zdárně vyřešil, ale nevím, u tebe to asi řešitelné takhle nebude. Do routeru TPLink jsem si nahrál alternativní firmware (OpenWRT), kde jsem si pak nahrál funkcionalitu WOL. Funguje to více způsoby - buď se můžeš přihlásit přes web z venku do rozhraní routeru, kde přes GUI spustíš vybraný počítač nebo se připojíš do routeru pomocí SSH a přes příkazovou řádku počítač opět vzbudíš. Funguje mi to krásně.
Akorát asi bude problém v tom O2 a Huawei atd atd.
JaneCkaa
Kolemjdoucí

Odeslat příspěvekod Miroslav Pragl 19. 3. 2015 09:54

TL;DR
Je potreba, aby router umel bud:
- forward WOL packetu na adresu SITE (broadcast)
- nebo staticke ARP zaznamy (v kombinaci treba s DHCP rezervacemi je to pouzitelne)

Co tvuj router z tohoto umi?

MP
Miroslav Pragl
Expert
Uživatelský avatar

Odeslat příspěvekod shaman171 19. 3. 2015 13:07

Nargon
Děkuju moc! Úplně super nápad. Tohle mě vůbec nenapadlo.
Podle návodu:
http://www.barryschiffer.com/using-synology-disk-station-wake-lan/
poté s daty:
http://iptuning.net/wiki/PHP_Wake_On_Lan

Jde na NASu krásně vytvořit vlastní webová stránka, která je vlastně vždy v lokální síti a vypadá to, že to bude funkční. NAS je zapnutej v elektrice tak jako tak, tak aspoň takhle bude užitečnej jetě více!
Moc děkuju konečně mám po takové době funkční řešení v podstatě nezávislé na routeru :-)

Uvidím, třeba se mi to někdy povede zprovoznit i bez NASu, ale tohle je zatím naprosto super!

Ještě jednou děkuju! :-)
shaman171
Junior

Odeslat příspěvekod Slondo 19. 3. 2015 14:01

Bezpečnejší spôsob je napríklad tento:
v Synology NASe:

Ovládací panel -> Plánovač úloh -> Vytvoriť -> Skript definovaný užívateľom

Úloha: WOL-PC-XXX
Užívateľ: root
Skript definovaný užívatelem: ether-wake -i eth0 MM:AA:CC:AA:DD:RR

Potom v menu Plán zvoliť Sputiť v následující den a nastaviť uplynulý dátum, napríklad 2015/1/1.

Potvrdiť OK

V Ovládací panel -> Plánovač úloh sa nastaviť na script WOL-PC-XXX a v menu Spustiť (zobudí PC so zadanou MAC).

Z internetu sa na Synology pripojiť cez VPN...

Schránka01.jpg
Schránka01.jpg (16.23 ) Zobrazeno 5586 krát
Slondo
Junior
Uživatelský avatar

Odeslat příspěvekod shaman171 19. 3. 2015 17:59

Slondo
Určitě vyzkouším, děkuju moc.
BTW: Díky tomu NASu by šlo vytvořit i vlastní VPN? Zatím se na něj připojuji klasicky pomocí namapovaného portu.
shaman171
Junior

Odeslat příspěvekod Slondo 19. 3. 2015 18:02

Synology NAS majú VPN balíček, stačí použiť...
Slondo
Junior
Uživatelský avatar

Odeslat příspěvekod shaman171 19. 3. 2015 18:15

Neuvěřitelný co všechno to umí :)
Díky moc za radu!
Kdyby to někdo hledal, tady je návod:
https://www.synology.com/cs-cz/knowledgebase/tutorials/459
shaman171
Junior

Odeslat příspěvekod shaman171 19. 3. 2015 19:29

Tak jsem si zkoušel nastavit to VPN a kdybych se zbláznil, tak se na něj nepřipojím.
Spustil jsem si podle návodu od Synology to VPN. Konkrétně VPN L2TP/IPSec a zkoušel jsem se na něj připojit přes telefon (Pak jsem zkoušel i PPTP - bezvýsledně).
V routeru jsem si přemapoval porty 1701, 500 a 4500 (tak jak radí v návodu) na statickou IP adresu NASu v síti.
A pokud jsem to správně pochopil, tak poté jsem dával jako adresu VPN mojí venkovní IP bez portu (pak jsem zkoušel s portama, ale rovněž bez výsledku) k tomu svoje přihlašovací údaje do NASu a předdefinovaný klíč.
Prostě se mi to nepřipojí a nebo něco dělám špatně a nemám páru co.
Předpokládám správně, že výše popsaný postup je správný?
Podle mě ten router je zakletej.
shaman171
Junior

Odeslat příspěvekod Nargon 20. 3. 2015 02:57

Jen tak na okraj u toho telefonu jsi se připojoval přes "mobilní data"? tj aby jsi se nesnažil vytvořit VPN do své sítě, když jsi připojený přes wifi na svou sít :) To jen pro ujištění že neděláš problém při testování.

Pokud můžeš tak vyzkoušej ještě OpenVPN. Protože pokud vím tak PPTP používá nejen TCP/UDP, ale i GRE protokol, a L2TP asi taky. A s tím GRE protokolem je někdy problém. Co vím z vlastní zkušenosti tak internetový poskytovatel (nejsem si jistý, ale myslím že je to skynet) u nás v práci není schopen GRE protokol přenášet a většina VPNek nám z toho důvodu nefungovala. Sice se to pak nějak vyřešilo, jak přesně už taky nevím, myslím že přes další veřejnou IP a routování z jedné adresy na druhou nebo něco takového, ale ve standardním nastavení připojení to nefungovalo a dlouho se to s poskytovatelem řešilo. Jak je to u tebe nedokážu odhadnout.
Ovšem co vím tak OpenVPN používá pouze TCP/UDP protokol a žádný jiný, což je velká síla této VPN. Protože TCP/UDP projde všude, stačí jen správně nastavit port forward a nejsou s tím až takové problémy.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod Miroslav Pragl 20. 3. 2015 09:18

Zase pro OPenVPN musis instalovat klienta, certifikaty .... zatimco PPTP i L2TP (s PSK) je k dispozici snad ve vsech OS. JInak je to ale asi nejlepsi volba co se sitariny tyuce.

Protokol GRE je tak stary, ze je hodne rozsireny a umeji jej NATovat snad vsechna zarizeni od 150kc vyse.

MP
Miroslav Pragl
Expert
Uživatelský avatar

Odeslat příspěvekod shaman171 20. 3. 2015 14:33

Nargon
Děkuju moc! :) Samozřejmě jsem to dělal při vyplé wifi, ale i tak to nešlo.
Nicméně teď jsem ještě hledal a vyčetl jsem, že Windows Phone 8.1 (což mám) se s tímto VPN moc kamarádit nechce a na synology se nepřipojuje více lidem.
Bůh ví proč.
Tak jsem si nasdílel mobilní data do tabletu a pak se zkusil připojit na VPN z klasických Windows a tam to šlape bez problémů jako hodinky jak na PPTP tak L2TP/IPSec.
Takže to funguje naprosto perfektně.
Bez problémů mohu přistupovat po celé síti kam se mi zachce.

Naprosto perfektní!

Všem znovu moc děkuji :)

BTW: Na OpenVPN jsem koukal, ale bylo to tak složitý nastavit (z mého pohledu), že jsem nedokázal vytvořit ani konfigurační file, ale to nemá smysl řešit, když to frčí přes L2TP/IPSec, tak nechám ten.
shaman171
Junior

Odeslat příspěvekod Miroslav Pragl 20. 3. 2015 17:52

wp ma VELMI omezenou podporu VPN. Bohuzel.
MP

P.S. konfiguracni soubor ti vytvori diskstation. Ty jej jen otevres v openvpn.
Miroslav Pragl
Expert
Uživatelský avatar

Odeslat příspěvekod Firestone 10. 12. 2017 12:57

Zkouším hledat vhodné téma k mému dotazu, tak snad nebude velký problém to napsat sem...
Rád bych využil funkcionalitu WOL a to přes NAS (QNAP TS-251), resp. jeho webové GUI. NAS stále v LANu běží, nevypíná se. Jinak řečeno bych nechtěl budit zařízení v LAN přes WAN.
Moje představa by byla taková, že bych se nalogoval na webový xycht NASu a tam vybral zařízení, které bych chtěl pomocí MACovky a magic packet probudit. Mohl by někdo poradit, jestli je to běžný požadavek a NASy tohle, resp. QNAP, zvládají? Díky moc za případnou radu.
Firestone
Junior


Odeslat příspěvekod Miromex 16. 3. 2018 05:34

Riešil som to cez "web stránku" umiestnenú v NAS.
Kód: Vybrat vše
<?php
flush();
/* Sieť */
$broadcast_address = "192.168.1.255"; /* príklad */
$port = 9;
/* ZARIADENIA */
$MAC1 = "12:AB:34:CD:56:EF"; /* príklad */
$Zariadenie1 = "PC1"; /* príklad */

$MAC2 = "78:AB:34:CD:56:EF"; /* príklad */
$Zariadenie2 = "Zariadenie2"; /* príklad */

function WakeOnLan($addr, $mac, $socket_number)
{
   $addr_byte = explode(':', $mac);
   $hw_addr   = '';
   
   for($a=0; $a <6; $a++)
      $hw_addr .= chr(hexdec($addr_byte[$a]));
     
   $msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
   
   for($a = 1; $a <= 16; $a++)
      $msg .= $hw_addr;
     
   $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
   
   if($s == false)
   {
      echo "Nemožno vytvoriť socket!<BR>\n";
      echo "Chyba: '".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s));
      return FALSE;
   }
   else
   {
      $opt_ret = socket_set_option($s, 1, 6, TRUE);
     
      if($opt_ret < 0)
      {
         echo "setsockopt() failed, error: " . strerror($opt_ret) . "<br>\n";
         return FALSE;
      }
     
      if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number))
      {
         $content = bin2hex($msg);
         echo "Magic Packet Odoslaný!<BR>\n";
         echo "Data: <textarea readonly rows=\"1\" name=\"content\" cols=\"".strlen($content)."\">".$content."</textarea><BR>\n";
         echo "Port: ".$socket_number."<br>\n";
         echo "MAC: ".$_GET['wake_machine']."<BR>\n";
         socket_close($s);
         return TRUE;
      }
      else
      {
         echo "Magic Packet nebol odoslaný!<br>";
         return FALSE;
      }
   }
}

$result = null;

if($_GET["wake_machine"] != "")
    $result = WakeOnLan($broadcast_address, $_GET["wake_machine"], $port);

if($result != null)
{if ($_GET["wake_machine"] != $MAC1)
{ $ZAR=$Zariadenie2;}
else
{$ZAR=$Zariadenie1;}
   echo "<hr>WOL pre ".$ZAR." bol úspešný!<br><br>\n";
}
?>

<title>Wake On LAN - Prebudenie zariadenia v sieti</title>

<s:select label="WakeOnLan"
    headerKey="-1" headerValue="Select Machine"
    list="machines"
    name="WakeOnLan" />

<form name="WakeOnLan" method="GET" action="index.php">
<td class="WOL">
   <label for="WakeOnLan" class="label">
       Vyberte zariadenie na prebudenie:<br>
   </label>
</td>
<td>
<select name="wake_machine" id="WakeOnLan">
    <option value="-1">Vyber Zariadenie!</option>
    <option value=<?php echo $MAC1 ?>><?php echo $Zariadenie1; ?></option>
    <option value=<?php echo $MAC2 ?>><?php echo $Zariadenie2; ?></option>
<input type="submit" value="Odoslať" />
</form>
</select>
</td>
Miromex
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků