I like tinc for this purpose. It's a lot easier to set up than OpenVPN, and it does direct client-to-client communication without passing through the master.
Tinc doesn't really need a "master", per se - as long as it can connect to one of the hosts on the network, it will get the information about all of the hosts. But it's definitely useful to set it up with one server containing the config/keys for each host, and have every node just connect to that one. You could also have multiple "masters", which would keep everything working just fine if the main master goes down - each master would just need a copy of all of the keys.Can tinc be setup with a master so that it is easier to add new hosts to a large group?
Mun
You need a standard SSH tunnel for that. SSHuttle does other crap namely with IPtables that would cause massive breakage on remote server. SSHuttle is intended for a local workstation, period.I tried to connect VMs via SSHuttle before... I don't think it worked out as intended. :/