AWS, Cloud Computing

4 Mins Read

A Guide to Setup AWS OpenVPN Server on an Ubuntu Machine

Voiced by Amazon Polly

Introduction to VPN and OpenVPN

Virtual Private Network, or VPN for short, is the ability to create a secure network connection when utilizing public networks. You may hide your online identity and encrypt your internet traffic with a VPN. Third parties will have a harder time monitoring your internet activity and stealing data as a result of this. Instantaneous encryption is used. By allowing the network to route your IP address through a specially set up remote server operated by a VPN host, a VPN can conceal your IP address. In other words, if you use a VPN to browse the internet, the VPN server becomes the source of your data. As a result, neither your Internet Service Provider (ISP) nor other parties will be able to see the websites you visit or the data you transmit and receive online. A VPN acts as a filter that “gibberish” all of your data. Even if someone were to obtain your data, it wouldn’t be useful.


In simple words, OpenVPN is a virtual private network system provided by AWS which creates secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. It implements both client and server applications.

More about OpenVPN here

Architecture Diagram


Customized Cloud Solutions to Drive your Business Success

  • Cloud Migration
  • Devops
  • AIML & IoT
Know More


  1. Ubuntu server 20.04
  2. Open Ports – 443,943, 1143,1194

Steps to Setup AWS OpenVPN Server on an Ubuntu Machine

Step 1: Update the server by using the following command

  1. sudo su
  2. apt update
  3. apt upgrade

Step 2: To Install all the required dependencies, execute the following command.

apt install ca-certificates wget net-tools gnupg

Step 3: Add OpenVPN server repository to server.

  1. wget -qO – | apt-key add –
  2. echo “deb focal main”>/etc/apt/sources.list.d/openvpn-as-repo.list
  3. apt update

Step 4: Install the OpenVPN server on your ubuntu machine.

apt install openvpn-as

Step 5: Once installation is done you will be able to see the following line on your terminal.

Admin https://<your-public-ip>:943/admin

Client https://<your-public-ip>:943

Step 6: we need to change the admin password which is created automatically for the OpenVPN server and set your password by using the following command.

passwd openvpn

Step 7: Copy the admin link and add your public IP instead of private IP and search on google https://<your-public-ip>:943/admin Then you will be able to see the below page.


Step 8: Then, click on proceed button. After that, you will be able to see the below page for OpenVPN.


Step 9: Once you logged in with the admin user go to Network Settings and replace the private IP with your Public IP and click on the Save Settings button at the bottom.


Step 10: After that Don’t forget to hit the Update running Server button on the top.


Step 11: Now go to the user management section and create a new user as a client. And click on the more settings button to add a password for the user and save it.


Step 12: Once the admin account setup is done, copy and paste the following link in incognito mode in the browser.

https://<your-public-ip>:943/ you will be able to see the below client page.


Step 13: Select the platform for client setup and download the VPN file.

Step 14: Install the VPN file.

Step 15: Before activating the VPN check your Device IP.

Step 16: Once installation is done, Open the VPN and add your OpenVPN server’s Public IP and Click on connect.


Step 17: Once the connection is established check your Device IP again. It should be the same as your Openserve instance Public IP.

Step 18: To test the VPN, create a new instance in a private subnet with only private IP in the same VPC in which your OpenVPN server is deployed.

Step 19:  Once a private instance is created add the private IP of your OpenVPN server to your private instance’s security group.


Step 20: Once the IP whitelisting is done, make sure your system is connected with VPN then go to your Command line (CMD) and try to ping the private IP of Your Private Instance by using the following command.

ping <private-ip-of-client>



A VPN connection creates a secure connection for you to the internet. Your entire data traffic is directed over an encrypted virtual tunnel using the VPN. When you use the internet, this masks your IP address, hiding its location from view for everyone. Additionally safe from outside threats. That’s because no one else can access the data in the encrypted tunnel because they don’t have the key, only you can. Using a VPN, you can access content that is geographically prohibited from any location in the globe. Not all countries offer all streaming services. Using the VPN, you can still get to them.

Get your new hires billable within 1-60 days. Experience our Capability Development Framework today.

  • Cloud Training
  • Customized Training
  • Experiential Learning
Read More

About CloudThat

CloudThat is also the official AWS (Amazon Web Services) Advanced Consulting Partner and Training partner and Microsoft gold partner, helping people develop knowledge of the cloud and help their businesses aim for higher goals using best in industry cloud computing practices and expertise. We are on a mission to build a robust cloud computing ecosystem by disseminating knowledge on technological intricacies within the cloud space. Our blogs, webinars, case studies, and white papers enable all the stakeholders in the cloud computing sphere.

Drop a query if you have any questions regarding AWS OpenVPN and I will get back to you quickly.

To get started, go through our Consultancy page and Managed Services Package that is CloudThat’s offerings.


1. Is the OpenVPN Server free?

ANS: – Access Server is free to install and use for a maximum of two simultaneous VPN connections, so you can test everything without having to pay first. For more users, you need to Purchase a License.

2. Which platforms are supported for OpenVPN?

ANS: – OpenVPN supports Windows, MAC, IOS, Android, Linux

WRITTEN BY Nikhil Ramrao Jadhav

Nikhil Jadhav is working as a Research Associate - DevOps. Nikhil has a bachelor's degree in Electronics & Telecommunications. He has experience in Azure, AWS, and Linux and a passion for Cloud computing & DevOps. Nikhil has work experience in DevOps tools like Terraform, Jenkins, and docker and is interested to learn new tools & technologies.



    Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!