SSH Tunneling with Tomato
hirahim.com
hirahim.com
As a side note, I'd personally recommend using a Linode (or another equivalent external hosting service) for this. A lot of ISPs get grumpy about reverse connections, assuming they don't use VPNs for their users in the first place, and beyond that, you have to deal with a dynamic IP most of the time. But that's just my personal experience.
As for the dynamic IP issue, Tomato can also be setup to work with a DynDNS account.