On Thu, 27 May 2004, Justin Ellison wrote:
> If you're using m0n0, and trying to WOL from the outside, I'd be shocked
> if it ever worked. I can get it to work on the local net no problem,
> but this post pretty well sums it up:
No it doesn't, since it seems to assume that the WOL packet *must* be sent
as a broadcast.
> FreeBSD will not forward broadcasts between interfaces.
Local hardware broadcasts should of course *never* be forwarded. But
directed broadcasts should be routable in principle, and if it doesn't
even have an *option* to forward them, then that's a crock. Accepting
directed broadcasts from "the world" is usually undesirable, but locally
they can be useful. And a better way to avoid "smurfs" is for ping
servers to ignore directed-broadcast requests. Personally, I think ping
servers *should* respond to *local* broadcasts, but I seem to be in the
> I tried a few different ways of sending the packet from from m0n0
> itself, but ran into many walls. There is a way to do it PHP, but only
> if PHP is compiled with --enable-sockets, m0n0 isn't. You can do it
> Perl, but there isn't any Perl on m0n0. I found a utility in ports
> called wol, but I get an error on libgnugetopt.so.1 not being found
> after uploading it. If someone knows a little about compiling source
> for m0n0, I'd be happy to listen...
Write a little program in any language that can be compiled rather than
interpreted (e.g. C), build it under FreeBSD, and upload it to m0n0wall.
Though if you build it under a newer FreeBSD, you may need to link it
statically to avoid depending on newer libraries. I'd try it dynamic
first and see what happens.