Wake on LAN selectiv?

puterfixer

Administrator
Sugar daddy
În rețea am acasă un desktop cu Windows 7 și un NAS cu OpenMediaVault. Ambele au activată funcția WOL în BIOS și pe unde mai trebuie prin OS. Ca să pot să le pornesc și de la distanță, am făcut forwarding în routerul Belkin la toate pachetele UDP pe portul 9 spre IP-ul de broadcast intern 192.168.1.255 pe același port.

Problema ciudată cu care mă confrunt este că pot porni din Internet desktop-ul, dar nu și NAS-ul, și nu pricep de ce. Am crezut inițial că e o problemă cu aplicația Pulseway cu care monitorizez și controlez sistemele, însă obțin același rezultat și folosind alte unelte WOL online, cum ar fi http://www.dslreports.com/wakeup . Ambele sisteme pot fi pornite cu magic packet trimis în rețeaua locală (prin WiFi-ul aceluiași router).

Suspectez că de vină este routerul. Dar de ce WOL merge la un sistem și la altul nu? Doar se aplică aceeași regulă de forwarding. Idei?

Cred că pun un Wireshark să văd dacă trece broadcast-ul prin router sau nu.

Ați mai întâmpinat probleme din astea?
 
Pune wireshark și pe Windows, și pe OMV și vezi dacă sunt identice pachetele care ajung la ele.
 
Pus wireshark-ul pe Windows cu filtrul broadcast, și să mor io de pricep cum naiba a mers până acum WOL de pe dslreports. Nu văd absolut nici un fel de trafic prin router care să semene măcar a WOL, cu MAC corect sau nu, cu filtru sau fără în wireshark. Văd doar pachetele de wakeup pe udp:7 trimise de o aplicație de pe smartphone în LAN, pe 255.255.255.255.

Rămâne să testez cum face Pulseway wakeup, dar pentru asta ar trebui să fac captura de pe OMV și n-am idee cum. (E un debian wheezy la bază, pot intra cu ssh-ul pe el pentru un apt-get ceva.)
 
Mda, asta vroiam să scriu mai devreme, că sunt mai multe modalități de WoL și naiba știe ce suportă MB-ul - am pățit să se schimbe după un upgrade de BIOS (ce mergea înainte nu mai mergea după) sau să fie extraordinar de permisiv (nu puteam enabla WoL pentru că se trezea din standby la orice pachet).

OMV:
Code:
apt-get install tcpdump
tcpdump -i eth0 -s 65535 -w file.dmp
Schimbi eth0 cu ce interfață ai de fapt. Deschizi fișierul rezultat cu wireshark. Dacă ai foarte mult trafic pe interfață (comanda de sus capturează absolut tot), mai trebuie să pui filtre (ex: port 9).

Fun fact (cum umpli discul): pornești un tcpdump ca mai sus, după care te conectezi cu scp și copiezi dmp-ul rezultat în altă parte :D.
 
WOL corect implementat ar trebui să reacționeze atunci când primește un pachet cu MAC-ul repetat de două ori ca și conținut. Ăsta e magic packet. Cel mai bun mod de a face asta e să trimiți un pachet UDP (care nu necesită stabilirea unei conexiuni cu un sistem activ, deci poate fi trimis „blind”) pe IP-ul de broadcast al rețelei, pentru ca switch-ul să-l trimită pe toate porturile fizice. Pentru că UDP necesită totuși și un port destinație, se folosește portul 9 sau, uneori, 7 (serviciul echo).

Am pus pe smartphone aplicația PcAutoWaker, care trimite magic packet pe UDP:255.255.255.255:7 - după cum am aflat cu Wireshark. Iar chestia asta pornește sistemul cu OMV.

Am monitorizat și ce se întâmplă cu dslreports.com/wakeup, și nu am văzut nici un trafic forwardat de router pe adresa de broadcast. Încă n-am încercat să văd dacă reușesc, totuși, să pornesc PC-ul în acest mod.

Am pus pe debian wireshark (surprinzător, niște documentație online de la debian zicea să folosesc ethereal fiindcă wireshark nu e stable, când i-am dat apt-get install ethereal mi-a zis că e obsolete și să pun wireshark :D) dar încă n-am făcut capturi. Cred că scot și laptopul vechi de la naftalină ca să am pe ce face teste atât cu ce trimite dslreports cât și Pulseway. Pe OMV pot instala și un modul prin care să inițiez pachete WOL în rețea către alte sisteme.
 
Pune și ethtool să vezi cum e setat WoL-ul pe placa de rețea. La mine arată așa:
Code:
[user@desktop ~]$ sudo ethtool enp5s0 | grep Wake
  Supports Wake-on: pumbg
  Wake-on: g
Opțiunile sunt astea:
Code:
  p  Wake on PHY activity
  u  Wake on unicast messages
  m  Wake on multicast messages
  b  Wake on broadcast messages
  a  Wake on ARP
  g  Wake on MagicPacket?
  s  Enable SecureOn? password for MagicPacket?
  d  Disable  (wake  on  nothing).  This option
  clears all previous options.
 
Asta îmi arată deja OMV într-o pagină de system log, cu toate detaliile platformei hardware. Primul pas am verificat în BIOS și apoi în setările plăcii de rețea, că are flag-ul g :)
 
Back
Top