I need to connect several servers on various public IPs together to form a virtual encrypted network, where ports and services on the servers are accessible only to those servers in the network and where all communication is authenticated and encrypted.
One obvious solution is VPN made of IPs in one of the private ranges, say 10.1.0.0/16. But this requires assigning each server additional IP address, which I'd like to avoid.
Is it possible to use e.g. OpenVPN or other software to create such network of public IPs, without assigning new IPs from private range?