Jump toUpdate content

Installing the OpenVPN InstantApp

Reviewed on 10 May 2021Published on 11 June 2015
  • compute
  • apps
  • OpenVPN
  • VPN
  • Ubuntu

OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. The OpenVPN InstantApp is a fast and simple way to protect your online privacy and surf anonymously.

OpenVPN InstantApp comes with:

  • OpenVPN server
  • A client configuration profile to setup your client
  1. Click Instances in the Compute section of the side menu. The Instance creation page displays.

  2. Click Create an Instance. The Instance creation wizard displays.

    You can choose the NextCloud image in the InstantApps tab:

  3. Follow the remaining steps to create your Instance.

Create a VPN user

  1. Connect to your instance via SSH. The message of the day (MOTD) when you connect your server displays the path and the url to retrieve the VPN client file that we will use to connect to the VPN server.
Welcome on OpenVPN (GNU/Linux 4.4.114-mainline-rev1 x86_64 )
System information as of: Mon Feb 5 11:51:23 UTC 2018
System load: 0.04 Int IP Address: usage: 0.0% Pub IP Address: on /: 2% Swap usage: 0.0%Local Users: 0 Processes: 94Image build: 2017-08-03 System uptime: 1 minDisk vda: l_ssd 50G
Documentation: https://www.scaleway.com/docsCommunity: https://community.scaleway.comImage source: https://github.com/scaleway-community/scaleway-openvpn
It's the first boot, we are crafting your keys,this is going to take a long time... ~30m since the boot
Run this command to be notified when your service is ready:$ scw-ovpn status
  1. Create a new user with the scw-ovpn tool.
root@scw-942e6e:~# scw-ovpnThis wrapper helps you manage your openvpn server.Use these commands to create an user and get a link to its configuration:$ scw-ovpn create MYUSER$ scw-ovpn serve MYUSER
If you do not want to transfer your configuration over cleartext HTTP, type this command on your own machine:$ ssh root@ scw-ovpn show MYUSER > MYUSER.ovpn
You could also copy-paste the output of:$ scw-ovpn show MYUSER
Or even use port forwarding to tunnel your requests to the port the http server listens on when running '$ scw-ovpn serve ...'.
Choose the way you like and understand !
    $ scw-ovpn status    shows the status of the initial openvpn configuration
    $ scw-ovpn create CLIENTNAME    create a new certificate with name CLIENTNAME
    $ scw-ovpn list    list all available and revoked clients in separate lists
    $ scw-ovpn revoke CLIENTNAME    revoke the certificate for CLIENTNAME. This client will not be able to connect afterwards.
    $ scw-ovpn show CLIENTNAME    shows the openvpn config file for client CLIENTNAME
    $ scw-ovpn serve CLIENTNAME    starts an HTTP server you can download your openvpn client configuration from
    $ scw-ovpn add-instance PROTOCOL PORT ID    add an openvpn instance listenning on PORT with PROTOCOL.    protocol must be one of udp and tcp.
    $ scw-ovpn del-instance ID    removes the openvpn instance with subnet id ID
    $ scw-ovpn list-instances    list all running openvpn instances
  1. Run it with the following command:

    scw-ovpn create CLIENTNAME

    It will automatically generate the configuration for the client CLIENTNAME.

  2. Download the configuration file from your server either via SSH or by starting a HTTP server that provides an URL to download the files directly on your computer.

    scw-ovpn serve CLIENTNAME
    root@scw-942e6e:~# scw-ovpn serve ovpnYou can now download the openvpn client configuration at :
    > >> >> > > Press ENTER to stop serving the config file> > > Serving HTTP on port 4242 ...> > >
  3. Download the configuration file from the URL displayed in the MOTD. We assume that you have already installed a VPN client.

  4. Open the configuration with your VPN client.

  5. Start a new connection using the VPN profile we just installed once the configuration is loaded.

You are now connected and all your traffic is routed through the OpenVPN server. You can validate is fine by looking that your public IP match the public IP of the server.