Route ip directed broadcast packet to it's associated subnet?


  • I've been trying to set it up so that one of my server VM's can wol my home desktop via a remote control app's interface when in a s5 state.

    The server address is 192.168.4.22 and the desktop is 192.168.3.157

    Is it correct that by design packets addressed to the broadcast address 192.168.3.255 within .4.0 vlan cannot be routed or redirected to the interface for .3.0?

    If that isn't doable, unicast WOL does make it through but only works if the system is in a sleep state and has an ip (of course)
    Would it be possible to forward UDP traffic from a specific host on a specific port to a subnet's broadcast address instead?
    I.E. forward a packet from that server with a destination of 192.168.3.0/24:9 to 192.168.3.255:9 and broadcast it?


  • @gawainxx
    I cannot answer your question, but maybe give another solution.

    You can run the wol command on pfSense itself. Since pfSense is the router, it can send broadcasts to any network connected to it.
    If you want to wake up the machine to a specific time you can simply add a cron job after installing the cron package. The command is:

    wol -i <broadcast-address> <MAC>
    

    As I needed to use this in a script and I'm not familiar with FreeBSD scripting, I ran that command on a Windows machine via SSH using putty:

    plink.exe -ssh root@<pfSense-IP> -i "PrivateKey.ppk" wol -i <broadcast-address> <MAC>
    

    Possibly that's a solution for you.


  • @viragomann
    That's essentially what I'm having to do at the current moment.
    I'm having to initiate a remote desktop session to a server and then log in to the router's webUI and use the WOL step from it.

    I'm hoping to remove that step from things and be able to directly WoL my desktop from Splashtop itself.


  • @gawainxx
    What’s the problem with doing that via SSH? You can put that in a shell script and run it on any machine which can reach the router in your network. You can also link it with a shortcut and run it by a mouse click.


  • @viragomann
    still requires that I remotely access the server, authenticate and then run the command which is a bit of a hassle. I also wanted to figure out a low-touch solution because we've had occasional WoL related issues at work.

    I was able to figure out a solution though.

    I created a DHCP reservation and static ARP entry on my client device network for an unused IP, 192.168.3.254 and MAC of FF:FF:FF:FF:FF:FF
    I then created a port forwarding rule on my server device subnet that redirects any UDP port 9 traffic destined for a device on the client device network to 192.168.3.254:9 . This causes the packet to be sent as broadcast.