Réveiller en Wake on wan un PC situé dans un réseau Livebox

Le Wake On Wan, c’est quoi ?

Dans ce tutoriel, je vais expliquer comment faire pour démarrer en Wake on wan un PC situé dans un réseau Livebox. En d’autres termes, je vais expliquer comment configurer le Wake on wan pour pouvoir réveiller un PC situé dans un réseau Livebox et ce, quel que soit l’endroit où l’on se trouve. Ce tutoriel fait exception aux tests que je propose habituellement sur je-teste.com. Toutefois, ayant été confronté au problème de configuration d’un Wake on wan avec mon FAI (Orange), je pense que ce guide peut avoir son utilité.

Wake On Wan + Livebox = galère !!!

Plus particulièrement, j’arrivais sans problèmes à démarrer mon PC de bureau depuis mon réseau local à l’aide d’une appli pour smartphone, mais dès que je basculais sur un autre réseau que celui de ma Livebox (par exemple le réseau 4G de mon téléphone portable), il m’était impossible de réveiller mon PC à distance.

Je pensais au départ que ma Livebox 3 était défectueuse, donc je l’ai remplacée par une Livebox 4, sans arriver pour autant à faire fonctionner le Wake On Wan. J’ai par la suite compris pourquoi : à chaque fois que le PC de bureau est éteint, la table de routage de la Livebox s’actualise et supprime (= flush) l’adresse MAC du PC que je veux réveiller !

Une table de routage capricieuse

La suppression de cette entrée se fait quelques secondes après l’extinction du PC, ce qui explique pourquoi le Wake On Wan peut fonctionner pendant quelques secondes une fois le PC éteint. Mais si l’on patiente un peu plus longtemps, il devient alors impossible de réveiller le PC ! En effet, après suppression de l’adresse MAC du PC de la table ARP du routeur, il n’est plus possible de communiquer depuis l’extérieur avec son PC, puisque la Livebox considère que ce PC n’existe plus dans le réseau local..

Comment faire alors ? Après pas mal de recherches, j’ai opté pour la solution suivante : utiliser un Raspberry Pi qui reste allumé H24 (très faible consommation électrique). Ce Raspberry Pi, que j’utilise également pour faire de la vidéosurveillance, est physiquement relié au PC que je veux réveiller via un câble RJ45. Pour réveiller mon PC, je prends le contrôle à distance du Raspberry Pi en SSH et je lui demande d’exécuter une commande Unix. Et ça fonctionne 🙂 Voici comment j’ai procédé…

Avant-propos : spécificités de ma configuration

Dans ma configuration, il y a 3 réseaux locaux :
1) Le réseau local de ma Livebox 4, dont l’adresse IP est 192.168.2.x (passerelle réseau). Cette box constitue donc un premier LAN, dans lequel il n’y a qu’un routeur Archer (192.168.2.y). Dans ce LAN, le WiFi de la Livebox est désactivé.
2) Un second réseau local créé par mon routeur Archer, dont l’adresse est 192.168.1.1 (passerelle réseau). Les ordinateurs, smartphones, imprimantes et Raspberry Pi sont situés dans ce LAN. Le WiFi du routeur Archer est activé, donc tous ces périphériques communiquent en WiFi.
3) Un sous-réseau local (192.168.137.xxx) entre le PC à réveiller et le Raspberry Pi qui donne l’ordre au PC de se réveiller. « Mon-PC » (c’est le nom du pc de bureau à réveiller) communique donc avec le routeur Archer en WiFi (IP fixe de Mon-PC : 192.168.1.a) mais il communique aussi avec le Raspberry Pi 3 par réseau câblé (dans ce sous-réseau, l’IP fixe de Mon-PC est : 192.168.137.b). De même, le Raspberry Pi 3 communique avec le routeur Archer en WiFi (IP fixe du Raspberry Pi 3 : 192.168.1.c) ainsi qu’avec Mon-PC par réseau câblé RJ45 (IP fixe du Pi 3 dans ce sous-réseau : 192.168.137.d).

Petites précisions complémentaires :
* Dans le tutoriel qui suit, les adresses IP et les adresses MAC des périphériques de mon réseau sont masquées et remplacées par des lettres en rouge. Il y a une cohérence entre les différentes étapes de ce tutoriel et les lettres en rouge que j’utilise dans les screenshots. Pour paramétrer correctement votre Wake On Wan, il faut évidemment remplacer ces lettres en rouge par vos propres valeurs (chiffres).
* Si votre réseau ne comporte qu’une Livebox (donc un seul LAN), la mise en oeuvre du Wake on wan est alors plus simple et vous ne serez pas concernés par les étapes du tutoriel relatives à la configuration du routeur Archer.

Configurer le Wake on wan, étape par étape :

I) Configuration du PC à réveiller

1) Démarrer les fonctionnalités Wake On Lan dans le bios du pc de bureau à réveiller (indispensable)

2) Activer la réception de paquets magiques dans les propriétés de la carte réseau Ethernet du pc de bureau à réveiller :

3) Facultatif : Sous Windows 10 : « Panneau de configuration > Matériel et audio > Options d’alimentation > Paramètres système > Définir l’action des boutons d’alimentation… > Modifier des paramètres actuellement non disponibles » et décocher « Activer le démarrage rapide ». On peut aussi cocher « Veille prolongée » si on veut faire apparaître l’option de veille prolongée dans la barre des tâches. Ce point 3) n’est pas requis pour un Wake On Wan depuis Raspberry Pi.

4) Rebooter le PC

5) Faire un premier test en réveillant le PC en Wake on Lan depuis son smartphone avec l’appli WolOn. Dans l’appli, entrer le nom de l’ordinateur à réveiller, mettre son adresse Mac; dans le champ « Broadcast », renseigner « 192.168.1.255 » puis sélectionner le port UDP n°9. Si le BIOS/UEFI et la carte réseau ont été correctement configurés, le PC doit se réveiller à l’exécution du Wake on Lan. On peut alors continuer et passer au point 6. Si ça ne marche pas, vérifier que les paramètres UEFI du PC, ceux de la carte réseau ainsi que les données renseignées dans l’appli sont corrects (cf. étapes précédentes).

6) Ouvrir un compte (gratuit) Dyndns pour interfacer l’adresse IP de la Livebox avec l’URL de son choix. Cette étape est indispensable car l’adresse IP de la Livebox change régulièrement et, quand on est hors domicile, on ne peut donc pas pénétrer dans son réseau local si l’on ne la connait pas. Le compte Dyndns va nous permettre d’avoir une URL fixe, même si l’IP de la box change. Pour ce faire, créer un compte Dyndns et renseigner un login et un mot de passe. Ce service est gratuit, à condition de valider une fois par mois son adresse Dyndns en l’activant depuis un mail que l’on reçoit :

II) Configuration du Wake on wan sur la Livebox

7) Aller dans l’interface de la Livebox (192.168.2.x). Puis dans « Réseau > DynDNS », spécifier : nom de service, nom d’hôte, email utilisateur et mot de passe. Cela créé l’interface DynDNS sur la Livebox.

8) Recommandé : profiter de cette configuration Dyndns pour activer l’administration de la Livebox à distance dans « Mon accès à distance ». Préciser un nom d’utilisateur/mot de passe distant ainsi qu’un port d’écoute. Attention, pour accéder à la Livebox à distance, il est indispensable d’utiliser le préfixe https:// devant l’adresse DynDNS dans la barre d’adresse du navigateur, sinon cela ne fonctionnera pas.

9) Dans « Livebox > Réseau > DHCP », vérifier que le routeur Archer dispose d’une adresse IP fixe (192.168.2.y), et que cette adresse IP est bien associée à sa propre adresse Mac :

10) Dans « Livebox > Réseau > NAT/PAT », on ouvre le port SSH afin de pouvoir contrôler à distance le Raspberry Pi 3. Cela va permettre d’accéder à l’invite de commande du Pi 3 lorsque l’on est hors domicile. Dans mon cas, j’ouvre le port interne/externe XXXX en TCP sur la Livebox, pour accéder au Rasberry Pi 3. Cela va permettre au routeur Archer d’écouter le port XXXX, et de rediriger les infos vers le port 22, pour communiquer avec le Raspberry Pi 3 de mon LAN.

11) Recommandé : en profiter pour ouvrir un port NAT/PAT sur la Livebox afin de pouvoir par la suite administrer à distance le routeur Archer. Dans mon cas, j’ai ouvert le port ZZZZZ avec protocoles TCP et UDP, qui s’applique sur le routeur Archer.

12) Facultatif : même si l’intérêt est inexistant sur Livebox, on peut également ouvrir un port NAT/PAT n°7 et un port NAT/PAT n°9 sur sa box Internet, pour déclencher l’allumage du PC à distance. Cela ne fonctionne pas sur Livebox (car la Livebox supprime l’adresse Mac du PC à réveiller de sa table ARP dès que le PC est éteint) mais cela devrait fonctionner sur une Freebox (à tester). Dans mon cas de figure, j’avais ouvert les ports interne/externe UUUU et VVVV, qui redirigent ensuite vers les ports UDP n°7 et n°9 afin de réveiller le PC. Sauf que, dans la pratique, cela ne marche que quelques secondes, tant que la table ARP de la Livebox n’est pas flushée. A partir du moment où « Mon-PC » (= le pc de bureau à réveiller) est éteint, la Livebox le sort de sa table ARP et il devient impossible d’envoyer un paquet magique depuis l’extérieur du domicile pour allumer le PC => d’où la solution de passer par le Raspberry Pi 3.

III) Configuration du Wake on wan sur le routeur Archer

13) On poursuit la configuration, mais cette fois dans l’interface d’administration du routeur Archer : « Configuration avancée > Network > Serveur DHCP > Réservation d’adresses » et on spécifie les adresses Mac des périphériques pour lesquels on a attribué des IP fixes. Cela permet de créer des baux permanents dans la table ARP du routeur Archer, afin d’accéder à tout moment aux périphériques ayant des adresses IP fixes. En l’occurrence j’ai réservé l’adresse IP fixe 192.168.1.c au Raspberry Pi 3 qui me sert pour réveiller l’ordinateur de bureau. On fait l’association IP fixe avec l’adresse Mac WiFi du Raspberry (et non pas son adresse Mac Ethernet), que l’on obtient par la commande Unix depuis l’invite de commande :
cat /sys/class/net/wlan0/address sur le Raspberry Pi.

14) Toujours sur le routeur Archer, dans « Configuration avancée > Network > DNS Dynamique », on fait l’association avec le service DynDNS créé au 6) :

15) Sur l’Archer, dans « Transferts NAT > Serveurs Virtuels », on configure les redirections de port permettant d’accéder à distance à l’invite de commande du Raspberry Pi 3 via SSH. On rajoute donc une ligne avec le service « SSH Raspberry Pi 3 », avec ouverture du port externe XXXX qui redirige vers le port interne 22 (comme expliqué au 10)). On l’applique sur les protocoles TCP et UDP :

16) Sur le routeur Archer, dans « Sécurité > Association IP&MAC », on créé une association permanente entre l’adresse Mac du Raspberry Pi 3 qui va réveiller l’ordinateur de bureau (« Mon-PC »), et l’adresse IP fixe qu’on lui a attribuée (192.168.1.c) :

17) Recommandé : comme réalisé sur la Livebox en 8), on ouvre maintenant un port pour pouvoir administrer à distance le routeur Archer : « Outils système > Administration » puis :

18) Facultatif : maintenant que la Livebox et le routeur Archer sont correctement configurés, on peut effectuer un export du fichier de sauvegarde de ces deux périphériques afin d’avoir un backup si un jour il y a un problème matériel.

IV) Configuration du Raspberry Pi 3

19) On passe maintenant sur le Raspberry Pi 3. Pour cette étape, je présume que le Raspberry Pi 3 est fonctionnel, que la dernière version de l’OS du Pi est installée (recommandé : NOOBS) et que toutes les dernières mises à jour ont été effectuées. Pour plus d’informations, voir le site officiel du Raspberry Pi.

20) On procède maintenant à l’attribution d’une adresse IP fixe sur le Raspberry Pi 3 : sur le bureau du Pi, on fait un clic droit sur l’icône WiFi de la barre des tâches, puis dans le menu « Interfaces », on choisit d’abord Wlan et on attribue une IP fixe :
a- IP : 192.168.1.c (la même que celle spécifiée dans les paramètres du routeur Archer)
b- Masque de sous-réseau : 255.255.255.0
c- DNS primaire : 8.8.8.8 (DNS Google primaire)
d- DNS secondaire : 8.8.4.4 (DNS Google secondaire)

21) On relie physiquement le pc de bureau à réveiller au Raspberry Pi 3 à l’aide d’un câble Ethernet (RJ45).

22) On attribue ensuite une adresse IP fixe au pc de bureau à réveiller sur l’interface câblée de la carte réseau (et non pas sur l’interface Wi-Fi de la carte réseau). Pour ce faire, j’ai attribué au pc de bureau l’adresse IP fixe : 192.168.137.b avec le masque de sous-réseau 255.255.255.0 :

23) S’assurer que les options de réception de paquets magiques sont bien activées pour cette interface réseau (cliquer sur le bouton « Configurer » puis sur « Gestion de l’alimentation »), cf. 2) du tutoriel.

24) Pour info, j’ai également attribué une adresse IP fixe au pc de bureau à réveiller sur l’interface réseau Wi-Fi. Cette adresse IP fixe est : 192.168.1.a. Ce point n’affecte pas du tout le Wake On Wan. C’est juste pour mon organisation dans le LAN.

25) On va ensuite attribuer une IP fixe sur l’interface Ethernet du Raspberry, pour que le Raspberry puisse envoyer les paquets magiques au PC de bureau :
a- IP : 192.168.137.d
b- Masque de sous-réseau : non renseigné
c- DNS primaire : non renseigné
d- DNS secondaire : non renseigné
Par ailleurs, on coche la « prise en charge automatique par le système des champs laissés vides ».

26) Important : pour information j’ai d’abord tenté l’expérience de relier le pc de bureau à réveiller à un Raspberry Pi 2 sur lequel était branché un dongle Wi-Fi : dès que je branchais le câble réseau sur le port LAN du Raspberry, le Wi-Fi se désassociait et je devais saisir à chaque reboot la clé WPA de la Livebox. J’ai fini par laisser tomber le Wake on wan depuis mon Raspberry Pi 2 au profit d’un Raspberry Pi 3 dans sa dernière distribution Noobs (toutes mises à jour effectuées). La double connexion réseau Internet Wi-Fi sur l’Archer d’un côté + connexion réseau câblée vers le pc de bureau à réveiller de l’autre a immédiatement fonctionné !

27) On installe ensuite sur le Raspberry Pi 3 l’utilitaire etherwake, qui va permettre d’envoyer des paquets magiques pour réveiller le pc de bureau. On entre donc la commande suivante :
sudo apt-get install etherwake

28) On peut ensuite réveiller le PC éteint depuis son Raspberry Pi 3 à l’aide de la commande :
sudo etherwake -i eth 00:00:00:00:00:00
Remarque : 00:00:00:00:00:00 doit bien sûr être remplacé par l’adresse Mac du port LAN du pc de bureau à réveiller.

29) Pour faciliter la procédure, on créé le script wakeonwan.sh en bash sur le Raspberry Pi 3, sans oublier de lui attribuer les droits 777 :
sudo chmod 777 wakeonwan.sh

30) Contenu du script en bash :
sudo nano wakeonwan.sh

31) Il suffit alors d’exécuter ce script pour réveiller le PC. On entre simplement la commande :
bash wakeonwan.sh

V) Accéder à l’invite de commande du Pi 3 de n’importe où

32) Pour accéder à l’invite de commande du Raspberry Pi 3 lorsque l’on est hors domicile, on installe le logiciel Putty sur le PC distant (donc hors du LAN) qui va contrôler le Pi 3. On configure Putty pour pouvoir accéder au Raspberry en spécifiant l’adresse DynDNS créée en 6), et le port SSH créé sur la Livebox (cf. 10)) ainsi que sur le routeur Archer (cf. 15)) :

33) Si je suis dans mon réseau local (= LAN), je peux accéder à l’invite de commande du Raspberry Pi 3 en utilisant l’une des deux adresses IP fixes que j’ai paramétrées dans ce tutoriel :
A) Accéder à l’invite de commande du Pi 3 via réseau câblé depuis le pc qui doit être réveillé :

B) Accéder à l’invite de commande du Pi 3 par réseau Wi-Fi, depuis n’importe quel périphérique de mon LAN :

34) Lorsqu’il reçoit le paquet magique provenant du Raspberry Pi 3, le PC à réveiller s’allume. Cela fonctionne quel que soit l’endroit où l’on se trouve dans le monde. La seule condition est que le Raspberry Pi 3 soit allumé en permanence et visible par la Livebox.

35) Pour être totalement serein en cas de défaillance du réseau électrique au domicile, on peut éventuellement brancher le Raspberry Pi 3, le PC à réveiller, le routeur Archer ainsi que la Livebox sur un onduleur. Cela permet d’avoir accès à son réseau local même s’il y a une coupure de courant au domicile.

VI) Réveiller son PC en Wake on wan depuis son smartphone

36) Pour simplifier la procédure, on peut exécuter le Wake on Wan depuis un smartphone à l’aide de l’application Android/iOS JuiceSSH.
Pour ce faire, après installation de l’appli :
a- Créer une nouvelle connexion
b- Dans adresse, indiquer : nom_choisi.noip.me spécifié lors de la création du compte Dyndns, cf. 6)
c- Créer une identité afin de se logger rapidement sur le Raspberry, donner un nom à cette identité
d- Dans port, indiquer : XXXX

37) Exécuter la connexion au Raspberry Pi 3 sous JuiceSSH : on peut alors lancer le bash permettant de réveiller le pc de bureau de n’importe où en France ou dans le monde, à partir du moment où l’on a accès à la 3G ou à la 4G. Les touches de volume du téléphone + et – permettent de zoomer dans l’invite de commande, pour une meilleure lisibilité.

38) Quand tout fonctionne avec le Raspberry Pi, on peut enfin faire un backup de la carte microSD du Raspberry Pi à l’aide de l’application Win32DiskImager (application disponible ici sur Sourceforge), pour pouvoir rappeler une sauvegarde du Raspberry Pi 3 en cas de problème avec la carte microSD.

Voilà, nous sommes arrivés au bout de la configuration, et vous devriez maintenant être capable de réveiller votre PC avec votre smartphone, et de n’importe où.

J’espère que ce tutoriel vous sera utile !

Climaxe