OpenVPN
For SARWAI's purpose of creating a modular network, a common network needs to be establish for which all other ROS machines will be conntected through. The OpenVPN will be setup server side. The setup and steps will are found here: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04#step-1-install-openvpn
For this setup Persistent IP tables rules may need to be set. Information and setup can be found her: http://dev-notes.eu/2016/08/persistent-iptables-rules-in-ubuntu-16-04-xenial-xerus/
The IPs created from both the server and the clients will need to be attached to the environment variable
$ROS_MASTER_URI
$ROS_IP
Once OpenVPN is setup the following commands will be run to Start the Network
Server Command:
sudo systemctl start openvpn@server
Client Command
sudo openvpn --config client1.ovpn
NOTE: For the Setup of OpenVPN Tunneling was used over TAP, as the complexity of Tunneling was lesser. TAP is not insured to work.