Magazine High tech

Démarrer et éteindre un PC à distance

Publié le 08 mars 2010 par Irulan

Il s’agit ici d’exploiter une fonction « wake on lan » disponible sur la plus grande partie des cartes mères de PC. Le principe est envoyer un paquet « magique » via un port ethernet qui réveillera le PC. Cette méthode demande de petite connaisance en ligne de commande, mais rien d’insurmontable pour un débutant.

NB: Je vois déjà poindre la question « est-ce que c’est possible de faire la même chose avec une carte WiFi ? » Eh bien la réponse et non si vous utilisez une clef ou un dongle USB WiFi, et je ne pense pas avec les carte PCI, PCI-express, PCMCIA et card-express WiFi. Car il faut que la carte reste à l’écoute du paquet « magique » et à ma connaissance les cartes WiFi sont inactives lorsque le PC est éteint.

Les pré-requis :

    - Posséder une carte mère et une carte réseau compatible Wake On Lan (WoL). Quasiment toutes les cartes conçues après 1996 sont compatibles. Cependant les cartes mères ayant une version de slot PCI inférieure à 2.2 doivent utiliser un connecteur « Wakeup-link » pour être raccordées à une carte réseau.
    - Il faut relever les adresses MAC des cartes réseaux des PC à réveiller.
    - Avoir les droits administrateur pour les systèmes linux.
    - Avoir un réseau local bien protégé contre les intrusions extérieures. Sinon vous risquez d’avoir des démarrages intempestifs dû à des bots malveillants.

Activer la fonction wake on lan dans le bios :

/!\ Toutes manipulations dans le bios présente un risque, ne touchez seulement que les réglages dont vous êtes sûr.

Cette fonction peut porter plusieurs nom selon les bios et les marques de cartes mères. La plupart du temps la fonction WoL se trouve dans la partie gestion d’énergie « Power Management ». On peut trouver les dénominations « WoL » « Wake on Lan » « Wake on PCI » etc… Réferrez-vous à la documentation de votre carte mère.

Certain PC portable, notamment ceux de la marque Acer, offre un Bios plutôt succint ne proposant pas de débloquer cette fonction. Essayer de passer à la dernière version du bios on ne sait jamais. Sinon votre aventure s’arrête ici.

Définir un login automatique pour Ubuntu et conseil pour Windows XP :

Le but étant de chaîner le démarrage pour arriver sur le bureau de l’utilisateur. Cela peut servir s’il on désir accéder à l’ordinateur distant avec VNC par exemple. Si le démarrage reste bloqué sur le login ou GDM, VNC ne pourra pas se lancer correctement.

    - Ubuntu : L’idéal est de créer une session invité avec le minimum de droit possible. Pour cela aller dans Système>Administration>Utilisateurs et Groupes, authentifiez vous en tant que root, ajouter un utilisateur créer le compte invité et décocher les options de l’onglet Privilèges utilisateur. Le mot de passe root vous sera demandé pour toutes ces opérations décocher. Ensuite pour chaîner le démarrage aller dans Système>Administration>Fenêtre de connexion, authentifiez vous en tant que root, cocher Se connecter automatiquement en tant que choisir le compte invité et enfin cochez la case Attendre pour permettre à un utilisateur de se connecter avant le compte invité.
    - Windows XP : Par défaut Windows XP (Eh oui je n’ai pas de licence pour vista et Seven mais le principe reste le même) se connecte automatiquement s’il n’y a qu’un seul compte utilisateur. Qui plus est ce compte est toujours un compte administrateur, les risques sont très grand si une personne tente de s’introduire sur ce PC. Donc il est indispensable de créer un compte invité sans mot de passe et d’imposer un mot de passe au compte administrateur. Ensuite on utilisera TweakUI pour chaîner la connexion sur le compte invité (n’ayant pas de système windows XP sous la main je ne peux pas être plus précis).

Empêcher à l’exctinction du PC que la carte réseau ne soit désactivée :

A ma connaissance les windows XP, Vista et Seven ne désactivent pas les cartes réseaux lorsque le PC est éteint. On peut le vérifier simplement en regardant si les led de la carte réseau restent allumé lorsque le PC est éteint.

Sur Ubuntu Hardy, Intrepid, Jaunty et Karmic (je n’ai pas essayé cette fonction sur les versions antérieures à Hardy) les cartes sont desactivées par défaut pour une raison de sécurité semble-t-il. Il faut donc la réactiver à chaque redémarrage. La solution est simple et la voici. Taper dans un terminal :

    sudo ifconfig

Repérer le nom « ethx » (la plupart du temps eth0) de la connexion réseau active (celle qui possède une adresse IP). Vous pouvez zn même temps relever son adresse Mac son la forme FF:FF:FF:FF:FF:FF . (chaque carte réseau a sa propre adresse MAC)

    sudo ethtool eth0

« eth0″ étant un exemple. Repérer la ligne « Wake-on: d » qui signifie que le WoL est désactivé.

Activer le WoL en tapant :

    sudo ethtool -s eth0 wol g
    sudo ethtool eth0

La ligne sera passer à « Wake-on: g » ce qui indique que le WoL est activé sur la carte réseau.

Une fois que ceci est vérifié il faut qu’à chaque redémarrage du PC que la carte réseau soit réactivée. Il faut éditer le fichier « rc.local » cela taper dans un terminal :

    sudo gedit /etc/rc.local

Pour faire simple ce fichier lance des lignes de commande au démarrage du système. La ligne de code suivante devra être placée juste avant la ligne « exit 0 » :

    ethtool -s eth0 wol g

Enregistrer et fermer Gedit. Cette ligne n’a pas besoin de « sudo » puisque ce fichier est exécuté en root.

Voilà votre PC sera à l’écoute du paquet « magique » qui le réveillera. Maintenant passons au PC qui pourra réveiller le dormeur.

Envoyer un paquet « magique » vers un PC endormi :

Le terme paquet « magique » est celui employé dans la documentation concernant le WoL. Bien que je n’aime pas ce terme (car il n’y a rien de magique en informatique) je l’utilise quand même pour me conformé au jargon.

Sur ubuntu il existe dans les dépôts logiciel permettant d’envoyer le paquet « magique » grâce à l’adresse MAC du PC endormi. Pour l’installer taper dans un terminal :

    sudo apt-get -y install wakeonlan

Pour envoyer le paquet « magique » taper dans un terminal :

    wakeonlan FF:FF:FF:FF:FF:FF

Si tout se passe bien votre PC endormi doit se réveiller.

Note: Sur la dizaine de PC où j’utilise le WoL, une seule carte mère m’a posée des problèmes. C’est une Asus A8N5X avec un chipset nForce4 où la commande pour activer le réveil est particulière si l’adresse MAC du réseau est comme suit 00:AB:34:FE:67:CD par exemple il s’agira de tapes l’inverse de l’adresse dans la ligne de commande ce qui donne « wakeonlan CD:67:FE:34:AB:00″ allez savoir pourquoi!! Apparemment cela ne concerne que les cartes mère avec le chipset nForce4. Plusieurs rapport de bug traîne depuis 3 ou 4 ans à ce sujet chez nVidia, debian et launchpad mais tous restent au point mort.

Sur Windows il existe un logiciel gratuit Wake on Lan très efficace et très simple d’emploi.

Sachez qu’il est possible d’envoyer un paquet magique via internet, mais sous certaines conditions qui peuvent remettre en cause la sécurité de votre réseau. Il faut ouvrir les ports 0, 7 ou 9 (selon les cartes réseau) de votre modem-routeur. Les paquets magiques envoyés doivent être encapsuler en UDP pour passer à travers le NAT du modem routeur. Le PC endormi doit avoir une adresse IP fixe associé à sont adresse MAC car le réveil doit se faire par l’adresse IP et non par l’adresse MAC. Pour plus de précision voir ici en fin de page (je ne l’ai pas testé).

Comment arrêter un PC distant :

L’utilisation d’un tunnel SSH est une des méthodes les plus simple pour envoyer un « halt » dans un terminal du PC distant. Mais personnellement je préfère utiliser l’excellent Webmin qui dispose d’une grande diversité d’outil d’administration d’un système linux distant par une interface graphique via un navigateur internet. Webmin doit être installé sur le PC distant (à éteindre).

Ajouter le dépôt de webmin dans votre sources.list en tapant dans un terminal :

    sudo gedit /etc/apt/sources.list

Ajouter à la fin du fichier cette ligne :

    deb http://download.webmin.com/download/repository sarge contrib

C’est un dépôt pour debian mais cela fonction très bien sur ubuntu.

Enregistrer et fermer le fichier. Puis valider la clef du dépôt en tapant dans un terminal :

    wget http://www.webmin.com/jcameron-key.asc
    sudo apt-key add jcameron-key.asc
    sudo apt-get update

Pour installer webmin taper dans un terminal :

    sudo apt-get -y install webmin

Webmin est maintenant installé sur le PC que vous voulez éteindre à distance. Pour utiliser webmin sur le PC directement il suffit de taper dans la barre d’adresse de Firefox :

    https://127.0.0.1:10000 ou bien https://localhost:10000

Pour une connexion distante on peut taper dans la barre d’adresse de firefox de n’importe quel autre ordinateur du réseau :

    https://192.168.1.XXX:10000

192.168.1.XXX étant une adresse IP fixe au PC distant. Mais il possible de définir une adresse relative avec le nom du PC (pour les réseaux en DHCP) comme suit :

    https://nomdupc.local:10000

Le login et le mot de passe sont ceux utilisés par l’utilisateur du poste distant.

Une fois connecté aller sur Others>Command Shell, puis taper « halt » et enfin appuyer sur le bouton Execute command: le PC distant s’éteindra en quelques secondes. Webmin permet de faire beaucoup plus de chose mais ça n’est pas là l’objet de cet article. J’aurai certainement l’occasion d’y revenir dans un autre article et m’attarder plus longuement sur ce logiciel.

Il y a une autre solution un peu plus lourde qui consiste à lancer une connexion sur le bureau à distance. Le paramétrage est assez simple mais il faut un bon débit sur le réseaux pour le transfert de la video du bureau (100Mb/s soit 12Mo/s). L’activation de l’accès au Bureau à distance se fait dans « Système>Préférence>Bureaux à distance » là l’interface est assez explicite. Ensuite pour visionné le Bureau distance aller dans « Applications>Internet>Visionneur de Bureaux à distance ».

Sur windows il doit certainement avoir un moyen d’éteindre le PC à distance, (VNC, ou en SSH avec Putty) mais j’avoue ne pas avoir creusé la question plus que ça. Cela fait bientôt 6 ans que j’ai abandonné Windows que je connaissais comme le fond de poche à l’époque. Mais aujourd’hui je n’ai plus vraiment la patience de suivre les évolutions des nouveaux opus Vista et encore moins Seven. Donc si vous avez des sotlutions pour windows n’hésitez pas, les commentaires sont là pour ça.

Mithrandir79


Retour à La Une de Logo Paperblog

A propos de l’auteur


Irulan 13 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog

Magazine