I'm running 4 hosts behind 4 different NATs in the same zerotier-virtual-network and never had any issues. By far the easiest way to accomplish connecting different hosts behind different NATs. No config whatsoever required!
Once you have two NATs, you can either try to punch holes (ZeroTier tries that), use UPnP (ZeroTier does - see below) or relay traffic using dedicated machines (ZeroTier does that as fallback). I successfully used ZeroTier to connect multiple devices behind NATs.
VPNCloud seems to only do UDP hole punching and doesn't have the ability to relay via a third party. At least in theory, ZeroTier should handle cases that VPNCloud doesn't.
I think zerotier does UPnP too (read somewhere), though I could not get zerotier to work reliably with 2 NATs. I'll try this and tell if I see any success with this.
Having two NATs is really the only case worth mentioning. Considering almost all internet traffic involves at least one NAT, if you can’t handle a single NAT case, you’ve got issues!
I have ZeroTier running behind a variety of different NATs and haven't had any issues at all. It also seems to do a good job of having hosts on the same network talk directly over their private IPs.
Do you mean when one peer is behind multiple layers of NAT? If so that's not a situation I have myself, but I'll keep in mind.
For regular nodes behind a single NAT I've personally found it worked remarkable well. Maybe I've been lucky on UPnP support with routers or something though.
I haven't experienced that. At home I currently have a Google WiFi in NAT mode behind a Nokia Fiber ONT also in NAT mode (eventually plan to switch to bridging mode after some networking reorganization).
I haven't run into any ZeroTier issues in this config.