Rechercher : dans
Par :

Le Wake On Lan sous Linux

Dernière réponse le 18 déc 2008 à 22:45:39 COCO, le 25 mar 2005 à 12:14:24 
 Signaler ce message aux modérateurs

Comment fonctionne le Wake On Lan (éveil et extinction à distance) sous linux ? quel matériel ? quel config ? adresse de site ki en parle ???

Merci d'avance !!!

Meilleures réponses pour « le Wake On Lan sous Linux » dans :
Eteindre/Allumer un PC à distance (Shutdown / Wake On Lan) Voir Shutdown / Wake On Lan Bonjour à tous ! Vous ne vous êtes jamais demandé si c'était possible d'éteindre ou d'allumer un ordinateur à distance ? Et bien oui, c'est possible ! Et en plus, c'est à porté de tous. Après quelques heures de...
Choisir une distribution Linux VoirChoisir sa distribution GNU/Linux est loin d'être évident ! Surtout quand on débute sur la banquise ;-) Ceci n'a pas la prétention de promouvoir une distribution au détriment des autres. C'est plutôt une liste de solutions classées par...
Configurer le wifi sous Linux VoirWiFi sous Linux Première étape : diagnostic Deuxième étape : la carte n'est pas reconnue Troisième étape : configurer la carte En WEP En WPA Quatrième étape : se connecter au point d'accès Toujours en difficulté ? Ce tutoriel...
Télécharger SiS900 LAN Driver VoirLe pilote SiS LAN supporte les chipsets suivants : SiSM650, SiSM760, SiSM741, SiS655FX, SiS655, SiS651, SiS650GX, SiS648MX, SiS648FX, SiS648, SiS645DX, SiS650GL, SiS650, SiS645, SiS635, SiS760, SiS755FX, SiS755, ...
Télécharger Look@lan VoirLook@lan est un logiciel scanneur et moniteur de réseau très facile à utiliser . il est très rapide à effectuer la découverte et la surveillance des hôtes d'un réseau ou d'une plage de réseaux . il permet aussi d'afficher les services (ports)...
Linux - L'installation de logiciels VoirLes différents types d'archives Basiquement il existe plusieurs façons de récupérer une application fonctionnant sous Linux : Sous forme de paquetage RPM. Il s'agit d'un fichier portant l'extension .rpm permettant une installation automatique,...
Linux - L'éditeur Vi VoirIntroduction à Vi Vi est un des éditeurs de texte les plus populaires sous les systèmes de type Unix (avec Emacs et pico) malgré son ergonomie très limitée. Sous Linux il existe une version libre de Vi appelée Vim (Vi Improved). Vi (prononcez...
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...

1

zskdan, le 16 avr 2005 à 23:54:03

Voila un howto en englais qui explique comme ça marche un wake on lan sur Linux et sur Window$:

http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/

Répondre à zskdan

2

ben_o_it, le 19 déc 2006 à 00:58:14
  • +1

Bonjour,

J'ai un pb pour activer le wake on lan selon le noyaux que j'utilise (je suis un peu novice sous linux).

J'ai 2 noyaux linux sur un pc :
1) un noyau 2.4.27 , pré-compilé
2) un noyau 2.6.19 , configuré et compilé par mes soins

Qd j'éteins mon pc apres l'avoir démarré sur le noyau (1), j'arrive à le redémarrer avec le wake on lan sans pb.
Par contre qd je l'ai éteins avec le noyau (2), je n'y arrive pas.

J'ai beau cherché sur internet, je n'arrive pas à trouver ce que j'ai mal configuré dans mon noyau (2).
Est-ce que quelqu'un pourrait m'aider ? Qu'est-ce que je peux avoir mal configuré pour la compilation de mon noyau ?

Répondre à ben_o_it

3

zefcafougnette, le 15 nov 2007 à 09:54:11
  • +1

Bonjour,

Pour réveiller des machines sous linux en Wake on lan, j'utilise la méthode suivante :
1 - J'active l'option dans le BIOS de la machine
2 - je configure un service qui configure les cartes réseau
3 - je lance la commande eth-wake MAC_ADRESSE ( voir script wol.sh) sous root

Il semble que linux ne conserve pas les paramètres de configuration des cartes réseaux lorsqu'on arrête la machine. La configuration du BIOS ne suffit pas non plus.

J'utilise le script WakeOnLan sur des machine de production sous Readhat Entreprise. Pour des machine sous windows, je n'ai pas de solution pour le moment.

Script pour réveillée une machine Linux :

wol.sh

#!/bin/bash
#
# Script pour demarrer un machine en WakeOnLan
#
# Il faut fournir le nom de la machine en parametre
#
#Je verifie que le nom de la machine a ete donne
#
export LIGCMD=$(basename $0)
export MACHINE=$1
if [ $# -eq 0 ]; then
echo
echo " Le nom de la machine a demarrer doit etre passe en parametre."
echo
echo " ${LIGCMD} <nom de la machine>"
echo
exit 1
fi
#
# Je verifie que la commande peut etre utilisee sur la machine qui lance le script
#
if ! (which ether-wake > /dev/null 2>&1); then
echo
echo "Le script $(basename $0) ne peut pas etre lance sur cette machine."
echo
exit 1
fi
#
# Je verifie que la machine n'est pas demarrer
#
if (ping -c 2 ${MACHINE} >/dev/null 2>&1); then
echo
echo "La machine ${MACHINE} est en cours de fonctionnement."
echo
exit 1
fi
#
# Je defini l'adresse mac de la machine a demarrer
#
case ${MACHINE} in
machine1 | machine1.mondomaine.lan )
MAC_ADDR=XX:XX:XX:XX:XX:XX ;;
machine2 | machine2.mondomaine.lan )
MAC_ADDR=YY:YY:YY:YY:YY:YY ;;
* )
echo "La machine ${MACHINE} n'est pas repertoriee pour le WOL.";
exit 1 ;;
esac
#
# Je lance la commande de WakeOnLan
#
echo
echo "Envoi de la commande de demarrage pour la machine ${MACHINE}"
echo
ether-wake ${MAC_ADDR}
exit 0


Script du service

WakoOnLan à placer dans /etc/init.d (chkconfig WakoOnLan on) :

#!/bin/bash
#
# WakeOnLan Script pour configurer le WOL sur les interfaces reseau
#
# chkconfig: 2345 99 05
#
# description: Activation du Wake On Lan
#
# Source function library.
. /etc/init.d/functions
#
if [ ! -f /etc/sysconfig/network ]; then
exit 0
fi
. /etc/sysconfig/network

# Le reseau est-il demarre
if [ "${NETWORKING}" = "no" ]; then
echo "Wake On Lan non active"
exit 0
fi
#
# Determination des interfaces reseau actives
#
cd /etc/sysconfig/network-scripts
interfaces=$(ls ifcfg* | \
LANG=C sed -e "$__sed_discard_ignored_files" \
-e '/\(ifcfg-lo\|:\|ifcfg-.*-range\)/d' \
-e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
LANG=C sort -k 1,1 -k 2n | \
LANG=C sed 's/ //')
#
# Activation du Wake On Lan pour les interfaces montees
#
for i in $interfaces; do
if (ethtool $i|grep "Supports Wake-on"|grep g > /dev/null 2>&1); then
echo -n "Activation du WakeOnLan pour $i"
daemon /sbin/ethtool -s $i wol g
echo
fi
done
exit 0

Répondre à zefcafougnette

4

 clement.be4free, le 18 déc 2008 à 22:45:39

Voila uns vision legèrement différente ce basant sur les logs trouvés dans le DHCP.

ce script permet de réveillé un host via son nom, ou via son adresse mac, ou de réveiller tout les hosts du réseau.

#!/bin/sh
# /// revision-script 1.0 \\\
# Author : Clément ROGER
# Author : Be4free.com
# Author : <clement.be4free AT gmail DOT com>
# Licence : Under GPL
# If you modify this script or if you want to add functions please email 
# your version to clement.be4free AT gmail DOT com

function wol_install {
        if [ ! -d "/var/lib/wol/" ] ; then  mkdir -p /var/lib/wol/ ; chmod 640 /var/lib/wol/ ; fi
        if [ ! -f "/var/lib/wol/discover" ] ; then  touch /var/lib/wol/discover ; chmod 640 /var/lib/wol/discover ; fi
}

function wol_list {
        mac_list=`cat /var/lib/wol/discover`
        for mac_address in $mac_list ; do
                echo $mac_address | {
                        IFS=";" read mac name
                        echo $name
                }
        done
}



function wol_discover {
        mac_list=`cat /var/log/syslog | grep dhcpd | grep DHCPREQUEST | sed 's/^.*from//' | cut -d " " -f 2,3 | sed 's/\ (/;/' | sed 's/)//' | sort | uniq`
        for mac_address in $mac_list ; do
                cat /var/lib/wol/discover | grep -x $mac_address >> /dev/null 1>&1
                if [ "$?" == 1 ] ; then
                        echo $mac_address >> /var/lib/wol/discover
                fi
        done
}

function wol_wake {
        argv=$1
        cat /var/lib/wol/discover | grep $argv | {
                IFS=";" read mac name
                ether-wake $mac
        }
}

if [ ! -d "/var/lib/wol/" ] || [ ! -f "/var/lib/wol/discover" ] || [ ! -r "/var/lib/wol/discover" ] && [ $1 != "install" ] ; then
        echo "Error : $0 db are not installed, please type '$0 install'"
        exit 1;
fi

case $1 in
        install)
                wol_install
                ;;
        list)
                wol_list
                ;;
        discover)
                wol_discover
                ;;
        wakeall)
                wol_discover
                mac_list=`cat /var/lib/wol/discover | cut -d ";" -f 1`
                for mac_address in $mac_list ; do
                        wol_wake $mac_address
                done
                ;;
        wake)
                if [ "$1" != "" ] ; then
                        cat /var/lib/wol/discover | grep $2 >> /dev/null 2>&1
                        if [ "$?" != "0" ] ; then
                                echo "undiscovered host, please try '$0 discover' first"
                                exit 1;
                        fi
                        wol_wake $2
                else
                        echo "Usage : $0 wake [HOST or MAC_ADDRESS]"
                        exit 1;
                fi
                ;;
        *)
                echo "Usage : $0 list|dicover|wakeall|wake [HOST or MAC_ADDRESS]"
                ;;
esac



a placer dans /usr/local/sbin/wakeonlan en 750
installer via /usr/local/sbin/wakeonlan install
Usage : /usr/local/sbin/wakeonlan list|dicover|wakeall|wake [HOST or MAC_ADDRESS]

Répondre à clement.be4free