Create a openVPN server on Google Cloud Platform to connect to your Google Cloud network using openVPN and/or to route your internet traffic through the VPN (Road Warrior Scenario)
- Create new instance in default network
- Chosse Ubuntu 16.04 LTS
- Check "Allow HTTP traffic" and "Allow HTTPS traffic"
- Add the tag "vpn-server"
- Enable IP forwarding
- Add static external IP
- Create a dns-record for the new static IP
- Connect to your instance using SSH
echo 'deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse' > /etc/apt/sources.list.d/mongodb-org-3.2.list
echo 'deb http://repo.pritunl.com/stable/apt xenial main' > /etc/apt/sources.list.d/pritunl.list
echo "[Unit]\nDescription=High-performance, schema-free document-oriented database\nAfter=network.target\n\n[Service]\nUser=mongodb\nExecStart=/usr/bin/mongod --config /etc/mongod.conf\n\n[Install]\nWantedBy=multi-user.target" > /lib/systemd/system/mongod.service
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 42F3E95A2C4F08279C4960ADD68FA50FEA312927
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
apt-get update
apt-get install pritunl mongodb-org
systemctl start pritunl mongod
systemctl enable pritunl mongod
- Create a setup key:
pritunl setup-key
- Connect to https://YOUR_DOMAIN
- Enter the setup-key
- Update username and password
- Check "Public Address"
- Add YOUR_DOMAIN to "LetsEncrypt Domain"
- Save
- Open Users-Tab and add a new organization
- Add a user to the new organization
- Open Servers-Tab and select "Add server"
- Choose a name for the new server and a Port (you can use the default port)
- Optional: Click on advanced and disable "Restrict routing" if you do not want to route all client-traffic through the VPN
- Select "Attach Organization" to add the server to your organization
- Optional: Add a route to your Google Cloud network(s)
- Optional: Remove the default route "0.0.0.0/0" if you do not want to route all client-traffic through the VPN
- Select "Start Server"
- Download the openvpn-config using the download-icon next to the user on the Users-Tab
When you asked to add
vpn-server
tag, did you meant to add a step for creating the rule in Firewall Rules for the specific protocol and port used by the VPN server or is it something that already exists? Because even though we can seehttp-server
andhttps-server
tags in Firewall Rules, there's nothing likevpn-server
.And thank you very much for this guide; it's life-saving!