[ previous ] [ next ] [ threads ]
 
 From:  Fred Wright <fw at well dot com>
 To:  m0n0wall at lists dot m0n0 dot ch
 Subject:  Re: SV: [m0n0wall] WOL client
 Date:  Thu, 27 May 2004 19:39:57 -0700 (PDT)
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:  
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=3CE12EB9.8030508_asdis.de%40ns.sol.net&rnum=10&prev=/groups%3Fq%3Dforward%2520broadcasts%2520freebsd%26hl%3Den%26lr%3D%26ie%3DUTF-8%26sa%3DN%26tab%3Dwg

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
minority.

> 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.

					Fred Wright