Hi all,

I just joined this forum to ask you guys about some routing I want to have done. My Linux knowledge, and therefore my linux routing knowledge is not what it should be.

I have a linksys ag241v2 ADSL2+ router. I want to be able to wakeup on WAN. As I see it there are 2 possibilities:

1) Add a static route to the PC that needs to be waked up. I already achieved this via:
ip neighbor change 192.168.1.xxx lladdr ff:ff:ff:ff:ff:ff nud permanent dev br0
This works but after say a day it doesn't anymore (I believe even less). Which I find kind of strange cause when it doesn't work from internet and I get back home and take a look at the ARP the destination address is still sitting there (when the PC is still off). When I then wake it up from LAN it does wakeup.

2) Make it so that all traffic coming in on port 9 UDP is broadcasted in the network.
This one I prefer because this'll make things easily extendible with more PC's.
For, I guess, security reasons this can't be done via the webconfig of this router

I'm really clueless of how to get this right. I found this website:
Guide to IP Layer Network Administration with Linux
It has an overview of lots of possible routing commands. I did a Cisco course a couple of years back but I kinda forgot most of it.

Could you guys please help me out with this? I'd really, really appreciate the effort!

If I'm totally missing the point here than any other suggestions to get this right are welcome too.

p.s.
To clarify Wakeup on LAN is working perfectly fine all the time. So it's no issue on the OS configuration side (which is windows XP btw)

p.s.2
I found this post here and already found this solution somewhere else. It suggests changing subnets so the broadcast address changes with it. I tried this offcourse but for me this doesn't seem to work at all. Using the magic packet sniffer I see no magic packets arriving on the PC while having my router configured this way.

Edit:

After a bit more research I think I know the cause of solution 1 only working for a set amount of time. The command I posted adds stuf to the ARP cache, which is flushed periodically I guess...