Jun 03

Enabling Wake-on-WAN via the Internet

It’s been difficult to gather the required steps to actually enable the ability to WoL (magic packet) via the Internet (also called Wake-on-WAN). This is extremely helpful if you have a remote media server as I do and would like to not have it running 24/7, but be able to access it whenever you would like.

I’ll start with saying that I have the Verizon ActionTec MI424WR FiOS router. Everywhere I looked had different directions, all of which I could never actually follow. So here are the directions, from start to finish, with the MI424WR firmware This is also me documenting my findings so that if I ever need to re-do this, I have step by step…

  1. First, you’ll need to log into your router. Typically this can be done by typing into a web browser. If you’re reading this, I really hope you know that.
    1. Default username is “admin” and the password is “password” Please note that the characters that actually appear in the password field will be obfuscated and not show what you actually type. This is for security, but most users just find it extremely annoying. Ignore what you see and just type. I HIGHLY recommend changing this password as you will be opening a firewall port to the open world.
    2. Also, make sure WOL is enabled via the BIOS and within Windows
      1. Windows Vista/7: https://support.microsoft.com/en-in/help/941145/unwanted-wake-up-events-may-occur-when-you-enable-the-wake-on-lan-feat
      2. Windows 8/8.1/10:
        1. Control Panel> Power Options> “Choose what the power buttons do”> -> “Change settings that are currently unavailable” -> shutdown settings section -> Turn on fast startup: Uncheck
        2. Device Manager (or Computer Management>Device Manager)> Network adapters> (Right-click your network adapter)> Properties> Power Management (Tab)> Check everything. (I need to further test this. It looks like Windows 10 (maybe 8.x as well) turns the NIC off after 10 minutes…)
  2. Port Forwarding:

    1. Once in, click Advanced at the top, and click Yes on the warning.
    2. Click Port Forwarding Rules
    3. Click Add
    4. Enter the following information
      1. Service Name: WoL-Remote
      2. Service Description: Allows Wake On LAN
      3. Add Server Ports:
        1. Protocol: UDP
        2. Source Ports: Any
        3. Destination Ports: Single (default for WoL is 9, but I highly recommend using another port that is not used normally. Typically something above 50000 is ok. The reason is that once you are done, any packet received on this port will be broadcasted to your entire LAN. Use a port that is not widely known or used.)
        4. Click Apply
      4. Click Apply
      5. Notice That WoL-Remote is now in the Port Forwarding Rules List.
  3. Firewall Settings:

    1. Click Firewall Settings and then Yes on the warning.
      1. On the left menu, click Port Forwarding
      2. You’ll see Create new port forwarding rule: Click the down arrow that says “IP Address forward to or select from menu” and select “Specify IP” in that field, type in (this IP must be the highest IP in your network scope. By default, it ends in .254, as stated above.)
      3. Then, set the Application to forward to “WoL-Remote” and click Add
  4. ARP Entry

    1. I’m sure there’s another way to do this part, but next we need to enter an ARP entry into the router’s table. Unfortunately, this ARP entry will NOT survive a router restart, so it will need to be re-entered after every router reboot. I have created a VB/batch script that automatically telnets into the router and creates the entry.The file is attached here: Arp Router Entry. The files must be in the same directory to work. Also, you must change the username/password to match your router’s.
    2. Go back to Advanced along the top of the router’s configuration window, and click Yes on the warning.
    3. Select Local Administration from the left part of the window. (MAKE SURE YOU GO INTO LOCAL AND NOT REMOTE)
      1. Select Using Primary Telnet Port (I’m sure you can use Secure Telnet over SSL, but I never played around with that option. Since I trust everyone on my LAN, I never really cared.) and click Apply.
    4. You will need to have a telnet client installed. Windows 7 has a client built-in, but it’s not installed by default. Directions to configure are located HERE. You can also use PuTTY if you’d like. I prefer the Windows native client since I can make scripts run easier. For the following steps, I’ll use Windows’ native client
    5. Open a command prompt and type in “telnet” (without the “quotes” and press enter.
    6. Wait a second and a Username: prompt will appear. Enter your router’s username and press enter. Do the same with your password.
      1. You know you’re right so far when you receive a prompt that shows “Wireless Broadband Router>”
    7. Type “system shell” (again without “quotes”) and press enter.
    8. From here, enter “arp -s FF:FF:FF:FF:FF:FF” (no “quotes”) and press enter
    9. You know you are correct when you type “arp” (no quotes) and press enter, and you see with the MAC of all FF’s next to it. You can then close the window.
  5. Testing/using WoL

    1. I use an Android app called WakeOnLan, which can be found HERE. This app is pretty cool because it can also create a widget so that you can wake your computer up by one touch.
    2. For this to actually work, you need your external IP address, which can be found HERE.
    3. Configure the app using the information requested.
      1. Note that when you enter the IP address, type in your external IP address found above. The port will be the port you entered above.
    4. Once you’re done, shut down your computer and test it out!