These two seem to be the closest to what I want:
http://www.ntop.org/n2n/
OpenVPN with Quagga (OSPF)
I will have servers behind routers/firewalls not in my control. Many may be ADSL or other budget connections. There may also be multi-layered NAT as there are nodes in China. I have control of the servers, and I can request access to their routers to forward ports (although it would be best if this is not required).
n2n seems like it would do what I want out of the box and transparently. The payment requirements and the not so clear "commercial use" worries me, as well as the feeling that it is a bit experimental. If n2n is reasonably stable (anybody with experience with n2n?), I figure it would be fun anyways to tinker with n2n on the side.
OpenVPN and Quagga come with most distributions, and are solid. I plan to do something similar to what n2n does, but with a set of eyes doing the work. The IT can do the load-balancing and failure-tolerance, putting up links when links go down just in case, or setting up rules. And/or writing scripts. Added benefit that I can set up routes that may be better than what n2n would find.
What would I be better off going with? Using and hacking n2n, or using OpenVPN and Quagga to do something similar to n2n?
I never used n2n so I can not comment on how well it would work. I have been part of a distributed VPN using OpenVPN and Quagga and I can tell you that it works extremely well and not very difficult to setup.
Have a look at Vyatta, they have a lot of IP services rolled into their software. They offer it as a commercial or community edition. You can either go with appliances, your own hardware, or VM. I've been looking at this and it seems pretty slick. I am pretty sure they are using a stream of Quagga for their routing engine.
They support IPSEC and SSL OpenVPN, as well as, Remote VPN (PPTP, L2TP, IPSec)
Good hunting.