Skip to main content

Deploy Access Server on Microsoft Azure Using an ARM Template

Abstract

Deploy OpenVPN Access Server on Azure using an ARM (Azure Resource Manager) template — covers launching the template from the Azure portal, configuring your virtual machine parameters, and completing initial Access Server setup.

Overview

Deploy OpenVPN Access Server on Microsoft Azure with an Azure Resource Manager (ARM) template generated from the Access Server Hub.

Access Server provides several deployment options for Microsoft Azure. This guide covers the ARM Template option that allows you to:

  • Deploy Access Server without manually installing the software.

  • Configure the Azure VM and networking for your environment.

  • Connect directly to the web-based Admin Web UI.

  • Complete initial Access Server configuration using the onboarding wizard.

Tip

Refer to our system requirements to ensure your system works with Access Server.

🚀 Deploy Access Server using the ARM template

Use the OpenVPN Azure Resource Manager (ARM) template to deploy a preconfigured Access Server virtual machine (VM) and its required Azure resources.

The ARM template automates the initial Access Server configuration and provides the Admin Web UI URL and temporary administrator password when deployment completes.

  1. Sign in to the Access Server Hub on our site or create a new account.

  2. Under Installation, select Azure.

  3. Select ARM Template.

  4. Select the OpenVPN subscription you want to use with the deployment.

  5. Select Launch Now.

  6. Sign in to your Microsoft Azure account if prompted.

    • Azure opens the ARM template deployment page.

  1. Configure the following settings:

    Setting

    Description

    Subscription

    Select the Azure subscription for the deployment

    Resource group

    Select an existing resource group or create a new one.

    Region

    Select the Azure region where you want to deploy Access Server.

    Virtual machine name

    Enter a name for the Access Server VM.

    VM architecture

    Select the architecture appropriate for your deployment.

    Virtual machine size

    Select an available VM size that meets your Access Server capacity and performance requirements.

    OS disk type

    Select the storage type for the operating system disk.

    OS disk size

    Select the disk size for the Access Server VM.

    Let's Encrypt Certificate

    Leave this selected to configure a browser-trusted Let's Encrypt certificate during deployment.

    Admin Username

    Enter the administrative username for the Azure VM. The default is azureuser.

    SSH public key source

    Create a new key pair, select an existing key stored in Azure, or provide an existing public key.

    SSH key

    Complete the SSH key configuration for the option you selected.

    Virtual network

    Select an existing Azure virtual network or create a new one for the deployment.

    Subnet

    Select the subnet where you want to deploy the Access Server VM.

    Note

    Azure VM size availability depends on your subscription, region, quota, and current Azure capacity. If your preferred size isn't available, select another suitable VM size or region.

  2. Select Review + Create.

  3. Wait for Azure to validate the template.

  4. Review the deployment Summary.

  5. Select Create.

Azure begins deploying Access Server and its required resources. The deployment creates resources such as:

  • Network security group.

  • Virtual network.

  • Public IP address.

  • Network interface.

  • Access Server virtual machine.

The deployment also generates a temporary password for the default Access Server administrator account.

When the deployment completes:

  1. Select the Outputs from the left menu.

  2. Locate the deployment outputs:

    • adminPortal — the URL for the Access Server Admin Web UI.

    • tempPassword — the temporary password generated for the openvpn administrator account.

  3. Open the adminPortal URL in your browser.

  4. Sign in with:

    • Username: openvpn

    • Password: The value shown for tempPassword.

    Note

    If you enabled the Let's Encrypt Certificate option, Access Server automatically configures a browser-trusted certificate during deployment. If certificate issuance isn't successful, you may see a browser warning for the self-signed certificate.

  5. Review the Access Server End User License Agreement (EULA).

  6. Select Agree.

    • The onboarding wizard displays for a new Access Server installation.

The onboarding wizard displays the first time you sign in after activation. It guides you through the initial access configuration and helps you test your first VPN connection.

  1. Select whether VPN clients should have:

    • Internet access through Access Server.

    • Access to private resources in your Azure virtual network.

    • Both, if appropriate for your deployment.

  2. If access to private resources is enabled, review the network CIDRs that Access Server detected.

  3. Verify that the detected networks match the Azure virtual networks that VPN users should access.

  4. Keep only the networks that VPN users should be allowed to access.

  5. Select Continue.

  6. Review the OpenVPN Connect download offered by the wizard.

    The wizard displays the download appropriate for the operating system of the device you're currently using.

  7. Select Download.

  8. Install OpenVPN Connect.

  9. Return to the onboarding wizard.

  10. Select Continue.

  11. The wizard displays a prompt while it waits for a VPN connection.

  12. Launch OpenVPN Connect on your device.

  13. Connect using the profile included.

  14. Confirm that the VPN connection succeeds.

  15. Return to the Admin Web UI.

  16. Select Finish Wizard.

    Tip

    You can also close the onboarding wizard by selecting the X if you prefer to skip these steps.

  17. After completing the wizard, the Admin Web UI opens and presents a short product tour covering:

    • The Client Web UI

    • Users

    • Access Controls

    • Authentication

    • Activation

After confirming that users can connect successfully, complete any operating system maintenance and security hardening required for your production deployment.

🕒 Change default time zone

  1. If the server uses a different time zone than you require, run:

    sudo dpkg-reconfigure tzdata
  2. Follow the prompts to select the appropriate time zone.

⏰ Verify time synchronization

Accurate system time is important for authentication, logging, certificates, and time-based one-time password (TOTP) authentication.

Before installing another NTP service, verify which time synchronization service is already active on the server and configure it according to your operating-system requirements.

🔄 Update operating-system software

  1. Keep the underlying Linux operating system current with security and software updates. For example, on Ubuntu servers, run:

    sudo apt-get update
    sudo apt-get upgrade
  2. Review the packages before applying updates in production and reboot the server when required.

🛡️ Further security recommendations

Review the security guidance that applies to your deployment:

Not every security recommendation applies to every installation. Review each tutorial against your deployment and security requirements.

In order for your instance to function properly if you use Routing as your mode of operation inside Access Server instead of NAT, ensure you turn on IP forwarding:

  1. From the Azure portal, enter network interfaces in the search box at the top.

  2. Select Network interfaces from the search results.

  3. Select the network interface of your Access Server virtual machine.

  4. Select IP configurations.

  5. Select the toggle to Enable IP forwarding.

  6. Select Save.

  7. The network interface change saves.

Note your private IP address here, as you will need it to create and assign a routing table, as explained below.

When you use Routing for your Access Server instead of NAT, ensure you create a routing table on Azure so that traffic to your VPN subnet is directed back to your VPN instance.

Create a route table

  1. Select Create a resource from your Azure portal.

  2. Search for "route table".

  3. Select the Route table from Microsoft when prompted and select Create.

  4. Select the Resource group with your VPN server.

  5. Enter a name for the routing table (choose any you would like).

  6. Select Review + Create then Create.

Attach the route table to your VM

  1. Navigate to your Access Server virtual machine's dashboard.

  2. Under Networking and Virtual network/subnet select the Vnet for your VM.

  3. Under Settings, select Subnets.

  4. Select the subnet used by your computing resources (may be called default).

  5. Select the Route table drop-down, and select your newly created routing table from the list.

  6. Select Save.

  7. Repeat this step for any additional subnets you may have under the same Vnet that the VPN server needs to communicate with.

Add routes

Now that the routing table is assigned, you need to add routes:

  1. Navigate to your new routing table.

  2. Under Settings of your route table, select Routes.

  3. Select Add.

  4. On the Add route page, enter a name, then the following:

    Address Prefix: 172.27.224.0/20

    Next hop type: Virtual appliance

    Next hop address: <enter the Private IP address you have noted from the previous step>

  5. Select OK when done.

  6. Select Add again to add a second record:

    Address Prefix: 172.27.240.0/20

    Next hop type: Virtual appliance

    Next hop address: <enter the Private IP address you have noted from the previous step>

  7. Select OK when done.

You've completed the routing table configuration.

Note

The 172.x.x.x IP addresses above are private IP addresses used by Access Server as the internal DHCP system.

Important

If you change your VPN subnets using the Admin Web UI, ensure you edit your routing table configuration as well.