# [WOL] pour réveiller mon NAS (résolu)

## loopx

Bien le bonsoir, 

J'ai acquis un joli NAS DS411+II ... il se trouve à côté de mon serveur (allumé 24/24) sur le même switch. Dans un souci de consommation minimale, j'aimerais activer un scheduler d'arrêt chaque soir ... mais pas un scheduler de démarrage (comme c'est le cas actuellement). Pourquoi ? Parce que actuellement, parfois il démarre quand je n'en ai pas besoin, et les disques démarrent une fois, puis après 2h, ils s'arrêtent, puis ils redémarrent quand j'y accède ... et redémarre encore quand il doit s'arrêter... C'est pour éviter l'usure et la sur-consommation donc.

Je viens de penser que je n'ai qu'a demander à mon serveur de réveiller le NAS (à distance ou en LAN ... au pire, je peux aussi appuyer sur le bouton du NAS ^^) et hop, le tour est joué  :Smile: .

Je me suis arrêté là et ... je me demande ... Quel langage utiliser pour le CGI dans Apache ? Directement Bash ? (pas sûr niveau sécu) .. PHP ? (connais pas mais faut un début à tout), autre ? 

J'aimerais faire un truc simple qui peut créer un log ET déclencher l'envoi d'un paquet magique ... Existe-t'il une lib pour l'accès au WOL ou je dois utiliser une commande système (via PHP?)...

Merci pour vos futures réponses  :Smile: 

----------

## guilc

Sauf que le paquet Raw UDP nécessaire au WOL ne peut s’émettre... qu'en root (seul root peut faire du Raw UDP).

Tu comptes sérieusement donner des droits root à ton serveur apache pour exécuter le CGI ? Avec le risque que cela comporte ?

Pour ma part, je me contenterais de le faire via SSH...

----------

## loopx

 *guilc wrote:*   

> Sauf que le paquet Raw UDP nécessaire au WOL ne peut s’émettre... qu'en root (seul root peut faire du Raw UDP).
> 
> Tu comptes sérieusement donner des droits root à ton serveur apache pour exécuter le CGI ? Avec le risque que cela comporte ?
> 
> Pour ma part, je me contenterais de le faire via SSH...

 

Au boulot, pas de SSH ... Puis je mettrais une protection dessus et en HTTPS  :Smile:  ... Avec sudo ?

----------

## loopx

@guilc: je ne suis pas sûr que le WOL nécessite d'être root pour l'envoi du magic paquet ...

On a pas beson d'être root pour l'accès au port 21 (ftp) ou 22 (ssh) .. pourquoi diable faudrait-il devenir root pour l'envoyer vers les port ... 9 (et autre <1024) ?

----------

## Poussin

il n'a point parlé de port privilégié, il a parlé de Raw UDP  :Wink: 

----------

## loopx

 *Poussin wrote:*   

> il n'a point parlé de port privilégié, il a parlé de Raw UDP 

 

Ah, dans ce cas ... Je n'ai pas encore réellement testé ... Mais j'ai ouvert un autre thread ...   :Embarassed:  https://forums.gentoo.org/viewtopic-p-6758474.html

et j'ai maintenant un bout de script qui ne crie pas au loup ... Je vais bientôt tester cela ...

EDIT: il y aurait pas plusieurs moyen d'envoyer un paquet magique ?? Dont certain aurait besoni d'être root ???   :Arrow: 

EDIT2: je viens de tester le script PHP et .. il se passe rien du tout ... 

Par contre, via mon PC Gentoo SANS utiliser root :

```
loopx@loop ~ $ wakeonlan -i 255.255.255.255 -p 9 00:41:32:05:d3:5c

Sending magic packet to 255.255.255.255:9 with 00:11:32:08:c3:5d
```

... et la, hop, il démarre ....

----------

## loopx

Sur le serveur, j'ai un souci ... il envoi le paquet via eth0 ... alors qu'il devrait utiliser eth1 ... :-/  du coup, le NAS est jamais réveillé ...

Je vais regarder du côté de PHP si on sais régler ça ...

EDIT: waaa, trop peu de réseau ces derniers temps ... j'ai mis le masque à la place de l'adresse de broadcast  :Very Happy:   Maintenant, ça sort forcément par la bonne interface et ça réveille bien le NAS  :Smile: 

EDIT2: ... et po besoin d'accès "root"  :Smile: 

----------

## guilc

 *loopx wrote:*   

> EDIT: il y aurait pas plusieurs moyen d'envoyer un paquet magique ?? Dont certain aurait besoni d'être root ???  

 

Oui : on peut envoyer le paquet magique dans un paquet UDP standard (donc émission possible sans root). MAIS certains périphériques n'y réagissent pas. Dans ce cas, le paquer magique en RAW UDP (et donc en root) est indispensable.

Si ton périphérique réagit au paquet standard, tant mieux pour toi, t'as de la chance   :Laughing: 

Sinon, pour l'interface, je suppute qu'il faut que tu mettes l'association mac/ip du périphérique en dur dans la table ARP. Sachant que cet enregistrement expire. Ca aidera à sortir par la bonne interface ! Pour cela : "man arp", option "-s" !

----------

## loopx

 *guilc wrote:*   

>  *loopx wrote:*   EDIT: il y aurait pas plusieurs moyen d'envoyer un paquet magique ?? Dont certain aurait besoni d'être root ???   
> 
> Oui : on peut envoyer le paquet magique dans un paquet UDP standard (donc émission possible sans root). MAIS certains périphériques n'y réagissent pas. Dans ce cas, le paquer magique en RAW UDP (et donc en root) est indispensable.
> 
> Si ton périphérique réagit au paquet standard, tant mieux pour toi, t'as de la chance  
> ...

 

Ah, bon à savoir  :Wink: .

Pour l'interface, c'est simplement moi qui me suis trompé comme un n00b ... Maintenant, le petit script php fonctionne bien : je n'ai plus qu'a sécuriser l'accès au script et hop, je peux désactiver le démarrage planifier de mon NAS  :Smile: 

Merci

----------

