In this article, I cover another interesting pfSense feature: pfSense Wake-on-LAN. As you may know, Wake-on-LAN (WOL) is an Ethernet computer networking standard that allows a computer to be turned on or awakened by a network message. It was introduced in 1997 as a joint project by Intel and IBM. Wake-on-LAN is implemented using a specially designed packet called a magic packet, which is sent to the computer to be woken up. The magic packet contains the MAC address of the destination computer. Powered-downed or turned off computers capable of Wake-on-LAN will contain network devices able to listen to incoming packets in low-power mode while the system is powered down. If a magic packet is received that is directed to the device’s MAC address, the NIC signals the computer’s power supply or motherboard to initiate system wake-up, much in the same way as pressing the power button would do. The magic packet is sent on layer 2 of the OSI model (data link layer) and when sent, is broadcast to all attached devices on a given network, using the network broadcast address; layer 3 (the network layer) is not used. As a result, if you want to use Wake-on-LAN outside your current network, it requires special configuration. pfSense Wake-on-LAN provides the capability of either waking a computer from the local network or the Internet.
Enabling Wake-on-LAN on the Motherboard
In order to use Wake-on-LAN, your motherboard has to have a chipset that includes this feature. Most likely, you will have to enable Wake-on-LAN in your motherboard’s CMOS setup utility first. This is done by rebooting the computer and entering the CMOS setup utility (usually by holding down the Escape key or F2 or F10 during the boot sequence). Wake-on-LAN is usually found within “Power Management Setup” in the main menu of the CMOS setup utility. In any case, enter the appropriate submenu and scroll down until you find Wake-on-LAN (it might be called “WOL”, “Power on PCI”, or something similar), and enable it if it is not enabled already. Then save the settings and quit CMOS setup and reboot. In addition to enabling Wake-on-LAN on the motherboard, you may also have to enable it on your network card. In Windows, you can do this by browsing to the Device Manager (you can get there by navigating to Control Panel -> System, clicking on the Hardware tab, and pressing the Device Manager button, but there are other ways as well). Scroll down to your network card and double-click on it. You should be able to find the Wake-on-LAN feature by clicking on the Advanced tab and looking under Property. In Linux, you can configure your network card using the ethtool utility.
Configuring pfSense Wake-on-LAN
Now you can enable Wake-on-LAN in pfSense. To enable pfSense Wake-on-LAN, first navigate to Services -> Wake on LAN. Once there, press the “plus” button to add a WOL MAC address entry. At “Interface”, select the interface that contains the device. At “MAC address“, enter the device’s MAC address. At “Description“, add an appropriate description and press the “Save” button to save the changes. After you save the changes, it will take you back to the page you were at when you clicked on “Wake On LAN”. Here you will see a table with a list of all the stored clients. Click on the MAC address of any of the stored clients to send a magic packet, or enter the interface and MAC address at the top of the page and click on the “Send” button. In addition, there is a button in the middle of the page that will enable you to wake all the clients at once.
The Ultimate Wake-on-LAN Guide – contains a lot of useful information, especially about how to enable Wake-on-LAN on your motherboard. It includes a section on pfSense.