Linux Wake-on-LAN setup for worldwide remote PC power on.

1 minute read

Wake-on-LAN can also work worldwide (over WAN Internet), in case your PC 10,000 km away gets turned off accidentally. To turn on a target PC from anywhere in the world, first you need to setup the target PC and router port forwarding (or have a VPN to the target subnet).


For simplicity/clarity we assume the following arbitrary parameters, which will be unique for your target Linux PC:

target interface target PC static LAN IP target public WAN IP public WoL port forward target MAC
eth0 10009 00:11:22:33:44:55

1. remote Linux PC

  1. install ethtool
    apt install ethtool
  2. add the following line to /etc/network/interfaces under the interface you want to control auto eth0
    up ethtool -s eth0 wol g
  3. edit /etc/init.d/halt, changing text near top to:

    instead of yes.

  4. edit/create /etc/default/tlp with line
  5. note link/ether for eth0–this is MAC address
    ip a
  6. Reboot target PC, then shutdown target PC for testing

2. setup control PC

On your laptop:

apt install wakeonlan

3. Test Wake-on-LAN while on same LAN

on your control PC (while on the same LAN)

wakeonlan 00:11:22:33:44:55

using the MAC address of the target PC of course.

If PC didn’t turn on, ensure BIOS/UEFI settings have Wake On Lan enabled. Try a discrete Intel Ethernet NIC.

setup worldwide Wake-on-LAN

To wake-on-LAN from anywhere in the world, using example parameters at top and after doing the procedure above, further do:

  1. Router: port forward 10009 to port 9
  2. To use without Dynamic DNS service, have the PC auto-send email when the public IP address changes.
  3. From your control PC on a different network type in Terminal:
    wakeonlan -i -p 10009 00:11:22:33:44:55

    and target PC should power on.


Leave a Comment