The key that Wake-On-LAN across subnet is IP Broadcast Address. There are
several things one should note to make Wake-On-LAN work properly.

(1) Make sure Wake-On-LAN commands (Magic Packet) can reach the targets.
Boot the target computer and run a packet sniffer on it and start capturing
packet. Then from your computer send Wake-On-LAN commands to the destination
by using Wake-On-LAN function. Check the sniffer whether it has captured the
Wake-On-LAN data. If it has you would be able to send Wake-On-LAN command to
this computer across subnet.

(2) If the target computers cannot be reached, send Wake-On-LAN commands to
router that the target subnet is directly attached to. You need configure
the router yourself. Please read router's user manual for how to broadcast
the Wake-On-LAN data into target subnet so all computers are able to receive
Wake-On-LAN data.

(3) The source port LanHelper uses in Wake-On-LAN command is port 9810 and
the destination one is port 2304. So if you are using a firewall you need to
open the ports for UDP traffic.

(4) You should use unicast address or directed broadcast address. Directed
broadcast address is an Internet Protocol address that specifies all nodes
on a specified network. For example, send Wake-On-LAN commands to
192.168.10.255 so they can reach all nodes in the 192.168.10.x subnet. For
all nodes on the specified network to receive the directed broadcast, each
router attached to the network must have enabled directed broadcast.

(5) If the target computers are very difficult to receive Wake-On-LAN data,
another choice is use HUB in your network. For example, computer A and B all
connect to one same HUB. A is powered down while B is running. When using
unicast to send Wake-On-LAN commands to B, computer A and B will all receive
the data at the same time. An old, second-hand HUB will help.