Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
wakeonlan [Le 14/05/2013, 22:56] 178.192.231.40 [Tester le WOL à travers internet] m |
wakeonlan [Le 03/02/2023, 21:46] (Version actuelle) Benjamin Loison [Désactiver le WOL] Correction d'une typographie |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
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 13: | 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'. | ||
Ligne 23: | Ligne 23: | ||
==== Vérifier que la carte réseau supporte le WOL ===== | ==== 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. | + | 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. |
- | Sous Ubuntu, pour voir si votre carte réseau supporte le WOL, installez le paquet **[[apt>ethtool]]** et exécuter la commande : | + | 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 | grep Wake-on</code> | + | <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> | |
- | FIXME : si possible qu'un contributeur améliore la commande précédente pour afficher l'information importante uniquement. | + | Vous devez obtenir la ligne suivante: |
- | + | ||
- | Vous devez obtenir la ligne suivante : | + | |
<file>Wake-on: g</file> | <file>Wake-on: g</file> | ||
Ligne 36: | 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 versions d'Ubuntu et/ou certains matériels, 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 ==== | ||
Ligne 69: | 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 modifications à faire sont extrêmement simples pour faire marcher le WOL (peut-être que ces commandes fonctionnent encore avec les nouvelles versions 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 85: | 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 91: | 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 137: | ||
- 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. | - 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 Wi-Fi. | + | - 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 122: | 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 187: | 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 196: | 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]]. | ||