Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
wakeonlan [Le 14/05/2013, 22:55] – [Cas des cartes mère NVidia] m 178.192.231.40 | wakeonlan [Le 13/05/2020, 10:43] (Version actuelle) – amelioration structure 82.64.26.138 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Wakeonlan : démarrer un ordinateur à distance ====== | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Plus techniquement, | ||
+ | |||
+ | 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' | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | Pour la suite des opérations, | ||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ; | ||
+ | * [[: | ||
+ | * Consulter le site constructeur afin de savoir si la carte mère est compatible WLAN ou WOL ; | ||
+ | * Avoir activé l' | ||
+ | |||
+ | ===== Activer 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' | ||
+ | |||
+ | Sous Ubuntu, pour voir si votre carte réseau supporte le WOL, installer le paquet **[[apt> | ||
+ | < | ||
+ | < | ||
+ | Vous devez obtenir la ligne suivante: | ||
+ | < | ||
+ | |||
+ | Si vous obtenez la ligne < | ||
+ | < | ||
+ | |||
+ | === Conserver le paramétrage | Méthode 1=== | ||
+ | |||
+ | Avec certaines versions d' | ||
+ | |||
+ | **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)), | ||
+ | |||
+ | 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' | ||
+ | < | ||
+ | iface lo inet loopback | ||
+ | up ethtool -s eth0 wol g | ||
+ | </ | ||
+ | ==== Identifier l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Si vous avez un accès au pc (distant ou local), la commande((adaptez le nom de l' | ||
+ | |||
+ | Pour notre exemple, l' | ||
+ | < | ||
+ | inet adr: | ||
+ | adr inet6: fe80:: | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | Packets reçus:4722 erreurs:0 :0 overruns:0 frame:0 | ||
+ | TX packets: | ||
+ | collisions: | ||
+ | Octets reçus: | ||
+ | Interruption: | ||
+ | </ | ||
+ | |||
+ | Si vous n'avez pas d' | ||
+ | |||
+ | ===== Envoi du paquet magique ===== | ||
+ | ==== Cas des cartes mère NVidia ==== | ||
+ | |||
+ | Si vous avez une carte réseau intégrée dans une carte mère à chipset NVidia((pilote // | ||
+ | |||
+ | Les modifications à faire sont extrêmement simples pour faire marcher le WOL (peut-être que ces commandes fonctionnent encore avec les nouvelles versions d' | ||
+ | * Mettre **NETDOWN=no** dans /// | ||
+ | * Mettre **ethtool -s eth0 wol g** (ou le nom de l' | ||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | ==== 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 : | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | |||
+ | Contrairement à **wakeonlan**, | ||
+ | |||
+ | ==== Avec interface graphique ==== | ||
+ | |||
+ | Il existe une interface graphique nommée GWakeOnLan permettant de gérer une liste de machine à réveiller. | ||
+ | |||
+ | [[: | ||
+ | - [[http:// | ||
+ | - [[http:// | ||
+ | |||
+ | ==== En ligne de commande ==== | ||
+ | |||
+ | Après avoir installé le paquet **[[apt> | ||
+ | |||
+ | Si cela ne fonctionne pas alors que cela fonctionne avec etherwake, essayez de renseigner **l' | ||
+ | < | ||
+ | |||
+ | Pour réveiller une machine en passant par internet, exécutez la commande suivante dans un terminal, en remplaçant l' | ||
+ | < | ||
+ | |||
+ | Pour démarrer **plusieurs stations sur le lan**, exécutez la commande suivante dans un terminal en séparant les adresses mac par des espaces : | ||
+ | < | ||
+ | |||
+ | Pour démarrer **une station derrière un pare-feu**, pensez à paramétrer dans votre routeur un transfert du port que vous utiliserez dans la ligne de commande grâce à l' | ||
+ | |||
+ | Si tout s'est bien passé, la machine distante devrait être en train de démarrer. Si vous avez besoin de plus d' | ||
+ | |||
+ | |||
+ | ===== Tester le WOL à travers internet ===== | ||
+ | |||
+ | Il peut être intéressant pour tester son installation de se faire envoyer un **packet magique** depuis internet, | ||
+ | |||
+ | - La première solution qui vient à l' | ||
+ | - L' | ||
+ | - Une troisième solution est d' | ||
+ | |||
+ | <note tip> | ||
+ | Sans éteindre votre machine, pour savoir si le **paquet magique** est bien reçu, utilisez la commande < | ||
+ | **eth0** étant le nom de votre interface réseau. Il faut que **[[apt> | ||
+ | </ | ||
+ | |||
+ | ==== Avec un script PHP ==== | ||
+ | |||
+ | **Vous pouvez ainsi réveiller votre ordinateur à l'aide de n' | ||
+ | |||
+ | Il vous suffit de modifier la fin du code en l' | ||
+ | |||
+ | < | ||
+ | <? | ||
+ | # Wake on LAN - (c) HotKey@spr.at, | ||
+ | # Modified by Allan Barizo http:// | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | 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, | ||
+ | |||
+ | if ($s == false) { | ||
+ | echo "Error creating socket!\n"; | ||
+ | echo "Error code is '" | ||
+ | return FALSE; | ||
+ | } | ||
+ | else { | ||
+ | // setting a broadcast option to socket: | ||
+ | $opt_ret = socket_set_option($s, | ||
+ | |||
+ | if($opt_ret <0) { | ||
+ | echo " | ||
+ | return FALSE; | ||
+ | } | ||
+ | |||
+ | if(socket_sendto($s, | ||
+ | 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 = " | ||
+ | // MAC Address of the listening computer' | ||
+ | $mac_addy = " | ||
+ | // 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(" | ||
+ | | ||
+ | WakeOnLan($ip_addy, | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | ===== Types de Wake On Lan ===== | ||
+ | |||
+ | Selon votre besoin parfois il est utile d' | ||
+ | < | ||
+ | (En remplaçant V par une lettre ci-dessous) | ||
+ | p Réveil dès moindre activité physique | ||
+ | u Réveil dès réception d'un message unicast | ||
+ | m Réveil dès réception d'un message multicast | ||
+ | b Réveil dès réception d'un message broadcast | ||
+ | a Réveil dès réception d'un ARP | ||
+ | g Réveil dès réception d'un MagicPacket(tm) | ||
+ | s Réveil dès réception d'un message SecureOn(tm) (mot de passe) pour MagicPacket(tm) | ||
+ | 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' | ||
+ | |||
+ | Il faut pour cela utiliser la même commande mais avec l' | ||
+ | < | ||
+ | |||
+ | Vous pouvez remplacer l' | ||
+ | |||
+ | ===== Références ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |