Wake on Lan + Freebox v5 + DynDns

Résolu/Fermé
EricInfo - 14 juil. 2011 à 15:27
 chiquito - 15 juin 2013 à 11:01
Bonjour,

Je vais commencer par vous expliquer la topologie de mon réseau. J'ai une freebox v5(en Ip Dynamique) en entrée fournissant de l'Ethernet et du wifi (J'avais un routeur Dlink avant derrière ma freebox mais avec les problème que j'ai pour configuré mon affaire je l'est enlevé). Derrière j'ai plusieurs ordinateurs dont un en Ethernet et avec une ip fixe. Mon but et de contrôler ce pc a distance depuis l'internet.

J'ai un service logMeIn Pro pour prendre le contrôle qui marche très bien sauf quand le pc et en veille ou éteins. Je cherche donc a l'allumer a distance par wake on wan.

Première chose, une ip fixe, je suis chez dyndns avec mondomain.dyndns.org qui pointe chez moi. Sur le pc a contrôler un client dyndns pour garder l'ip a jour. Configuration du reverse DNS sur la freebox ensuite, mais je ne le trouve pas ...

Préparation de la carte réseau du pc pour accepter les magic packet et autorisé le reveil de la machine et configuration du bios du pc ok

Redirection de port 9 sur 7 dans la freebox ok

Activation de l'option WOL dans la freebox ok

Tous est bon me semble t'il, http://wakeonwan.webou.net/ avec IP Freebox en dur pour le premier teste plus adresse mac du pc a allumer.

Résultât, un message indiquant que le pc est bien réveillé mais dans les fait rien...

Ou est le problème svp j'arrive a la limite de ma compréhention





8 réponses

jee pee Messages postés 39584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
Modifié par jee pee le 14/07/2011 à 15:59
Bonjour,

Avant d'attaquer le WOL à travers internet tu devrais le tester en local.

Par exemple avec un logiciel comme : https://www.commentcamarche.net/telecharger/communication/23459-wakeonlan/

Ça permet de vérifier que le pc est bien configuré.

J'ai une freebox V5 et seulement activé le WOL, pas de redirection port 9 à 7. Et avec le même site web que toi cela fait démarrer mon serveur.

cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
1
jee pee Messages postés 39584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
Modifié par jee pee le 14/07/2011 à 16:15
Le pc est derrière un routeur, mais ce routeur étant configuré en point d'accès, il se comporte juste comme un switch. C'est la freebox qui fait dhcp pour toutes les machines.

Sur la freebox juste activé WOL

toi tu as redirigé le port 9 UDP vers 7 sur le broadcast (255) ??


Un étranger, c'est un ami qu'on n'a pas encore rencontré.
1
Alors, merci dans un premier temps, via wake on lan sa lance bien le pc.

Donc dans ton cas tu as ta freebox, ton pc derrière en Ethernet avec la configuration qui vas bien ? Un routeur entre les deux ?

Sur ta freebox tu as un truc en particulier ? Tu as juste coché WOL et c'est tout ? Pas activé ou décoché autre choses ?
0
Effectivement, pas sur le broadcast mais juste sur l'ip en fixe du pc a contrôler. A force d'échec, c'est un truc qui revenez assez souvent dans les tuto sur le web.

Bon une bonne choses étant que cela fonctionne a merveille en local, reste maintenant a voir coter freebox et enlever la redirection.

Pour info, tu confirme qu'il faut mettre le pc en veille ou peut ton l'éteindre ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Suite a cela je confirme que tout marche parfaitement bien ! Effectivement pas besoin de redirection ni même d'attribuer une pi fixe au pc a contrôler.

Une fois allumé, je prend le relai avec mon logement pro et tout roule ^^ Un problème de moins je peu quitter le pays un peu plus en paix.

Un grand merci a jee pee !
0
jee pee Messages postés 39584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
Modifié par jee pee le 14/07/2011 à 17:39
Et si tu ne veux pas t'embêter à mémoriser ip et mac, tu peux, par exemple sur un site perso free, mettre une page .php, protégée par un mot de passe .htaccess avec le source suivant (en mettant en fin ip et mac) . Cela permet juste en lancant la page d'envoyer le paquet de réveil du pc.

<?  
# Wake on LAN - (c) HotKey@spr.at, upgraded by Murzik  
# Modified by Allan Barizo http://www.hackernotcracker.com  
flush();  
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;  
  // send it to the broadcast address using UDP  
  // SQL_BROADCAST option isn't help!!  
  $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);  
  if ($s == false) {  
    echo "Error creating socket!\n";  
    echo "Error code is '".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s));  
    return FALSE;  
    }  
  else {  
    // setting a broadcast option to socket:  
    $opt_ret = socket_set_option($s, 1, 6, TRUE);  
    if($opt_ret <0) {  
      echo "setsockopt() failed, error: " . strerror($opt_ret) . "\n";  
      return FALSE;  
      }  
    if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number)) {  
      echo "Magic Packet sent successfully!";  
      socket_close($s);  
      return TRUE;  
      }  
    else {  
      echo "Magic packet failed!";  
      return FALSE;  
      }  
     
    }  
  }  
// Port number where the computer is listening. Usually, any number between 1-50000 will do. Normally people choose 7 or 9.  
$socket_number = "9";  
// MAC Address of the listening computer's network device  
$mac_addy = "00:00:00:00:9A:DA";  
// IP address of the listening computer. Input the domain name if you are using a hostname (like when under Dynamic DNS/IP)  
// $ip_addy = gethostbyname("myhomeserver.dynamicdns.org");  
$ip_addy = "88.99.99.99";  
   
WakeOnLan($ip_addy, $mac_addy, $socket_number)  
   
?>  


;-)

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
Salut Jee Pee

Je déterre le sujet.

J'essais le "Wake on lan" avec le script que tu proposes, mais j'obtiens "Magic Packet Failed".

J'héberge le script sur un serveur web local, le poste à réveiller est en local aussi.
Lorsque je fais un test depuis l'application "WOL" sur android le pc s'allume, je vois les trames "WOL" dans wireshark.

Les informations dans le script sont les même que celle dans l'appli android.

J'ai ajouté dans le fichier "php.ini" la ligne suivante
extension = sockets.so

Rien non plus.

Une idée??
0
jee pee Messages postés 39584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
13 juin 2013 à 20:06
Salut,

Je ne connais pas grand chose en php. Pour faire fonctionner le script il doit falloir que certaines fonctionnalités php soient activées. En plus il est préférable de ne pas le tester en local car l'appel de sa propre ip internet sur le lan n'est pas toujours parfait.

Ce script que j'utilisais chez Free ne fonctionne plus car Free a désactivé des fonctionnalités qui servent pour ce cas.

J'utilise maintenant pour réveiller mes ordinateurs une page html de base qui effectue le réveil via des sites qui hébergent des script qui marchent.

Lien direct avec les paramètres du wol :

<a href="http://wakeonwan.fr/wakeup.php?ip=88.255.255.255&mac=00:00:00:00:0A:1B"> WakeOnWan.fr 960 59 </a>

Formulaire pré-renseigné

<b>Dipisoft 960 59</b> 
<form name="wow" method="post" action="http://www.dipisoft.com/pages/wakeonwan.php">
	<table width="700" cellspacing="2" cellpadding="2" border="0">
	<tbody>
	<tr>
		<td width="50%" align="right">Adresse IPv4 publique (ou nom DNS)</td>
		<td width="50%"><input type="text" class="texte" name="ip" size="20" value="88.255.255.255" /></td>
	</tr>
	<tr>
		<td width="50%" align="right">Adresse MAC (séparateurs ":" ou "-")</td>
		<td width="50%"><input type="text" class="texte" name="mac" maxlength="17" size="20" value="00:00:00:00:0A:1B" /></td>
	</tr>
	<tr>
		<td width="50%" align="right">Port (entre 1 et 65536)</td>
		<td width="50%"><input type="text" class="texte" name="port" maxlength="5" size="6" value="9" /></td>
	</tr>
	<tr>
		<td align="center" colspan="2"><input type="submit" name="submit" value="Réveiller !" /></td>
	</tr>
	</tbody>
	</table>
</form>


cdlt
0
J'utilise pas mon adresse public mais directement la local. Tout est en local. Même mes tests depuis l'appli android sont en local.
0
Ok j'ai trouvé le problème.
Il s'agissait d'un problème de droit sur les dossiers et fichiers de mon répertoire WWW.

J'ai trouvé en réactivant l'affichage de erreur dans le php.ini.

Merci
0