Skip to content

Instantly share code, notes, and snippets.

@ebta
Last active June 10, 2024 10:22
Show Gist options
  • Save ebta/301f286fa9056d67e61bfc7cedd4ad56 to your computer and use it in GitHub Desktop.
Save ebta/301f286fa9056d67e61bfc7cedd4ad56 to your computer and use it in GitHub Desktop.
Easy way setup or install VPN OpenVPN on Ubuntu 20.04

1. Update your system

First, run the apt command to apply security updates:

sudo apt update
sudo apt upgrade

2. Download and run openvpn-install.sh script

DOwnload installation script using short url as follow and update chmod :

wget https://git.io/vpn -O openvpn-ubuntu-install.sh
chmod -v +x openvpn-ubuntu-install.sh
sudo ./openvpn-ubuntu-install.sh

Select UDP (recomendded), Port default, DNS use 1.1.1.1 or Google, client name, just give some name for example client-vpn, then openvpn will generate file client-vpn.ovpn in the /root directory

3. Check status, start, stop or restart service

sudo systemctl status openvpn-server@server.service
sudo systemctl start openvpn-server@server.service
sudo systemctl stop openvpn-server@server.service
sudo systemctl restart openvpn-server@server.service

4. Using opvn file

On Windows, install OpenVPN GUI and load client-vpn.ovpn file. From taskbar, right click OpenVPN icon and select appropriate vpn and click connect. OpenVPN will generate private/local IP addresses such as 10.8.0.1/32

5. Test/Verify connection

ping 10.8.0.1 #Ping to the OpenVPN server gateway
ip route #Make sure routing setup working
## the following must return public IP address of OpenVPN server ##
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

6. Add or remove a new VPN user with a certificate

You need to run the same script again for adding or removing a new VPN user to TLS certificate. For instance:

$ sudo ./openvpn-ubuntu-install.sh

This is summary from Ubuntu 20.04 LTS Set Up OpenVPN Server In 5 Minutes

@duzenko
Copy link

duzenko commented Jun 10, 2024

Ubuntu 22.04 or higher is required to use this installer.
This version of Ubuntu is too old and unsupported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment