I want to make a setup like this:

(Source:
http://www.gslab.com/blogs/item/133-overlay_network_virtualization_sdn)
Details: I have 3 servers running multiple VMs using KVM. I want to connect these VMs into one network, so they can communicate with each other securely. I don't want them on separate LANs (yet). The servers are connected over internet, the VMs should also connect to the internet. The VPN is there so the communication between the physical machines over the internet is secured. I don't wand SDN/Cloud/[YourBuzzwordHere], I just want to connect these three machines.
1. Is OpenVPN the best choice for this?
2. Is there a tutorial how to do this? I found one for tinc, but none for OpenVPN for this specific use case.
Thanks in advance.