Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wakeonlan [Le 10/04/2013, 21:48]
percherie Réorganisation du contenu de la page pour plus de lisibilitée
wakeonlan [Le 03/02/2023, 21:46] (Version actuelle)
Benjamin Loison [Désactiver le WOL] Correction d'une typographie
Ligne 4: Ligne 4:
  
 ====== Wakeonlan : démarrer un ordinateur à distance ====== ====== Wakeonlan : démarrer un ordinateur à distance ======
- 
-//(Si besoin, il existe page complémentaire [[wake-on-lan]])//​ 
  
 Le Wake-on-LAN (WOL) ou mise en marche du PC depuis le réseau est une technologie développée par AMD et IBM, permettant à un ordinateur mis en veille d'​être démarré à distance par l'​envoi d'un "​magic-packet"​ sur la carte réseau supportant le Wake-on-LAN. Le Wake-on-LAN (WOL) ou mise en marche du PC depuis le réseau est une technologie développée par AMD et IBM, permettant à un ordinateur mis en veille d'​être démarré à distance par l'​envoi d'un "​magic-packet"​ sur la carte réseau supportant le Wake-on-LAN.
  
-Plus techniquement,​ le réveil est déclenché quand la carte ethernet ​de l'​ordinateur reçoit un "magic packet"​ qui est une trame de données ​ethernet ​contenant les octets FF FF FF FF FF FF suivis de seize répétitions de l'​adresse MAC de la cible, puis d'un mot de passe (si nécessaire) de quatre ou six octets+Plus techniquement,​ le réveil est déclenché quand la carte Ethernet ​de l'​ordinateur reçoit un "magic packet"​ qui est une trame de données ​Ethernet ​contenant les octets FF FF FF FF FF FF suivis de seize répétitions de l'​adresse MAC de la cible, puis d'un mot de passe (si nécessaire) de quatre ou six octets
  
 Cet article vous explique comment configurer votre machine Ubuntu à réveiller((Pour démarrer votre ordinateur avec Ubuntu depuis un autre poste, c'est sur l'​autre poste qu'il faut installer le programme)) et comment installer l'​application //​wakeonlan//​ pour démarrer un ordinateur distant (toutes plate-formes) depuis votre distribution Ubuntu. Cet article vous explique comment configurer votre machine Ubuntu à réveiller((Pour démarrer votre ordinateur avec Ubuntu depuis un autre poste, c'est sur l'​autre poste qu'il faut installer le programme)) et comment installer l'​application //​wakeonlan//​ pour démarrer un ordinateur distant (toutes plate-formes) depuis votre distribution Ubuntu.
Ligne 15: Ligne 13:
 ===== Pré-requis ===== ===== Pré-requis =====
  
-Pour la suite des opérations,​ des pré-requis sont nécessaires : +Pour la suite des opérations,​ des pré-requis sont nécessaires :
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ;   * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ;
-  * [[http://​doc.ubuntu-fr.org/​tutoriel/​comment_configurer_son_reseau_local|Avoir fixé l'​adresse IP]] de la machine à réveiller (chapitre 1.1.1) ;+  * [[:​tutoriel/​comment_configurer_son_reseau_local|Avoir fixé l'​adresse IP]] de la machine à réveiller (chapitre 1.1.1) ;
   * Consulter le site constructeur afin de savoir si la carte mère est compatible WLAN ou WOL ;   * Consulter le site constructeur afin de savoir si la carte mère est compatible WLAN ou WOL ;
   * Avoir activé l'​accès au [[:​depots|dépôt APT]] '​universe'​.   * Avoir activé l'​accès au [[:​depots|dépôt APT]] '​universe'​.
  
 ===== Activer le WOL ===== ===== Activer le WOL =====
-==== Vérifier que la carte réseau le supporte ​===== +==== Vérifier que la carte réseau ​supporte ​le WOL =====
- +
-Le WOL doit être activé pour la carte réseau. Ce n'est pas toujours le cas pour des raisons évidentes de sécurité puisque n'​importe qui pourrait démarrer un ordinateur en connaissant uniquement l'​adresse mac. Cela s'​effectue dans le BIOS de l'​ordinateur à démarrer tout simplement. +
- +
-Sous ubuntu, pour voir si votre carte réseau supporte le WOL, installez le paquet **[[apt>​ethtool]]** et exécuter la commande : +
-<​code>​sudo ethtool eth0</​code>​+
  
-FIXME : si possible qu'un contributeur améliore ​la commande précédente ​pour afficher l'information importante ​uniquement.+Le WOL doit être activé pour la carte réseau. Ce n'est pas toujours le cas pour des raisons évidentes de sécurité, puisque n'importe qui pourrait démarrer un ordinateur en connaissant ​uniquement ​l'​adresse mac. L'​activation s'​effectue dans le BIOS de l'​ordinateur à démarrer.
  
-Vous devez obtenir la ligne suivante : +Sous Ubuntu, pour voir si votre carte réseau supporte le WOL, installer le paquet **[[apt>​ethtool]]** et exécuter la commande: 
 +<​code>​sudo ethtool eth0 | egrep "​^[[:​blank:​]]*Wake-on:​ (g|d)"</​code>​ 
 +<​note>​**eth0** est l'​identifiant de votre carte réseau (par défaut si le paramètre noyau **biosdevname=0** à été passé au boot ou sur les systèmes anciens). Pour être sûr que l'​identifiant est correct, entrer la commande **ifconfig** qui vous donnera la liste des périphériques réseaux</​note>​ 
 +Vous devez obtenir la ligne suivante:
 <​file>​Wake-on:​ g</​file>​ <​file>​Wake-on:​ g</​file>​
  
Ligne 38: Ligne 34:
 <​code>​sudo ethtool -s eth0 wol g</​code>​ <​code>​sudo ethtool -s eth0 wol g</​code>​
  
-==== Conserver le paramétrage ​====+=== Conserver le paramétrage ​| Méthode 1===
  
-Avec certaines ​version ​d'​Ubuntu et/ou certains ​matériel, lors de l'​extinction,​ le système désactive les interfaces réseaux.+Avec certaines ​versions ​d'​Ubuntu et/ou certains ​matériels, lors de l'​extinction,​ le système désactive les interfaces réseaux.
  
-**Après essais**, si le WOL ne fonctionne pas, pour supprimer cette sécurité((elle évite que la machine puisse être réveillée par le réseau sans une intervention volontaire)),​ un des moyens est d'​écrire la ligne de commande suivante dans le fichier **/​etc/​rc.local** : <​code>​ethtool -s eth0 wol g</​code>​ A mettre avant la ligne : <​file>​exit 0</​file>​+**Après essais**, si le WOL ne fonctionne pas, pour supprimer cette sécurité((elle évite que la machine puisse être réveillée par le réseau sans une intervention volontaire)),​ un des moyens est d'​écrire la ligne de commande suivante dans le fichier **/​etc/​rc.local** : <​code>​/sbin/ethtool -s eth0 wol g</​code>​ A mettre avant la ligne : <​file>​exit 0</​file>​
  
 Ainsi à chaque démarrage, la ligne de commande est exécutée, activant la carte réseau pour le prochain démarrage. Ainsi à chaque démarrage, la ligne de commande est exécutée, activant la carte réseau pour le prochain démarrage.
  
 +=== Conserver le paramétrage | Méthode 2 (testé 18.04)===
 +
 +Un autre moyens est d'​écrire les lignes de commande suivante dans le fichier **/​etc/​network/​interfaces** :
 +<​code>​auto lo
 +iface lo inet loopback
 +up ethtool -s eth0 wol g
 +</​code>​
 +
 +=== Conserver le paramétrage | Méthode 3 (testé 20.04)===
 +
 +Un autre moyen est d'​écrire les lignes de commande suivante dans un fichier **/​etc/​network/​if-up.d/​wol_fix** :
 +<​code>​
 +#!/bin/sh
 +/​sbin/​ethtool -s [votre-carte] wol g
 +</​code>​
 +
 +puis rendre executable
 +<​code>​
 +sudo chmod +x /​etc/​network/​if-up.d/​wol_fix
 +</​code>​
 +
 +Note : le script ne sera exécuté que si le paquet ifupdown est installé.
 ==== Identifier l'​adresse MAC ==== ==== Identifier l'​adresse MAC ====
  
-L'​adresse MAC de la carte réseau est un identifiant unique attaché à chaque matériel réseau. Pour réveiller l'​ordinateur vous devez connaître l'​adresse MAC de sa carte réseau où nous enverront ​le paquet magique.+L'​adresse MAC de la carte réseau est un identifiant unique attaché à chaque matériel réseau. Pour réveiller l'​ordinateur vous devez connaître l'​adresse MAC de sa carte réseau où nous enverrons ​le paquet magique.
  
 Si vous avez un accès au pc (distant ou local), la commande((adaptez le nom de l'​interface à votre configuration : eth1, eth2)) <​code>​ifconfig eth0</​code>​ vous indiquera l'​adresse MAC. Elle est précédée du champ **HWaddr** dans la première ligne. Si vous avez un accès au pc (distant ou local), la commande((adaptez le nom de l'​interface à votre configuration : eth1, eth2)) <​code>​ifconfig eth0</​code>​ vous indiquera l'​adresse MAC. Elle est précédée du champ **HWaddr** dans la première ligne.
Ligne 71: Ligne 89:
 Si vous avez une carte réseau intégrée dans une carte mère à chipset NVidia((pilote //​forcedeth//​)) (par exemple : //ASUS M2NPV-VM ou M2N-SLIdeluxe//​) et que l'​envoi de paquet magique ne produit aucun effet, **avant de casser tous les scripts de votre machine**, essayez simplement d'​envoyer **l'​adresse MAC à l'​envers**,​ exemple **00:​1a:​9f:​81:​ce:​a4 => a4:​ce:​81:​9f:​1a:​00**. Si vous avez une carte réseau intégrée dans une carte mère à chipset NVidia((pilote //​forcedeth//​)) (par exemple : //ASUS M2NPV-VM ou M2N-SLIdeluxe//​) et que l'​envoi de paquet magique ne produit aucun effet, **avant de casser tous les scripts de votre machine**, essayez simplement d'​envoyer **l'​adresse MAC à l'​envers**,​ exemple **00:​1a:​9f:​81:​ce:​a4 => a4:​ce:​81:​9f:​1a:​00**.
  
-Avec Ubuntu 8.10, les modification ​à faire sont extrêmement ​minimes ​pour faire marcher le WOLpeut être que ces commandes fonctionnent encore avec les nouvelles ​version ​d'​Ubuntu : +Les modifications ​à faire sont extrêmement ​simples ​pour faire marcher le WOL (peut-être que ces commandes fonctionnent encore avec les nouvelles ​versions ​d'​Ubuntu
-Mettre **NETDOWN=no** dans ///​etc/​default/​halt//​ ; +  ​* ​Mettre **NETDOWN=no** dans ///​etc/​default/​halt//​ ; 
-Mettre **ethtool -s eth0 wol g** (ou le nom de l'​interface que vous utilisez) dans ///​etc/​rc.local//,​ avant la ligne **exit 0**.+  ​* ​Mettre **ethtool -s eth0 wol g** (ou le nom de l'​interface que vous utilisez) dans ///​etc/​rc.local//,​ avant la ligne **exit 0**
 + 
 +==== Cas de certaines cartes mère Asus ==== 
 + 
 +Si vous avez une carte mère Asus, et que votre ordinateur redémarre à chaque fois que vous l'​éteignez,​ installer le paquet **[[apt>​laptop-mode-tools]]** peut résoudre votre problème(([[https://​askubuntu.com/​questions/​452750/​reboot-after-shutdown-ubuntu-14-04-also-12-04-dell-latitude-e7440]])).
  
 ==== Installation ==== ==== Installation ====
  
-Pour cela, il nous faut installer un logiciel capable de construire la trame de donnée. Les dépôts Ubuntu contiennent deux logiciels : +Pour cela, il nous faut installer un logiciel capable de construire la trame de donnée. Les dépôts Ubuntu contiennent deux logiciels :
    * **[[apt>​etherwake]]**    * **[[apt>​etherwake]]**
    * **[[apt>​wakeonlan]]**    * **[[apt>​wakeonlan]]**
Ligne 87: Ligne 109:
 Il existe une interface graphique nommée GWakeOnLan permettant de gérer une liste de machine à réveiller. Il existe une interface graphique nommée GWakeOnLan permettant de gérer une liste de machine à réveiller.
  
-[[:​tutoriel:​comment_installer_un_paquet|installez ​le paquet]] **[[apt>​gwakeonlan|gwakeonlan]]**. Autrement vous pouvez installer une des solution suivante à la place :+[[:​tutoriel:​comment_installer_un_paquet|Installez ​le paquet]] **[[apt>​gwakeonlan|gwakeonlan]]**. Autrement vous pouvez installer une des solution suivante à la place :
 - [[http://​fr.congelli.eu/​prog_info_c501wakeonlan.html|C501 Wake On Lan]] ; - [[http://​fr.congelli.eu/​prog_info_c501wakeonlan.html|C501 Wake On Lan]] ;
 - [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=2748926#​p2748926|Scription d'​activation et installation de WOL]]. - [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=2748926#​p2748926|Scription d'​activation et installation de WOL]].
Ligne 93: Ligne 115:
 ==== En ligne de commande ==== ==== En ligne de commande ====
  
-Après avoir installer ​le paquet **[[apt>​wakeonlan]]** vous pouvez ​réveillez ​une machine avec la commande (adaptez avec votre adresse MAC) <​code>​wakeonlan 00:​15:​60:​B1:​DB:​D4</​code>​+Après avoir installé ​le paquet **[[apt>​wakeonlan]]** vous pouvez ​réveiller ​une machine avec la commande (adaptez avec votre adresse MAC) <​code>​wakeonlan 00:​15:​60:​B1:​DB:​D4</​code>​
  
-Si cela ne fonctionne pas (alors que cela fonctionne avec [[etherwake]]), essayez de renseigner **l'​adresse de Broadcast** ​ de votre réseau grâce à l'​option **//-i//**. Le [[http://​www.isiweb.org/​outils/​ipcalc.php|calculateur d'​adresse IP d'​isiweb.org]] pourrait vous aider à déterminer la bonne adresse (dans cet exemple : 192.168.0.255) :+Si cela ne fonctionne pas alors que cela fonctionne avec etherwake, essayez de renseigner **l'​adresse de Broadcast** ​ de votre réseau grâce à l'​option **//-i//**. Le [[http://​www.isiweb.org/​outils/​ipcalc.php|calculateur d'​adresse IP d'​isiweb.org]] pourrait vous aider à déterminer la bonne adresse (dans cet exemple : 192.168.0.255) :
 <​code>​wakeonlan -i 192.168.0.255 00:​0D:​9D:​9B:​BA:​xx</​code>​ <​code>​wakeonlan -i 192.168.0.255 00:​0D:​9D:​9B:​BA:​xx</​code>​
  
-Pour réveiller une machine en passant par internet, exécutez la commande suivante dans un terminal, en remplaçant l'​adresse IP par votre IP publique, visible sur [[http://​www.hostip.fr/​|hostip.fr]] et l'​adresse MAC par celle du poste à démarrer :+Pour réveiller une machine en passant par internet, exécutez la commande suivante dans un terminal, en remplaçant l'​adresse IP par votre IP publique, visible sur [[https://​www.hostip.fr/​|hostip.fr]] et l'​adresse MAC par celle du poste à démarrer :
 <​code>​wakeonlan -i 78.yyy.xxx.zzz 00:​0D:​9D:​9B:​BA:​xx</​code>​ <​code>​wakeonlan -i 78.yyy.xxx.zzz 00:​0D:​9D:​9B:​BA:​xx</​code>​
  
Ligne 113: Ligne 135:
 Il peut être intéressant pour tester son installation de se faire envoyer un **packet magique** depuis internet,​notamment si l'​ordinateur que l'on souhaite réveiller est derrière un routeur. Il peut être intéressant pour tester son installation de se faire envoyer un **packet magique** depuis internet,​notamment si l'​ordinateur que l'on souhaite réveiller est derrière un routeur.
  
-  - La première solution qui vient à l'​esprit est de téléphoner à un amis distant de quelques kilomètres,​ disponible et connecté à internet ​cela n'est pas toujours facile.+  - La première solution qui vient à l'​esprit est de téléphoner à un ami distant de quelques kilomètres,​ disponible et connecté à Internet ; cela n'est pas toujours facile.
   - L'​autre solution est de réaliser **un script PHP** que l'on télécharge sur les pages perso de son Fournisseur d'​accès préféré. Il suffit ensuite de lancer ce script à l'aide de n'​importe quel navigateur web. Vous devez également rediriger le port 9 (ou autre) en UDP vers votre ordinateur à partir de votre routeur.   - L'​autre solution est de réaliser **un script PHP** que l'on télécharge sur les pages perso de son Fournisseur d'​accès préféré. Il suffit ensuite de lancer ce script à l'aide de n'​importe quel navigateur web. Vous devez également rediriger le port 9 (ou autre) en UDP vers votre ordinateur à partir de votre routeur.
-  - Une troisième solution est d'​installer une application de wake-on-lan sur son smartphone (il en existe plusieurs sur android, voir [[wakeonlan#​references|§ references]]). Pour le test, n'​oubliez pas de déconnecter le smartphone du WiFi.+  - Une troisième solution est d'​installer une application de Wake-On-Lan sur son smartphone (il en existe plusieurs sur Android, voir [[:wakeonlan#​references|§ references]]). Pour le test, n'​oubliez pas de déconnecter le smartphone du Wi-Fi.
  
 <note tip> <note tip>
-Sans éteindre votre machine, pour savoir si le **paquet magique** est bien reçu, utilisez la commande <​code>​tcpdump -i eth0 port 9</​code>​+Sans éteindre votre machine, pour savoir si le **paquet magique** est bien reçu, utilisez la commande <​code>​sudo tcpdump -i eth0 port 9</​code>​
 **eth0** étant le nom de votre interface réseau. Il faut que **[[apt>​tcpdump]]** soit installé. **eth0** étant le nom de votre interface réseau. Il faut que **[[apt>​tcpdump]]** soit installé.
 </​note>​ </​note>​
Ligne 124: Ligne 146:
 ==== Avec un script PHP ==== ==== Avec un script PHP ====
  
-**Vous pouvez ainsi réveiller votre ordinateur à l'aide de n'​importe quel autre ordinateur possédant seulement un navigateur**. Ceci peut être pratique quand on n'a pas tous les droits sur un réseau et que l'on souhaite réveiller son ordinateur chez soi pour accéder à ses ressources. Cela évite aussi de se souvenir de ses adresses ​mac et IP.+**Vous pouvez ainsi réveiller votre ordinateur à l'aide de n'​importe quel autre ordinateur possédant seulement un navigateur**. Ceci peut être pratique quand on n'a pas tous les droits sur un réseau et que l'on souhaite réveiller son ordinateur chez soi pour accéder à ses ressources. Cela évite aussi de se souvenir de ses adresses ​MAC et IP.
  
 Il vous suffit de modifier la fin du code en l'​adaptant à votre installation. Changez le port, l'​adresse MAC en mettant celle de votre carte réseau et l'​adresse IP ou le nom de domaine de l'​ordinateur à réveiller. Il vous suffit de modifier la fin du code en l'​adaptant à votre installation. Changez le port, l'​adresse MAC en mettant celle de votre carte réseau et l'​adresse IP ou le nom de domaine de l'​ordinateur à réveiller.
Ligne 189: Ligne 211:
 Selon votre besoin parfois il est utile d'​utiliser la fonctionnalité du WOL sans le paquet magique. pour cela il y a différentes variables. Selon votre besoin parfois il est utile d'​utiliser la fonctionnalité du WOL sans le paquet magique. pour cela il y a différentes variables.
  <​code>​ethtool -s eth0 wol V</​code>​  <​code>​ethtool -s eth0 wol V</​code>​
-avec V (FIXME contributeur veuillez clarifier cette ligne):+(En remplaçant V par une lettre ci-dessous)
               p  Réveil dès moindre activité physique               p  Réveil dès moindre activité physique
               u  Réveil dès réception d'un message unicast               u  Réveil dès réception d'un message unicast
Ligne 198: Ligne 220:
               s  Réveil dès réception d'un message SecureOn(tm) (mot de passe) pour MagicPacket(tm)               s  Réveil dès réception d'un message SecureOn(tm) (mot de passe) pour MagicPacket(tm)
               d  Désactiver               d  Désactiver
 +
 +===== Désactiver le WOL =====
 +On peut vouloir désactiver le WOL pour des raisons de sécurité ou plus généralement pour éviter de consommer de l'​énergie sur un appareil mobile par exemple. Par défaut les systèmes récents l'​activent. la commande powertop (paquet powertop) rappelle qu'il vaut mieux le désactiver pour réduire la consommation électrique de la carte réseau).
 +
 +Il faut pour cela utiliser la même commande mais avec l'​option d :
 +<​code>​sudo ethtool -s eth0 wol d</​code>​
 +
 +Vous pouvez remplacer l'​exemple précédent de conservation permanente en remplaçant le g par le d en fin de commande, comme ici.
  
 ===== Références ===== ===== Références =====
  
-  * [[:​etherwake|Le logiciel Etherwake]] ; +  * [[https://​fr.wikipedia.org/​wiki/​Wake-on-LAN|Le Wake-on-Lan sur Wikipedia]] ; 
-  * [[http://​fr.wikipedia.org/​wiki/​Wake-on-LAN |Le Wake-on-Lan sur Wikipedia]] ; +  * [[https://​lists.us.dell.com/​pipermail/​linux-poweredge/​2007-December/​034000.html |Web de Dell]] ;
-  * [[http://​lists.us.dell.com/​pipermail/​linux-poweredge/​2007-December/​034000.html |Web de Dell]] ;+
   * [[https://​play.google.com/​store/​apps/​details?​id=com.benfinnigan.wol&​feature=search_result|Application Wake On Lan sur Android]].   * [[https://​play.google.com/​store/​apps/​details?​id=com.benfinnigan.wol&​feature=search_result|Application Wake On Lan sur Android]].
  
  • wakeonlan.1365623329.txt.gz
  • Dernière modification: Le 10/04/2013, 21:48
  • par percherie