top of page
Search
  • Jason Beattie

OpenVPN Configuration within Oracle Cloud

Updated: Apr 7

Author: Jason Beattie


We found issues when trying to configure openvpn within a private subnet. Whilst connecting over a public load balancer and connecting to the OpenVPN Client.


Here's how we solved it.


Architecture Overview:


As you can see from the below image we created:

  1. A Public Load Balancer this will sit within its own dedicated subnet.

  2. Private OpenVPN Access Server (OCI Marketplace Image) this will sit within its own dedicated subnet.

  3. Private Iaas Instance this will sit within its own dedicated subnet.


High Level Steps


1. Create a Public Load Balancer with the below configuration.

Listener Port​

Backend Set

​Backend Port

HealthCheck Port

Description

tcp/443

OpenVPN Access server

tcp/443

tcp/443

VPN Daemon

tcp/943

OpenVPN Access server​

tcp/943

tcp/943

OpenVPN Admin and Client Area

Ensure the Security lists have the following ingress and egress rules.



Load Balancer Security List

Please note Source is 0.0.0.0/0 for this test. Ensure you lock it down to your requirements.


Please note Source is 172.27.8.16/29 for this test refers to the OpenVPN subnet. Ensure you lock it down to your requirements.


OpenVPN Instance Security List


Please note Source is 172.27.8.0/29 for this test refers to the Load Balancer subnet. Ensure you lock it down to your requirements.



Please note Source is 0.0.0.0/0 for this test. Ensure you lock it down to your requirements.


Application Security List



2. Deploy your OpenVPN Instance from the Oracle Cloud Partner marketplace.

3. Once the Instance is deployed connect to the instance by your prefered method. Login using the openvpnas user. Follow the steps on screen. Below is the output from our output.


Welcome to OpenVPN Access Server Appliance 2.8.3

This system has been minimized by removing packages and content that are

not required on a system that users do not log into.


To restore this content, you can run the 'unminimize' command.


222 packages can be updated.

177 updates are security updates.


To run a command as administrator (user "root"), use "sudo <command>".

See "man sudo_root" for details.



OpenVPN Access Server

Initial Configuration Tool

------------------------------------------------------

OpenVPN Access Server End User License Agreement (OpenVPN-AS EULA)


1. Copyright Notice: OpenVPN Access Server License;

Copyright (c) 2009-2020 OpenVPN Inc. All rights reserved.

"OpenVPN" is a trademark of OpenVPN Inc.

2. Redistribution of OpenVPN Access Server binary forms and related documents,

are permitted provided that redistributions of OpenVPN Access Server binary

forms and related documents reproduce the above copyright notice as well as

a complete copy of this EULA.

3. You agree not to reverse engineer, decompile, disassemble, modify,

translate, make any attempt to discover the source code of this software,

or create derivative works from this software.

4. The OpenVPN Access Server is bundled with other open source software

components, some of which fall under different licenses. By using OpenVPN

or any of the bundled components, you agree to be bound by the conditions

of the license for each respective component. For more information, you can

find our complete EULA (End-User License Agreement) on our website

(http://openvpn.net), and a copy of the EULA is also distributed with the

Access Server in the file /usr/local/openvpn_as/license.txt.

5. This software is provided "as is" and any expressed or implied warranties,

including, but not limited to, the implied warranties of merchantability

and fitness for a particular purpose are disclaimed. In no event shall

OpenVPN Inc. be liable for any direct, indirect, incidental,

special, exemplary, or consequential damages (including, but not limited

to, procurement of substitute goods or services; loss of use, data, or

profits; or business interruption) however caused and on any theory of

liability, whether in contract, strict liability, or tort (including

negligence or otherwise) arising in any way out of the use of this

software, even if advised of the possibility of such damage.

6. OpenVPN Inc. is the sole distributor of OpenVPN Access Server

licenses. This agreement and licenses granted by it may not be assigned,

sublicensed, or otherwise transferred by licensee without prior written

consent of OpenVPN Inc. Any licenses violating this provision

will be subject to revocation and deactivation, and will not be eligible

for refunds.

7. A purchased license entitles you to use this software for the duration of

time denoted on your license key on any one (1) particular device, up to

the concurrent user limit specified by your license. Multiple license keys

may be activated to achieve a desired concurrency limit on this given

device. Unless otherwise prearranged with OpenVPN Inc.,

concurrency counts on license keys are not to be divided for use amongst

multiple devices. Upon activation of the first purchased license key in

this software, you agree to forego any free licenses or keys that were

given to you for demonstration purposes, and as such, the free licenses

will not appear after the activation of a purchased key. You are

responsible for the timely activation of these licenses on your desired

server of choice. Refunds on purchased license keys are only possible

within 30 days of purchase of license key, and then only if the license key

has not already been activated on a system. To request a refund, contact us

through our support ticket system using the account you have used to

purchase the license key. Exceptions to this policy may be given for

machines under failover mode, and when the feature is used as directed in

the OpenVPN Access Server user manual. In these circumstances, a user is

granted one (1) license key (per original license key) for use solely on

failover purposes free of charge. Other failover and/or load balancing use

cases will not be eligible for this exception, and a separate license key

would have to be acquired to satisfy the licensing requirements. To request

a license exception, please file a support ticket in the OpenVPN Access

Server ticketing system. A staff member will be responsible for determining

exception eligibility, and we reserve the right to decline any requests not

meeting our eligibility criteria, or requests which we believe may be

fraudulent in nature.

8. Activating a license key ties it to the specific hardware/software

combination that it was activated on, and activated license keys are

nontransferable. Substantial software and/or hardware changes may

invalidate an activated license. In case of substantial software and/or

hardware changes, caused by for example, but not limited to failure and

subsequent repair or alterations of (virtualized) hardware/software, our

software product will automatically attempt to contact our online licensing

systems to renegotiate the licensing state. On any given license key, you

are limited to three (3) automatic renegotiations within the license key

lifetime. After these renegotiations are exhausted, the license key is

considered invalid, and the activation state will be locked to the last

valid system configuration it was activated on. OpenVPN Inc.reserves the

right to grant exceptions to this policy for license holders under

extenuating circumstances, and such exceptions can be requested through a

ticket via the OpenVPN Access Server ticketing system.

9. Once an activated license key expires or becomes invalid, the concurrency

limit on our software product will decrease by the amount of concurrent

connections previously granted by the license key. If all of your purchased

license key(s) have expired, the product will revert to demonstration mode,

which allows a maximum of two (2) concurrent users to be connected to your

server. Prior to your license expiration date(s), OpenVPN Inc. will attempt

to remind you to renew your license(s) by sending periodic email messages

to the licensee email address on record. You are solely responsible for

the timely renewal of your license key(s) prior to their expiration if

continued operation is expected after the license expiration date(s).

OpenVPN Inc. will not be responsible for any misdirected and/or undeliverable

email messages, nor does it have an obligation to contact you regarding

your expiring license keys.

10. Any valid license key holder is entitled to use our ticketing system for

support questions or issues specifically related to the OpenVPN Access

Server product. To file a ticket, go to our website at http://openvpn.net/

and sign in using the account that was registered and used to purchase the

license key(s). You can then access the support ticket system through our

website and submit a support ticket. Tickets filed in the ticketing system

are answered on a best-effort basis. OpenVPN Inc. staff

reserve the right to limit responses to users of our demo / expired

licenses, as well as requests that substantively deviate from the OpenVPN

Access Server product line. Tickets related to the open source version of

OpenVPN will not be handled here.

11. Purchasing a license key does not entitle you to any special rights or

privileges, except the ones explicitly outlined in this user agreement.

Unless otherwise arranged prior to your purchase with OpenVPN,

Inc., software maintenance costs and terms are subject to change after your

initial purchase without notice. In case of price decreases or special

promotions, OpenVPN Inc. will not retrospectively apply

credits or price adjustments toward any licenses that have already been

issued. Furthermore, no discounts will be given for license maintenance

renewals unless this is specified in your contract with OpenVPN Inc.


Please enter 'yes' to indicate your agreement [no]: yes


Once you provide a few initial configuration settings,

OpenVPN Access Server can be configured by accessing

its Admin Web UI using your Web browser.


Will this be the primary Access Server node?

(enter 'no' to configure as a backup or standby node)

> Press ENTER for default [yes]:


Please specify the network interface and IP address to be

used by the Admin Web UI:

(1) all interfaces: 0.0.0.0

(2) ens3: 172.27.8.18

Please enter the option number from the list above (1-2).

> Press Enter for default [1]:


Please specify the port number for the Admin Web UI.

> Press ENTER for default [943]:


Please specify the TCP port number for the OpenVPN Daemon

> Press ENTER for default [443]:


Should client traffic be routed by default through the VPN?

> Press ENTER for default [yes]:


Should client DNS traffic be routed by default through the VPN?

> Press ENTER for default [yes]:


Use local authentication via internal DB?

> Press ENTER for default [yes]:


Private subnets detected: ['172.27.8.16/29']


Should private subnets be accessible to clients by default?

> Press ENTER for default [yes]:


To initially login to the Admin Web UI, you must use a

username and password that successfully authenticates you

with the host UNIX system (you can later modify the settings

so that RADIUS or LDAP is used for authentication instead).


You can login to the Admin Web UI as "openvpn" or specify

a different user account to use for this purpose.


Do you wish to login to the Admin UI as "openvpn"?

> Press ENTER for default [yes]:


> Please specify your Activation key (or leave blank to specify later):




Initializing OpenVPN...

Removing Cluster Admin user login...

userdel "admin_c"

Adding new user login...

useradd -s /sbin/nologin "openvpn"

Writing as configuration file...

Perform sa init...

Wiping any previous userdb...

Creating default profile...

Modifying default profile...

Adding new user to userdb...

Modifying new user as superuser in userdb...

Getting hostname...

Hostname: openvpn

Preparing web certificates...

Getting web user account...

Adding web group account...

Adding web group...

Adjusting license directory ownership...

Initializing confdb...

Generating PAM config...

Enabling service

Starting openvpnas...


NOTE: Your system clock must be correct for OpenVPN Access Server

to perform correctly. Please ensure that your time and date

are correct on this system.


Initial Configuration Complete!


You can now continue configuring OpenVPN Access Server by

directing your Web browser to this URL:


https://172.27.8.18:943/admin

Login as "openvpn" with the same password used to authenticate

to this UNIX host.


During normal operation, OpenVPN AS can be accessed via these URLs:

Admin UI: https://172.27.8.18:943/admin

Client UI: https://172.27.8.18:943/


See the Release Notes for this release at:

https://openvpn.net/vpn-server-resources/release-notes/



4. Ensure the date is correct.

openvpnas@openvpn:~$ date

Sat Jan 14 19:16:56 UTC 2023


5. Ensure you change the openvpn user

openvpnas@openvpn:~$ sudo passwd openvpn

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

openvpnas@openvpn:~$




At this point you are now able to connect to the admin console of the OpenVPN server over the GUI Interface.


NOTE: You will need to use the Load balancer IP address.


https://x.x.x.x:943/admin - for the admin console



https://x.x.x.x:943 - for the client login console




6. Login to the Admin page and navigate to Network setting. Here you need to change the VPN Server IP address or hostname to match that of the load balancer.




7. Disable the multi-daemon mode protocol and enable tcp only. Unless you have specific requirements and save your configuration.


8. Under VPN Settings ensure you define your private subnets you require access to.



9. Under DNS Settings we selected do not alter clients DNS settings. Please note you may have alternative requirements.


FInally, you are now able to download the OPENVPN client via the user console and downlaod the configuration file and connect.









143 views0 comments
Post: Blog2 Post
bottom of page